Hello, I was wondering if anyone has specifically seen a problem when syslog-ng and klogd are running together and syslog-ng has /proc/kmsg as a source. I know that they should not be configured to access /proc/kmsg at the same time but before I could remove klogd from the startup script, syslog-ng has hung at a customer site and people (my boss) want proof that this is the cause of the situation. I can only speculate. It appears as though syslog-ng is hanging on a read() system call for the file descriptor to /proc/kmsg. Only around half the number of kernel messages are retrieved from the kernel buffer. The apps logging to syslog-ng will eventually hang. If new kernel data is generated (e.g. rmmod a module) at a later time, syslog-ng will wake up and logging is normal. Any proof or experience that klogd will cause syslog-ng to hang would be greatly appreciated. Could you please send mail directly to me (jfeeney@broadbus.com). Thank you so much. John Feeney -------------------------------------------------------- This email message and any files transmitted with it contain confidential information intended only for the person(s) to whom this email message is addressed. If you have received this email message in error, please notify the sender immediately by telephone or email and destroy the original message without making a copy. Thank you.
On Fri, 2005-01-07 at 12:11 -0500, John Feeney wrote:
Hello,
I was wondering if anyone has specifically seen a problem when syslog-ng and klogd are running together and syslog-ng has /proc/kmsg as a source. I know that they should not be configured to access /proc/kmsg at the same time but before I could remove klogd from the startup script, syslog-ng has hung at a customer site and people (my boss) want proof that this is the cause of the situation. I can only speculate.
It appears as though syslog-ng is hanging on a read() system call for the file descriptor to /proc/kmsg. Only around half the number of kernel messages are retrieved from the kernel buffer. The apps logging to syslog-ng will eventually hang. If new kernel data is generated (e.g. rmmod a module) at a later time, syslog-ng will wake up and logging is normal.
Any proof or experience that klogd will cause syslog-ng to hang would be greatly appreciated.
This is exactly the case, I've encountered this myself a couple of times. And this is the reason I've set /proc/kmsg to nonblocking mode so it should not happen again if you have a recent syslog-ng version. The problem is that syslog-ng is polling /proc/kmsg and poll reports readability, then syslog-ng tries to read /proc/kmsg not expecting it to block. But it does as klogd already fetched the message syslog-ng was woken up by. -- Bazsi
participants (2)
-
Balazs Scheidler
-
John Feeney