Bug 1531506

Summary: dbus service needs to be restarted manually after update
Product: Red Hat Enterprise Linux 7 Reporter: Dalibor Pospíšil <dapospis>
Component: dbusAssignee: David King <dking>
Status: CLOSED NOTABUG QA Contact: Desktop QE <desktop-qa-list>
Severity: unspecified Docs Contact:
Priority: medium    
Version: 7.5   
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-02-27 15:37:30 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Dalibor Pospíšil 2018-01-05 11:23:48 UTC
Description of problem:
after update of dbus from dbus-1.6.12-17.el7 to dbus-1.10.24-3.el7, sepolicy gui tracebacks until the dbus service is restarted manually.

Version-Release number of selected component (if applicable):
dbus-1.10.24-3.el7

How reproducible:
100%

Steps to Reproduce:
1. run sepolicy gui
2.
3.

Actual results:
# sepolicy gui
/usr/lib64/python2.7/site-packages/sepolicy/gui.py:29: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded.
  from gi.repository import Gtk
Traceback (most recent call last):
  File "/usr/bin/sepolicy", line 698, in <module>
    args.func(args)
  File "/usr/bin/sepolicy", line 324, in gui_run
    sepolicy.gui.SELinuxGui(args.domain, args.test)
  File "/usr/lib64/python2.7/site-packages/sepolicy/gui.py", line 110, in __init__
    self.dbus = SELinuxDBus()
  File "/usr/lib64/python2.7/site-packages/sepolicy/sedbus.py", line 12, in __init__
    self.dbus_object = self.bus.get_object("org.selinux", "/org/selinux/object")
  File "/usr/lib64/python2.7/site-packages/dbus/bus.py", line 241, in get_object
    follow_name_owner_changes=follow_name_owner_changes)
  File "/usr/lib64/python2.7/site-packages/dbus/proxies.py", line 248, in __init__
    self._named_service = conn.activate_name_owner(bus_name)
  File "/usr/lib64/python2.7/site-packages/dbus/bus.py", line 180, in activate_name_owner
    self.start_service_by_name(bus_name)
  File "/usr/lib64/python2.7/site-packages/dbus/bus.py", line 278, in start_service_by_name
    'su', (bus_name, flags)))
  File "/usr/lib64/python2.7/site-packages/dbus/connection.py", line 651, in call_blocking
    message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.Spawn.ExecFailed: Failed to execute program /lib64/dbus-1/dbus-daemon-launch-helper: Success


Expected results:
no traceback

Comment 1 David King 2018-02-27 15:37:30 UTC
Yes, this is the case. dbus is a low-level system service, and the whole system should be restarted after a dbus update. Restarting just the dbus service will cause problems, as large parts of systemd make extensive use of dbus (as just one example).