Bug 1638910 - anaconda 30.5-1.fc30 crashes in activate_keyboard
Summary: anaconda 30.5-1.fc30 crashes in activate_keyboard
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: dbus
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Colin Walters
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: AcceptedBlocker
Depends On:
Blocks: F30BetaBlocker
TreeView+ depends on / blocked
 
Reported: 2018-10-12 19:10 UTC by Kevin Fenzi
Modified: 2018-10-26 07:12 UTC (History)
18 users (show)

Fixed In Version: dbus-1.12.10-4.fc30
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-10-22 07:39:54 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Kevin Fenzi 2018-10-12 19:10:04 UTC
Rawhide composes have been failing the last few days, due to the Cloud base image failing. 

https://koji.fedoraproject.org/koji/taskinfo?taskID=30189358

and looking at the screenshot...

Traceback (most recent call last):
  File "/sbin/anaconda", line 543, in <module>
    keyboard_activate_keyboard(localization_proxy)
...
gi.repository.Glib.Error: g-io-error-quark: Could not connect: No such file or directory

This may well be some other component changing under anaconda, but I am not sure what it is. Please move to that component if it's obvious...

Comment 1 Adam Williamson 2018-10-12 19:12:28 UTC
Automatic F30 blocker, as it completely prevents the compose from happening.

Comment 2 Kevin Fenzi 2018-10-14 04:11:03 UTC
So, looking at everything that changed on the day when this started, it looks like it might be caused by dbus.

I untagged dbus-1.12.10-3 and the Cloud base image composed.
(Although the entire rawhide compose failed for another reason)

I'm still not sure _why_ the dbus update caused this. It adds:

+%triggerpostun common -- dbus-common < 1:1.12.10-4
+systemctl --no-reload preset dbus.socket &>/dev/null || :
+systemctl --no-reload --global preset dbus.socket &>/dev/null || :
+
+%triggerpostun daemon -- dbus-daemon < 1:1.12.10-4
+systemctl --no-reload preset dbus-daemon.service &>/dev/null || :
+systemctl --no-reload --global preset dbus-daemon.service &>/dev/null || :

Comment 3 Adam Williamson 2018-10-14 16:11:51 UTC
Does that have the effect of actually implementing the dbus -> dbus-broker switch, and anaconda turns out not to work with dbus-broker? ...or something?

Comment 4 Kevin Fenzi 2018-10-14 23:41:18 UTC
No, the intent of that change was to make sure upgraded users get the new units enabled for the broker. I am not sure how preset calls might mess up an install. ;( 

Adding zbyszek for any systemd thoughts...

Comment 5 Zbigniew Jędrzejewski-Szmek 2018-10-15 11:52:11 UTC
dbus.socket, dbus-daemon.service are enabled in presets. So if those 'systemctl presets' commands were executed, both units should be (still) enabled afterwards. That said, during a compose, I don't think *anything* should be ever uninstalled, so those %triggerpost*un* lines should never fire.

So the error must be somewhere different I think.

Comment 6 Zbigniew Jędrzejewski-Szmek 2018-10-15 12:51:11 UTC
The problem is that dbus-common which contains the unit files in question has no dependency on systemd (see https://fedoraproject.org/wiki/Packaging:Scriptlets#Scriptlets for how this should look). Hence, during the initial installation, dbus-daemon is installed before systemd, and the preset call done from the dbus-daemon scriptlet fails silently.

The right solution is either to add '%{?systemd_requires}' or '%{?systemd_ordering}' to the dbus-daemon.

Note that in F30, the unit files have been moved to dbus-common, so those macros should be added to that package instead.

Comment 7 Zbigniew Jędrzejewski-Szmek 2018-10-15 12:54:21 UTC
Oh, and btw, this is fairly easy to test:
$ koji download-build -a noarch -a x86_64 1140329                                         
$ sudo dnf -y --setopt=install_weak_deps=False --releasever=29 --installroot=/tmp/f29test2 --disablerepo='*' --enablerepo=fedora --enablerepo=updates install dnf fedora-release dbus-common-1.12.10-2.fc29.noarch.rpm dbus-libs-1.12.10-2.fc29.x86_64.rpm dbus-daemon-1.12.10-2.fc29.x86_64.rpm dbus-1.12.10-2.fc29.x86_64.rpm dbus-tools-1.12.10-2.fc29.x86_64.rpm
$ sudo systemd-nspawn -D /tmp/f29test2
# systemctl is-enabled dbus.socket

Comment 8 David King 2018-10-19 07:10:52 UTC
https://src.fedoraproject.org/rpms/dbus/pull-request/8 has a fix for this (and another bif of fallout from the dbus-broker changes).

Comment 9 Fedora Update System 2018-10-22 08:27:55 UTC
dbus-1.12.10-4.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2018-1eff1712c2

Comment 10 Fedora Update System 2018-10-22 19:23:55 UTC
dbus-1.12.10-4.fc29 has been pushed to the Fedora 29 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-1eff1712c2

Comment 11 Fedora Update System 2018-10-26 07:12:58 UTC
dbus-1.12.10-5.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2018-a232773e25


Note You need to log in before you can comment on or make changes to this bug.