[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