[systemd-bugs] [Bug 78311] New: daemon-reload clears bus_name_good bit, reloads kill units with BusName=

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon May 5 14:37:13 PDT 2014


https://bugs.freedesktop.org/show_bug.cgi?id=78311

          Priority: medium
            Bug ID: 78311
          Assignee: systemd-bugs at lists.freedesktop.org
           Summary: daemon-reload clears bus_name_good bit, reloads kill
                    units with BusName=
        QA Contact: systemd-bugs at lists.freedesktop.org
          Severity: normal
    Classification: Unclassified
                OS: All
          Reporter: michael+freedesktop at stapelberg.de
          Hardware: Other
            Status: NEW
           Version: unspecified
         Component: general
           Product: systemd

This has originally been reported at http://bugs.debian.org/746151

D-Bus-activated units (i.e. having BusName= non-empty) will lose their
bus_name_good bit after daemon-reloading:

x200 ~ $ systemctl dump | perl -nlE 'say if /joss.service:$/ ... /^->
.*.service/' | grep Bus
    BusName: org.freedesktop.timedate1
    Bus Name Good: yes

x200 ~ $ sudo systemctl daemon-reload
x200 ~ $ systemctl dump | perl -nlE 'say if /joss.service:$/ ... /^->
.*.service/' | grep Bus
    BusName: org.freedesktop.timedate1
    Bus Name Good: no

When using “systemctl reload” on the service and the control command SIGCHLDs,
service_sigchld_event() will call service_enter_running(s, SERVICE_SUCCESS),
but the following if condition will fail and therefore the last branch is taken
instead of the first one:

        if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) &&
            (s->bus_name_good || s->type != SERVICE_DBUS))
                service_set_state(s, SERVICE_RUNNING);
        else if (s->remain_after_exit)
                service_set_state(s, SERVICE_EXITED);
        else
                service_enter_stop(s, SERVICE_SUCCESS);

I am not sure how to properly fix this, which is why I’m creating this report.
Thanks in advance for any fixes :).

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/systemd-bugs/attachments/20140505/1d766aa0/attachment.html>


More information about the systemd-bugs mailing list