[syslog-ng] supervisor not restarting a failed daemon process

Evan Rempel erempel at uvic.ca
Mon Apr 29 20:47:15 CEST 2013


Where does the supervisor log to?

In my case, the syslog-ng process that was reading from /dev/log and /proc/kmsg did NOT experience any problems.
If anything was logged via the OS syslog API then I would see it in my log.
If it is logged via the "internal()" syslog-ng destination, then does the supervisor process the syslog-ng.conf file
as well?

I have had two cases recently, one a signal 11 (SIGSEGV) and another signal 6 (SIGABRT).
The first is probably be a bug in syslog-ng but the second would have to be root doing a kill -ABRT for the process.
That would be weird and isn't in our logs (we are supposed to use sudo for all commands).

I'll keep this in mind as I monitor this symptom.

Evan.



On 04/29/2013 11:16 AM, Balazs Scheidler wrote:
> Hi,
>
> No kernel source handy but my guess is that the kernel is logging the tid value, which is the same as pid as long as the process is single threaded.
>
> I've checked the supervisor code and the only way this could happen is a fork/pipe error which is not logged. It should be logged but who knows that message can be lost. The supervisor attempts to restart 3 times then gives up.
>
> Hmmm the supervisor messages may be redirected to syslog after the first startup which might explain why they don't get logged.
>
> But why does fork/pipe fail?
>
> Hope this helps.


More information about the syslog-ng mailing list