[syslog-ng] File descriptor leaks with 3.0.1

chris packham chris.packham at alliedtelesis.co.nz
Mon Feb 16 03:52:30 CET 2009


Hi,

We're running a test where syslog-ng gets frequently sighup-ed (about every 5 seconds) and what we are finding is that after a while (sorry don't know specifically how may times) we run into a problem where syslog-ng starts experiencing errors reading its config.

We are making use of the new 'include' feature (which is brilliant by the way).

Here's a snippet of the internal() log

2009 Feb 17 00:05:01 syslog.notice syslog-ng[838]: Configuration reload request received, reloading configuration; 
2009 Feb 17 00:05:04 syslog.notice syslog-ng[838]: Configuration reload request received, reloading configuration; 
2009 Feb 17 00:05:37 syslog.notice syslog-ng[838]: Configuration reload request received, reloading configuration; 
2009 Feb 17 00:05:43 syslog.notice syslog-ng[838]: Configuration reload request received, reloading configuration; 
2009 Feb 17 00:05:46 syslog.err syslog-ng[838]: Error opening include file; filename='/etc/syslog-conf.d/trace-cfg', depth='1'
2009 Feb 17 00:05:46 syslog.notice syslog-ng[838]: Configuration reload request received, reloading configuration; 
2009 Feb 17 00:05:47 syslog.err syslog-ng[838]: Error accepting new connection; error='Too many open files (24)'
2009 Feb 17 00:05:47 syslog.err syslog-ng[838]: Error accepting new connection; error='Too many open files (24)'

/proc/$(pidof syslog-ng)/fd is also hinting that the included files aren't being closed.

lr-x------    1 root     root           64 Feb 17 00:05 4042 -> /tmp/etc/syslog-conf.d/trace-cfg
lr-x------    1 root     root           64 Feb 17 00:05 4043 -> /tmp/etc/syslog-conf.d/1_standalone
lr-x------    1 root     root           64 Feb 17 00:05 4044 -> /tmp/etc/syslog-conf.d/buffered
lr-x------    1 root     root           64 Feb 17 00:05 4045 -> /tmp/etc/syslog-conf.d/console
lr-x------    1 root     root           64 Feb 17 00:05 4046 -> /tmp/etc/syslog-conf.d/email
lr-x------    1 root     root           64 Feb 17 00:05 4047 -> /tmp/etc/syslog-conf.d/host
lr-x------    1 root     root           64 Feb 17 00:05 4048 -> /tmp/etc/syslog-conf.d/permanent
lr-x------    1 root     root           64 Feb 17 00:05 4049 -> /tmp/etc/syslog-conf.d/stats
lr-x------    1 root     root           64 Feb 17 00:05 4050 -> /tmp/terminal
lr-x------    1 root     root           64 Feb 17 00:05 4051 -> /tmp/etc/syslog-conf.d/trace-cfg
lr-x------    1 root     root           64 Feb 17 00:05 4052 -> /tmp/etc/syslog-conf.d/1_standalone
lr-x------    1 root     root           64 Feb 17 00:05 4053 -> /tmp/etc/syslog-conf.d/buffered
lr-x------    1 root     root           64 Feb 17 00:05 4054 -> /tmp/etc/syslog-conf.d/console
lr-x------    1 root     root           64 Feb 17 00:05 4055 -> /tmp/etc/syslog-conf.d/email
lr-x------    1 root     root           64 Feb 17 00:05 4056 -> /tmp/etc/syslog-conf.d/host
lr-x------    1 root     root           64 Feb 17 00:05 4057 -> /tmp/etc/syslog-conf.d/permanent
lr-x------    1 root     root           64 Feb 17 00:05 4058 -> /tmp/etc/syslog-conf.d/stats
lr-x------    1 root     root           64 Feb 17 00:05 4059 -> /tmp/terminal

Also seems to be present in the latest version checked out from the git repo but I'll do some more digging.

Thanks,
Chris


More information about the syslog-ng mailing list