klogd uses lseek on /dev/kmem. In case of an error this would return (off_t)-1 but the return value is considered an error if <0 which is inaccurate when large numbers are treated as a signed int.
try upgrading to a later syslogd (such as 1.3.31-*, from the errata). Does this solve the problem?
Upgrading to the latest available sysklogd solved this problem. Unfortunately this update was not officially announced and is not in the "new-kernel" updates directory.
The sysklogd update is actually in the regular 5.2 errata, IIRC. We'll probably throw a link from one to the other.