Bug 801423

Summary: systemd crashed while starting dhcpd with Assertion 's->state == SERVICE_START || s->state == SERVICE_START_POST' failed
Product: [openSUSE] openSUSE 12.1 Reporter: Stefan Münkner <stefan.muenkner>
Component: BasesystemAssignee: Frederic Crozat <fcrozat>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Critical    
Priority: P5 - None CC: mt, whdu
Version: Final   
Target Milestone: ---   
Hardware: x86-64   
OS: openSUSE 12.1   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: backtrace via dumped core

Description Stefan Münkner 2013-01-31 09:53:33 UTC
Created attachment 522782 [details]
backtrace via dumped core

User-Agent:       Mozilla/5.0 (X11; Linux x86_64; rv:18.0) Gecko/20100101 Firefox/18.0

On my server systemd crashed yesterday in the middle of the night,
while (most probably) trying do a scheduled restart of the dhcp-daemon
via crontab. dhcpd was not restarted. 

The system was still working (seemingly) without any problems, but any
usage of systemctl failed with:

"Failed to get D-Bus connection: Failed to connect to socket /org/freedesktop/systemd1/private: Connection refused"

(see the logs for more detailed infos)

Consequently, since I was not able to restore the connection to the
D-Bus service, the server could not be shutdown normally, the only way
apart from a hard reset was using Alt+SysReq. 

This has the potential to cause data loss!!!! 

As a consequence I switched back to the standard SysV init.

Reproducible: Didn't try




The crontab entry leading to it:

26 3 * * * /usr/sbin/rcdhcpd restart

from the logs :

Jan 30 03:26:03 myserver systemd[1]: Assertion 's->state == SERVICE_START || s->state == SERVICE_START_POST' failed at src/service.c:2715, function service_fd_event(). Aborting.
Jan 30 03:26:03 myserver systemd[1]: Caught <ABRT>, dumped core as pid 28315.
Jan 30 03:26:03 myserver systemd[1]: Freezing execution.
Jan 30 04:13:25 myserver systemd-logind[9265]: Removed session c24.
lines
Jan 30 03:26:03 myserver systemd[1]: Freezing execution.
<-- snip - snip -->
an 30 10:08:36 myserver systemd-cgroups-agent[2915]: Failed to get D-Bus connection: Failed to connect to socket /org/freedesktop/systemd1/private: Connection refused
Jan 30 10:08:43 myserver systemd-cgroups-agent[2919]: Failed to get D-Bus connection: Failed to connect to socket /org/freedesktop/systemd1/private: Connection refused
Jan 30 10:08:44 myserver systemd-cgroups-agent[2921]: Failed to get D-Bus connection: Failed to connect to socket /org/freedesktop/systemd1/private: Connection refused
Jan 30 10:08:45 myserver systemd-cgroups-agent[2923]: Failed to get D-Bus connection: Failed to connect to socket /org/freedesktop/systemd1/private: Connection refused
Jan 30 10:08:46 myserver systemd-cgroups-agent[2925]: Failed to get D-Bus connection: Failed to connect to socket /org/freedesktop/systemd1/private: Connection refused
Jan 30 10:08:52 myserver systemd-cgroups-agent[2927]: Failed to get D-Bus connection: Failed to connect to socket /org/freedesktop/systemd1/private: Connection refused
Comment 1 Marius Tomaschewski 2013-03-07 07:41:45 UTC
Reassign to Frederic (systemd) + CC to Peter (dhcpcd) + me (sysconfig).
Comment 2 Stefan Münkner 2013-03-07 09:38:00 UTC
If it is not a typo I would like to point out, that the crash occured right after dhcpd (and not dhcpcd), was restarted. I re-read my original bug report and found a mistake I made: In fact dhcpd _was_ restarted and only after that systemd crashed. Sorry for that!
Comment 3 Marius Tomaschewski 2013-03-07 10:10:10 UTC
Yes, I've misread it as "dhcpcd", sorry! We can remove Peter as I maintain dhcpd.
Comment 4 Marius Tomaschewski 2013-03-07 10:21:11 UTC
Frederic,

/etc/sysconfig/network/if-up.d/60-dhcpd-restart-hook restarts the dhcp server
using: /etc/init.d/dhcpd try-restart and/or /etc/init.d/dhcpd6 try-restart
when it is using e.g. a bridge interface and the interface has been restarted
(otherwise it stays bound to the old ifindex and doesn't get any packets).

Do we have catch systemd use and use systemctl with --ignore-dependencies?
Comment 5 Frederic Crozat 2013-03-07 10:23:05 UTC
systemd bug, already fixed upstream for a very very long time (strange that nobody noticed it before, otherwise I would have backported it already). I'm backporting the patch right now.
Comment 6 Frederic Crozat 2013-03-07 13:10:48 UTC
fixed in home:fcrozat:systemd / systemd ( should be available in  http://download.opensuse.org/repositories/home:/fcrozat:/systemd/openSUSE_12.1/ in few minutes)

let's push this fix (and others which have been waiting for a very long time) to maintenance before 12.1 is EOL

mr #157832 created
Comment 7 Bernhard Wiedemann 2013-03-07 14:00:32 UTC
This is an autogenerated message for OBS integration:
This bug (801423) was mentioned in
https://build.opensuse.org/request/show/157832 Maintenance /
Comment 8 Benjamin Brunner 2013-03-07 14:55:59 UTC
Thanks for the submission. I started an update, see openSUSE:Maintenance:1408.
Comment 9 Benjamin Brunner 2013-03-13 11:49:13 UTC
Update released. Resolved fixed.
Comment 10 Swamp Workflow Management 2013-03-13 12:05:03 UTC
openSUSE-RU-2013:0443-1: An update that has four recommended fixes can now be installed.

Category: recommended (moderate)
Bug References: 731601,751253,770182,801423
CVE References: 
Sources used:
openSUSE 12.1 (src):    systemd-37-3.17.1, systemd-gtk-37-3.17.1
Comment 11 Stefan Münkner 2013-03-13 21:15:56 UTC
thanks for solving the issue so fast.