[syslog-ng] Interesting issue with syslog-ng 3.3

Gergely Nagy algernon at balabit.hu
Fri Sep 2 13:21:22 CEST 2011


Paul Krizak <paul.krizak at amd.com> writes:

> We had this problem at AMD.  The problem turned out to be that 
> /dev/console was attached to a device (an iLO in our case) that went 
> offline occasionally and would block on writes.  We fixed it by updating 
> our syslog-ng.conf to write to the console using a pipe() directive 
> instead of file().
>
> You may have something similar, especially if there are occasional 
> messages that get routed to /dev/console (or any other pipe/device that 
> may block).

I managed to reliably reproduce the problem, thanks to the above
suggestion:

source s_src { system(); tcp(port(12345)); };
destination d_xconsole { pipe("/dev/xconsole"); };
log { source(s_src); destination(d_xconsole); };

Throwing a few thousand logs on this while there's nothing listening on
the other end of /dev/xconsole will eventually hang syslog-ng 3.3, even
if I use pipe() instead of file(). Emptying /dev/xconsole will, as
expected, restore normal operation.

This used to work with previous releases, and judging by Paul's mail, it
works with whatever version they have (which, I assume, is not 3.3).

Since I never ever use xconsole, I just removed that destination from my
config, but the underlying bug should be fixed nevertheless (unless this
is the expected behaviour, which I doubt).

-- 
|8]



More information about the syslog-ng mailing list