[systemd-devel] regression: crashing journal due to watchdog

Lennart Poettering lennart at poettering.net
Wed Jun 10 16:55:56 PDT 2015


On Wed, 27.05.15 11:09, Umut Tezduyar Lindskog (umut at tezduyar.com) wrote:

> Hi,
> 
> The for (;;) loop in server_process_datagram might prevent journal
> from feeding the watchdog if there is always something to receive in
> the syslog socket. Potentially journald is restarted, applications
> stall if the syslog socket is staying full....
> 
> I thought about fixing it by checking the watchdog on every iteration
> of for (;;) by using watchdog_last, watchdog_period and feeding
> watchdog if necessary but none of those properties are public.
> 
> Current rate limit check is done right before we store the message
> (after we receive it, after we forward it to console, wall, kmsg). I
> think it is too late.
> 
> Maybe the best approach is having a rate limit on sd-event
> (sd-event-source) so we can map rate limit options in journald.conf to
> journal's sd-event.

For the sake of the archives, this is now being discussed on github:

https://github.com/systemd/systemd/issues/125

And there's even a patch now:

https://github.com/systemd/systemd/pull/150

which is waiting for testing so that we can close this.

Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list