Package: dbus
Version: 1.10.14-1
Severity: serious

Disclaimer:
===========
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! ;-)

Hi!

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). If the dbus package is installed on such systems, its
postinst silently fails to correctly start the dbus daemon:

        root@localhost:/root# apt-get install --yes dbus
        Reading package lists...
        Building dependency tree...
        The following additional packages will be installed:
          libdbus-1-3 libexpat1
        Suggested packages:
          default-dbus-session-bus | dbus-session-bus
        The following NEW packages will be installed:
          dbus libdbus-1-3 libexpat1
        0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
        Need to get 482 kB of archives.
        After this operation, 1369 kB of additional disk space will be used.
        Get:1 http://ftp.debian.org/debian stretch/main amd64 libdbus-1-3 amd64 
1.10.14-1 [191 kB]
        Get:2 http://ftp.debian.org/debian stretch/main amd64 libexpat1 amd64 
2.2.0-2 [83.3 kB]
        Get:3 http://ftp.debian.org/debian stretch/main amd64 dbus amd64 
1.10.14-1 [207 kB]
        dpkg-preconfigure: unable to re-open stdin: No such file or directory
        Fetched 482 kB in 0s (930 kB/s)
        Selecting previously unselected package libdbus-1-3:amd64.
        (Reading database ... 13394 files and directories currently installed.)
        Preparing to unpack .../libdbus-1-3_1.10.14-1_amd64.deb ...
        Unpacking libdbus-1-3:amd64 (1.10.14-1) ...
        Selecting previously unselected package libexpat1:amd64.
        Preparing to unpack .../libexpat1_2.2.0-2_amd64.deb ...
        Unpacking libexpat1:amd64 (2.2.0-2) ...
        Selecting previously unselected package dbus.
        Preparing to unpack .../dbus_1.10.14-1_amd64.deb ...
        Unpacking dbus (1.10.14-1) ...
        Setting up libexpat1:amd64 (2.2.0-2) ...
        Processing triggers for libc-bin (2.24-9) ...
        Processing triggers for systemd (232-15) ...
        Setting up libdbus-1-3:amd64 (1.10.14-1) ...
        Setting up dbus (1.10.14-1) ...
        Processing triggers for libc-bin (2.24-9) ...
        Processing triggers for systemd (232-15) ...
        root@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
        Feb 11 20:21:42 localhost systemd[1]: dbus.service: Unit entered failed 
state.
        Feb 11 20:21:42 localhost systemd[1]: dbus.service: Failed with result 
'exit-code'.

        ● dbus.socket - D-Bus System Message Bus Socket
           Loaded: loaded (/lib/systemd/system/dbus.socket; static; vendor 
preset: enabled)
           Active: inactive (dead)
           Listen: /var/run/dbus/system_bus_socket (Stream)
        root@localhost:/root# journalctl -u dbus.service -u dbus.socket
        -- Logs begin at Sat 2017-02-11 20:21:32 UTC, end at Sat 2017-02-11 
20:22:03 UTC. --
        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
        Feb 11 20:21:42 localhost systemd[1]: dbus.service: Unit entered failed 
state.
        Feb 11 20:21:42 localhost systemd[1]: dbus.service: Failed with result 
'exit-code'.

However, if I then start the dbus service manually, everything works:

        root@localhost:/root# systemctl start dbus
        root@localhost:/root# systemctl status dbus.service dbus.socket
        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: active (running) since Sat 2017-02-11 20:22:28 UTC; 9s ago
             Docs: man:dbus-daemon(1)
         Main PID: 472 (dbus-daemon)
            Tasks: 1 (limit: 4915)
           CGroup: /system.slice/dbus.service
                   └─472 /usr/bin/dbus-daemon --system --address=systemd: 
--nofork --nopidfile --systemd-activation

        Feb 11 20:22:28 localhost systemd[1]: Started D-Bus System Message Bus.

        ● dbus.socket - D-Bus System Message Bus Socket
           Loaded: loaded (/lib/systemd/system/dbus.socket; static; vendor 
preset: enabled)
           Active: active (running) since Sat 2017-02-11 20:22:28 UTC; 9s ago
           Listen: /var/run/dbus/system_bus_socket (Stream)

        Feb 11 20:22:28 localhost systemd[1]: Listening on D-Bus System Message 
Bus Socket.

I *think* this might be a race condition between systemd learning about
dbus.socket and dbus.service being started by the postinst. Any
thoughts?

Best regards

Alexander Kurtz

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to