Bug#963121: Additional analysis and suggested bugfix
Michael Biebl
biebl at debian.org
Mon Jul 13 21:54:55 BST 2020
Am 13.07.20 um 21:27 schrieb Gert van de Kraats:
> Problem also occurs at systemd version 245.6-2 .
> Indeed I am using GNOME where the login session is managed
> by systemd --user.
> The problem is not concerning an ordinary user service, which is killed
> by SIGKILL after 90 seconds. There is no SIGKILL-message!!
> As described at the initial bug-text a restart of the user dbus may
> cause a hang at state
> AUTHENTICATING during shutdown. At the log you can see
> AUTHENTICATING starts at 18:10:02 and ends at 18:11:32, 90 seconds
> later. State RUNNING is never reached.
>
> Jun 15 18:10:02 debian systemd[1360]: Bus bus-api-user: changing state
> OPENING → AUTHENTICATING
> Jun 15 18:11:32 debian systemd[1360]: Bus bus-api-user: changing state
> AUTHENTICATING → CLOSED
>
> In that hanging situation, as soon as the user systemd gets a SIGTERM
> from pid 1 (systemd) it will
> call sd_bus_flush at libsystemd/sd-bus/sd-bus.c.
> This will call bus_ensure_running, that repeats calling sd_bus_process,
> that finally repeatingly calls bus_socket_process_authenticating.
> This routine will cause a timeout after 90 seconds, the timeout-value is
> hard coded by DEFAULT_TIMEOUT_USEC at basic/def.h .
>
> A simple and tested patch at sd_bus_flush at libsystemd/sd-bus/sd-bus.c is
> next code just before the call to bus_ensure_running:
>
> if ((bus->state == BUS_AUTHENTICATING) && (bus->is_user))
> return -ETIMEDOUT;
>
> It assumes state BUS_AUTHENTICATING is not normal for an user dbus at a
> call to sd_flush.
>
> I think this is an upstream bug!
In that case, please raise this upstream at
https://github.com/systemd/systemd/issues
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/pkg-systemd-maintainers/attachments/20200713/7e623aa3/attachment.sig>
More information about the Pkg-systemd-maintainers
mailing list