Bug#854911: dbus fails to start on package installation on very minimal systems
Simon McVittie
smcv at debian.org
Sat Feb 11 21:22:29 GMT 2017
On Sat, 11 Feb 2017 at 21:38:42 +0100, Alexander Kurtz wrote:
> I have marked this as serious since I experienced other packages (i.e.
> avahi-daemon) failing to install because of this. However, please feel
> free to downgrade the severity if you think it's appropriate!
I'm not sure whether this should be considered release-critical
(I think it depends how niche the circumstances are where it happens),
but I'll leave it like that for while we discuss it.
> I have a few VMs running a very minimal Debian installation (they are
> created with debootstrap and afterwards a kernel is installed, but
> nothing else).
What exact setup? Can you send a complete package list or debootstrap
command line to reproduce one of these?
> postinst silently fails to correctly start the dbus daemon:
...
> dpkg-preconfigure: unable to re-open stdin: No such file or directory
I wonder whether that's a bad sign. Are /dev, /dev/pts and /proc correctly
mounted in this VM?
> root at localhost:/root# systemctl status dbus.service dbus.socket
> ● dbus.service - D-Bus System Message Bus
> Loaded: loaded (/lib/systemd/system/dbus.service; static; vendor preset: enabled)
> Active: failed (Result: exit-code) since Sat 2017-02-11 20:21:42 UTC; 11s ago
> Docs: man:dbus-daemon(1)
> Main PID: 444 (code=exited, status=1/FAILURE)
>
> Feb 11 20:21:42 localhost systemd[1]: Started D-Bus System Message Bus.
> Feb 11 20:21:42 localhost dbus-daemon[444]: Failed to start message bus: No socket received.
> Feb 11 20:21:42 localhost systemd[1]: dbus.service: Main process exited, code=exited, status=1/FAILURE
This does indeed look as though systemd has started dbus.service without
passing in the listening fd that dbus.socket should have given it.
I feel as though that shouldn't happen, because dbus.service Requires
dbus.socket?
Or for the case where it's only recently been started, does it need to be
After the socket as well?
> I *think* this might be a race condition between systemd learning about
> dbus.socket and dbus.service being started by the postinst. Any
> thoughts?
update-rc.d blocks on `systemctl reload` before the postinst gets as far
as running invoke-rc.d, so I hope not?
I've cc'd the systemd maintainers in case they have any insights.
S
More information about the Pkg-systemd-maintainers
mailing list