On 17/03/15 22:13, Michael Biebl wrote:
Am 17.03.2015 um 23:02 schrieb Robert Pumphrey:
I have identified a duff init.d script (one of our own that previously
worked in wheezy) that is at the root of this problem. I have removed
the script, rebooted and the I can now run systemctl daemon-reload
withough a seg fault.
This bug may just indicate that systemd poorly handles a bad init
script. Please let me know if you would like details of our broken
script, otherwise, I am happy for this to be closed.
If you can share this init script, this would be appreciated.
systemd certainly shouldn't die because of such a faulty init script and
I'm actually surprised it does, since the SysV support is basically done
in an external generator. So there must be something very fishy with the
generated unit.
As said, if you can attach the faulty init script, that would be great.
Michael
I have reproduced this on a clean install of Jessie running on a virtual
machine using 32bit i686 arch.
1. Install Debian from netinst
2. put the following into /etc/init.d/firewall
#!/bin/bash
### BEGIN INIT INFO
# Provides: iptables
# Required-Start: $network $remote_fs $syslog
# Required-Stop: $network $remote_fs $syslog
# Should-Start: iptables
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
### END INIT INFO
#####################################################################
###
### Firewall rules
###
#####################################################################
case "$1" in
start)
echo "start"
;;
stop)
echo "stop"
;;
restart)
echo "restart"
;;
*)
echo "Usage: /etc/init.d/firewall {start|stop|restart}"
exit 1
;;
esac
3. chmod u+x /etc/init.d/firewall
4. update-rc.d firewall defaults
5. reboot
6. login as root
7. systemctl --system daemon-reload
then we see:
Message from syslogd@joule at Mar 18 14:10:40 ...
kernel:[ 27.526029] systemd[1]: segfault at b739cdac ip b739cdac sp
bf9af36c error 15
Failed to execute operation: Connection reset by peer
Also of note are the following entries in dmesg:
[ 1.075782] systemd[1]: Found ordering cycle on firewall.service/start
[ 1.075788] systemd[1]: Found dependency on firewall.service/start
[ 1.075793] systemd[1]: Breaking ordering cycle by deleting job
firewall.service/start
[ 1.075799] systemd[1]: Job firewall.service/start deleted to break
ordering cycle starting with firewall.service/start
Also note that the problem is not reproducible if the Provides: and
Should-Start: name match the init script name, so I guess mismatch in
the script name and header is at the root of the problem.
--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org