rsyslogd holds open stderr fd from environment that ran its init script
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
rsyslog (Debian) |
Fix Released
|
Unknown
|
|||
rsyslog (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: rsyslog
Chasing the trail of a hung "run-parts --report /etc/cron.daily" with a defunct logrotate child, I found that rsyslogd was holding an open fd to the write end of run-parts' pipe as its stderr.
It seems that rsyslogd is inheriting stderr from the process executing "/etc/init.
ProblemType: Bug
Architecture: amd64
Date: Thu Aug 13 13:42:36 2009
DistroRelease: Ubuntu 9.10
NonfreeKernelMo
Package: rsyslog 4.2.0-1ubuntu2
ProcEnviron:
LANGUAGE=
LC_COLLATE=C
PATH=(custom, user)
LANG=en_GB.UTF-8
SHELL=/bin/bash
ProcVersionSign
SourcePackage: rsyslog
Uname: Linux 2.6.31-5-generic x86_64
Related branches
Changed in rsyslog (Ubuntu): | |
assignee: | nobody → Michael Terry (mterry) |
status: | New → In Progress |
Changed in rsyslog (Debian): | |
status: | Unknown → Fix Released |
Here's a merge from Debian to pick up this fix and a few others. I also included a patch from bug 407862 and updated deroot.patch to help issues like bug 401433 (though it won't fix the root cause of that one) by just ignoring /proc/kmsg if we can't read from it, rather than keep trying to read it from the kernel directly.