[Pkg-utopia-maintainers] Bug#813970: dbus: purge fails: invoke-rc.d: initscript dbus, action "stop" failed.

Simon McVittie smcv at debian.org
Wed Feb 10 09:54:50 UTC 2016


On Sun, 07 Feb 2016 at 08:35:55 +0100, Jonas Smedegaard wrote:
> Afinstallerer dbus (1.8.20-0+deb8u1) ...
> Job for dbus.service canceled.
> invoke-rc.d: initscript dbus, action "stop" failed.

I have not been able to reproduce exactly this failure mode on a jessie VM.

However, "Job for %s canceled" means that the transaction being added
conflicts with one that was already in progress; in this case that's
probably an attempt to *start* dbus, which can be done on-demand by a
connection to its socket. By removing dbus while a script repeatedly
connected to the system bus in a loop, I was able to get a jessie system
into a similarly bad state.

Because systemd and systemctl will use the system dbus-daemon if present,
systemctl can also communicate with polkit which also uses the system
dbus-daemon, and various other system facilities optionally use D-Bus,
it's probably relatively easy to get a situation where something is
connecting to the system bus during removal, causing the system bus
to be started up again.

Please try these packages:

https://people.debian.org/~smcv/bug813970/

or just overwrite /var/lib/dpkg/info/dbus.prerm with the one from that
directory before attempting to purge or remove dbus (that and the changelog
are the only source differences).

On Sun, 07 Feb 2016 at 13:43:22 +0100, Jonas Smedegaard wrote:
> ...but then reinstalling (to try get you some more enlightening logdata) 
> caused the install to hang:
...
> Udpakker dbus (1.8.20-0+deb8u1) ...
> Behandler udløsere for man-db (2.7.0.2-5) ...
> Behandler udløsere for systemd (215-17+deb8u3) ...
> Sætter dbus (1.8.20-0+deb8u1) op ...

If you look in your syslog around this time, did you get messages
"Looping too fast. Throttling execution a little."  from systemd?
If so, then I was able to reproduce this in the same way I described
above. I think there's some bug in the way systemd's event loop
interacts with failure to connect to D-Bus; this might have been fixed
post-jessie.

In this situation, you may be able to get systemd unstuck by telling it
to re-exec itself: "kill 1".

The modified prerm that I've proposed seems to avoid this issue.

> a moment ago (before trying to reinstall dbus):
> 
> root at xayide:~# LC_ALL=C systemctl -l status dbus
> * dbus.service
>    Loaded: not-found (Reason: No such file or directory)
>    Active: active (running) since Sun 2016-02-07 09:19:41 CET; 3h 50min ago
>  Main PID: 32549 (dbus-daemon)
>    CGroup: /system.slice/dbus.service
>            `-32549 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation

OK, so dbus has been removed, but not stopped, and is still running.

> How do I fetch data from Journal?

The most important bits end up in the syslog (if present), but for your
information, see journalctl(1) for more general Journal-reading.

> Another detail: The version I reported initially was wrong (issue found 
> on a server running stable, whereas I report using my laptop running 
> unstable).  Bug should instead be tied to version 1.8.20-0+deb8u1

Thanks, I've corrected that. The bug might also be present in later
versions, but for now I'm only preparing test packages for jessie,
because that's where you were able to reproduce this.

    S



More information about the Pkg-utopia-maintainers mailing list