[Bug 1229813] New: dbus.socket does not start dbus-broker.service
https://bugzilla.suse.com/show_bug.cgi?id=1229813 Bug ID: 1229813 Summary: dbus.socket does not start dbus-broker.service Classification: openSUSE Product: openSUSE Tumbleweed Version: Current Hardware: Other OS: Other Status: NEW Severity: Critical Priority: P5 - None Component: Basesystem Assignee: screening-team-bugs@suse.de Reporter: kukuk@suse.com QA Contact: qa-bugs@suse.de Target Milestone: --- Found By: --- Blocker: --- Services which require dbus have a dependency on dbus.socket in their service file. dbus-broker has no dbus.service file, thus this dependencies are broken and a boot only succeeds by pure luck. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1229813 Thorsten Kukuk <kukuk@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|screening-team-bugs@suse.de |simonf.lees@suse.com Priority|P5 - None |P1 - Urgent CC| |dleuenberger@suse.com -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1229813 https://bugzilla.suse.com/show_bug.cgi?id=1229813#c1 --- Comment #1 from Thorsten Kukuk <kukuk@suse.com> --- We had several machines this morning in emergency mode, because systemd heavily depends on dbus and dbus.socket and failed. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1229813 Ignaz Forster <iforster@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |iforster@suse.com -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1229813 https://bugzilla.suse.com/show_bug.cgi?id=1229813#c2 --- Comment #2 from Thorsten Kukuk <kukuk@suse.com> --- All boot issues this morning we put into the "soft-reboot" or "selinux" category were dbus problems as it looks like now. Can we please drop dbus-1-daemon package and let dbus-broker install the service script as "dbus.service", so that all dependencies on dbus.socket work again? -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1229813 Alberto Planas Dominguez <aplanas@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |aplanas@suse.com -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1229813 https://bugzilla.suse.com/show_bug.cgi?id=1229813#c3 --- Comment #3 from Simon Lees <simonf.lees@suse.com> --- (In reply to Thorsten Kukuk from comment #0)
Services which require dbus have a dependency on dbus.socket in their service file. dbus-broker has no dbus.service file, thus this dependencies are broken and a boot only succeeds by pure luck.
This should work via dbus-broker.service having an alias to dbus.service simon@tek-top ~ ➤ cat /usr/lib/systemd/system/dbus-broker.service [Unit] Description=D-Bus System Message Bus Documentation=man:dbus-broker-launch(1) DefaultDependencies=false After=dbus.socket Before=basic.target shutdown.target Requires=dbus.socket Conflicts=shutdown.target [Service] Type=notify Sockets=dbus.socket OOMScoreAdjust=-900 LimitNOFILE=16384 ProtectSystem=full PrivateTmp=true PrivateDevices=true ExecStart=/usr/bin/dbus-broker-launch --scope system --audit ExecReload=/usr/bin/busctl call org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus ReloadConfig [Install] Alias=dbus.service (In reply to Thorsten Kukuk from comment #2)
All boot issues this morning we put into the "soft-reboot" or "selinux" category were dbus problems as it looks like now.
Can we please drop dbus-1-daemon package and let dbus-broker install the service script as "dbus.service", so that all dependencies on dbus.socket work again?
dbus-1-daemon is still required in certain usecases (mostly gdm and test suites) for dbus-run-session as dbus-broker does not have in built session management. All Fedora, Debian and upstream are shipping only a dbus-broker.service with an alias to dbus.service so I would really prefer not to deviate unless someone can come up with an exceptionally good reason. We did notice https://bugzilla.suse.com/show_bug.cgi?id=1229745 with wicked which is more of an issue of wicked not declaring it needs to start after dbus because it uses it. I am submitting a fix for that now. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1229813 https://bugzilla.suse.com/show_bug.cgi?id=1229813#c4 --- Comment #4 from Simon Lees <simonf.lees@suse.com> --- Can you please give more details on exactly what is broken, so that we can look at fixing the affected packages. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1229813 https://bugzilla.suse.com/show_bug.cgi?id=1229813#c5 Dominique Leuenberger <dimstar@opensuse.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dimstar@opensuse.org --- Comment #5 from Dominique Leuenberger <dimstar@opensuse.org> --- (In reply to Thorsten Kukuk from comment #0)
dbus-broker has no dbus.service file, thus this dependencies are broken and a boot only succeeds by pure luck.
That part is only partially true: when dbus-broker is enabled, systemd creates /etc/systemd/system/dbus.service (and also /etc/systemd/user/dbus.service) due to the alias present in dbus-broker.service) # 2024-08-27 12:09:20 dbus-broker-36-1.1.x86_64.rpm installed ok # Additional rpm output: # Created symlink '/etc/systemd/system/dbus.service' -> '/usr/lib/systemd/system/dbus-broker.service'. # Created symlink '/etc/systemd/user/dbus.service' -> '/usr/lib/systemd/user/dbus-broker.service'. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1229813 https://bugzilla.suse.com/show_bug.cgi?id=1229813#c6 --- Comment #6 from Thorsten Kukuk <kukuk@suse.com> --- (In reply to Dominique Leuenberger from comment #5)
(In reply to Thorsten Kukuk from comment #0)
dbus-broker has no dbus.service file, thus this dependencies are broken and a boot only succeeds by pure luck.
That part is only partially true: when dbus-broker is enabled, systemd creates /etc/systemd/system/dbus.service (and also /etc/systemd/user/dbus.service) due to the alias present in dbus-broker.service)
Could it be that this get's only created when systemd starts the service, but it is needed already upfront? wtmpdb got started on one failing machine before dbus got started and systemd-logind reported dbus errors. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1229813 https://bugzilla.suse.com/show_bug.cgi?id=1229813#c7 Fabian Vogt <fvogt@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |fvogt@suse.com, | |kukuk@suse.com Flags| |needinfo?(kukuk@suse.com) --- Comment #7 from Fabian Vogt <fvogt@suse.com> --- (In reply to Thorsten Kukuk from comment #6)
(In reply to Dominique Leuenberger from comment #5)
(In reply to Thorsten Kukuk from comment #0)
dbus-broker has no dbus.service file, thus this dependencies are broken and a boot only succeeds by pure luck.
That part is only partially true: when dbus-broker is enabled, systemd creates /etc/systemd/system/dbus.service (and also /etc/systemd/user/dbus.service) due to the alias present in dbus-broker.service)
Could it be that this get's only created when systemd starts the service, but it is needed already upfront?
No, it gets created when dbus-broker.service gets enabled, i.e. during dbus-broker package install or preset update.
wtmpdb got started on one failing machine before dbus got started and systemd-logind reported dbus errors.
Logs would be helpful here. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1229813 https://bugzilla.suse.com/show_bug.cgi?id=1229813#c8 --- Comment #8 from Simon Lees <simonf.lees@suse.com> --- yep, dbus-broker.service is enabled via presets, this is one new change, dbus.service wasn't previously enabled via presets. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1229813 https://bugzilla.suse.com/show_bug.cgi?id=1229813#c9 Thorsten Kukuk <kukuk@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Flags|needinfo?(kukuk@suse.com) | --- Comment #9 from Thorsten Kukuk <kukuk@suse.com> --- I have no complete logs, both systems are broken and ended in the emergency shell of the system (not initrd). -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1229813 https://bugzilla.suse.com/show_bug.cgi?id=1229813#c10 Simon Lees <simonf.lees@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Flags| |needinfo?(kukuk@suse.com) Priority|P1 - Urgent |P3 - Medium --- Comment #10 from Simon Lees <simonf.lees@suse.com> --- I have been unable to replicate this on my systems, or on a fresh tumbleweed install. Given that wtmpdb was already on my fresh tumbleweed install I presume it has reasonable test coverage on openqa and the issue didn't show up on any of the journal check tests there. I'm going to need more info about the systems that were having this issue before I can debug further, also lowering the priority as so far its only been seen on one system. Out of interest had these systems previously swapped to runnning dbus-broker? -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1229813 https://bugzilla.suse.com/show_bug.cgi?id=1229813#c11 Thorsten Kukuk <kukuk@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Flags|needinfo?(kukuk@suse.com) | --- Comment #11 from Thorsten Kukuk <kukuk@suse.com> --- (In reply to Simon Lees from comment #10)
I have been unable to replicate this on my systems, or on a fresh tumbleweed install. Given that wtmpdb was already on my fresh tumbleweed install I presume it has reasonable test coverage on openqa and the issue didn't show up on any of the journal check tests there.
The problem is not wtmpdb, wtmpdb cannot break the boot process and is very robust to handle missing dbus reliable. It's only a symptom of the real problem somewhere else.
I'm going to need more info about the systems that were having this issue before I can debug further, also lowering the priority as so far its only been seen on one system.
Out of interest had these systems previously swapped to runnning dbus-broker?
Two older MicroOS installations got stuck during boot process after applying the snapshot with the dbus-broker switch, both UEFI, one with traditional grub2, one with systemd-boot. One got just stuck without any visible reason, one in the emergency shell (sulogin, not initrd). No errors (except on one machine the dbus error from wtmpdb) were visible. Only thing I noticed: processes depending on dbus got started before dbus. wtmpdb was clearly visible because of the dbus error, the other I remember was systemd-logind. None had dbus-broker installed before. In both cases a hard reset lead to a working system again. I installed a fresh Tumbleweed Server yesterday (UEFI, systemd-boot), which also got stuck in the first tries to boot it, but due to the splash screen there was no chance to get any message from the system. The machine did never show any boot problems before. Since many other machines with the same setup come up without any problem, this looks like a race somewhere. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1229813 https://bugzilla.suse.com/show_bug.cgi?id=1229813#c12 Simon Lees <simonf.lees@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |systemd-maintainers@suse.de --- Comment #12 from Simon Lees <simonf.lees@suse.com> --- (In reply to Thorsten Kukuk from comment #11)
(In reply to Simon Lees from comment #10)
I have been unable to replicate this on my systems, or on a fresh tumbleweed install. Given that wtmpdb was already on my fresh tumbleweed install I presume it has reasonable test coverage on openqa and the issue didn't show up on any of the journal check tests there.
The problem is not wtmpdb, wtmpdb cannot break the boot process and is very robust to handle missing dbus reliable. It's only a symptom of the real problem somewhere else.
I'm going to need more info about the systems that were having this issue before I can debug further, also lowering the priority as so far its only been seen on one system.
Out of interest had these systems previously swapped to runnning dbus-broker?
Two older MicroOS installations got stuck during boot process after applying the snapshot with the dbus-broker switch, both UEFI, one with traditional grub2, one with systemd-boot. One got just stuck without any visible reason, one in the emergency shell (sulogin, not initrd). No errors (except on one machine the dbus error from wtmpdb) were visible. Only thing I noticed: processes depending on dbus got started before dbus. wtmpdb was clearly visible because of the dbus error, the other I remember was systemd-logind. None had dbus-broker installed before. In both cases a hard reset lead to a working system again.
systemd-logind is an interesting one because when I was checking I noticed it and wtmpdb are the only things on my system that have `Wants=dbus.socket" so if they are behaving consistently thats atleast something.
I installed a fresh Tumbleweed Server yesterday (UEFI, systemd-boot), which also got stuck in the first tries to boot it, but due to the splash screen there was no chance to get any message from the system. The machine did never show any boot problems before.
Out of interest how do you setup tumbleweed with systemd-boot rather then grub, that's not something i've ever tried.
Since many other machines with the same setup come up without any problem, this looks like a race somewhere.
I'm not 100% sure why Wants and After wouldn't be working with the dbus.socket so i'm adding the systemd maintainers to cc to see if they have any thoughts. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1229813 https://bugzilla.suse.com/show_bug.cgi?id=1229813#c16 --- Comment #16 from Simon Lees <simonf.lees@suse.com> --- (In reply to Sebastian Turzański from comment #15)
Created attachment 877458 [details] bootlog
I found the issue , in my case the zypper dup uninstalled waydroid that had a dbus file leftover in /usr/share/dbus-1/system.d/id.waydro.Container.conf
this made d-bus fail and all d-bus dependent services/software afterwards.
I deleted the /usr/share/dbus-1/system.d/id.waydro.Container.conf and all works now.
wrz 19 22:15:47 poltxps17.local systemd[1]: Starting One time sync configured by YaST... wrz 19 22:15:47 poltxps17.local dbus-broker-launch[2171]: Missing configuration file in /usr/share/dbus-1/system.d/id.waydro.Container.conf +1: /usr/share/dbus-1/system.d/id.waydro.Container.conf wrz 19 22:15:47 poltxps17.local dbus-broker-launch[2171]: ERROR run @ ../src/launch/main.c +152: Return code 1 wrz 19 22:15:47 poltxps17.local dbus-broker-launch[2171]: main @ ../src/launch/main.c +178 wrz 19 22:15:47 poltxps17.local dbus-broker-launch[2171]: Exiting due to fatal error: -131 wrz 19 22:15:47 poltxps17.local systemd[1]: dbus-broker.service: Main process exited, code=exited, status=1/FAILURE wrz 19 22:15:47 poltxps17.local systemd[1]: dbus-broker.service: Failed with result 'exit-code'. wrz 19 22:15:47 poltxps17.local systemd[1]: Failed to start D-Bus System Message Bus.
Out of interest is waydroid part of our distro packages? -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1229813 https://bugzilla.suse.com/show_bug.cgi?id=1229813#c17 --- Comment #17 from Sebastian Turzański <dpbasti@wp.pl> --- no it was not part of the distro, it was from OBS repo So my question now is : 1. is it a waydroid package that lack on-uninstall script that removes the .conf file? or 2. The distro or d-bus should ignore/or even delete symlinks in /usr/share/dbus-1/system.d pointing to non existing .conf I think the 2 option would be safer in general. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1229813 https://bugzilla.suse.com/show_bug.cgi?id=1229813#c18 --- Comment #18 from Simon Lees <simonf.lees@suse.com> --- (In reply to Sebastian Turzański from comment #17)
no it was not part of the distro, it was from OBS repo
So my question now is : 1. is it a waydroid package that lack on-uninstall script that removes the .conf file?
or
2. The distro or d-bus should ignore/or even delete symlinks in /usr/share/dbus-1/system.d pointing to non existing .conf
I think the 2 option would be safer in general.
I currently have 48 files in that directory none are symlink's so this is certainly a packaging issue. Its also very hard to map something like `org.freedesktop.login1.conf` back to the right binary / package for removal without using the rpm packaging mechanism. This is one of the reasons why we only support packages from the official repos, which also get reviews to try and prevent these kind of issues. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1229813 https://bugzilla.suse.com/show_bug.cgi?id=1229813#c19 --- Comment #19 from Sebastian Turzański <dpbasti@wp.pl> --- ok, I'll report to package creator. Still i would thinking skipping dead symlinks would be a nicer approach than not being able to start the dbus service as such. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1229813 https://bugzilla.suse.com/show_bug.cgi?id=1229813#c22 Thorsten Kukuk <kukuk@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |DUPLICATE Status|NEW |RESOLVED --- Comment #22 from Thorsten Kukuk <kukuk@suse.com> --- This should be fixed with the new dbus-broker submission *** This bug has been marked as a duplicate of bug 1234697 *** -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@suse.com