Your message dated Sun, 14 Nov 2010 22:18:53 +0000
with message-id <[email protected]>
and subject line Bug#594253: fixed in sysvinit 2.88dsf-13
has caused the Debian Bug report #594253,
regarding init.d/rc concurrent shutdown tries to run the stop action twice
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
594253: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=594253
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: sysv-rc
Version: 2.86.ds1-65
Severity: normal
Hi Petter :)
Thanks for the tips, it turns out this is nothing particularly tricky
at all, it's just a plain vanilla bug in /etc/init.d/rc ;
Around line 184 we have this code:
case "$runlevel" in
0|6)
ACTION=stop
...
Followed by this at line 220:
if [ makefile = "$CONCURRENCY" ]
then
[ "$previous" != N ] && startup stop
...
which calls 'startup stop' the first time, and is followed at line 268 by:
if [ makefile = "$CONCURRENCY" ]
then
if [ S = "$runlevel" ]
then
startup boot
else
startup $ACTION
fi
else
...
Which then calls 'startup stop' again :(
So it's only on arches where the first stop actually powers down the machine
before this script completes that you might not notice we are losing here,
but clearly this bug is present on all arches and racing the poweroff.
Adding an elif $ACTION != stop to the second case might be enough to fix it,
but I haven't looked any deeper for other bugs that might shake out of this.
(and very much ought to get some sleep right now :)
Attached below is a set -x trace of init.d/rc that demonstrates this really
happening in more excruciating detail if you still need it...
Workaround in the meantime is to set CONCURRENCY=none. This doesn't affect
the script when running in that mode.
Cheers!
Ron
# halt; logout;
Broadcast message from r...@squeezebox (ttyS0) (Tue Jan 4 12:00:57 2000):
The system is going down for system halt NOW!
INIT: Sending processes the TERM signal
+ PATH=/sbin:/usr/sbin:/bin:/usr/bin
+ export PATH
+ date +%s
+ starttime=946949457
+ CONCURRENCY=makefile
+ scriptname=/etc/init.d/rc
+ umask 022
+ trap on_exit EXIT
+ trap : INT QUIT TSTP
+ stty onlcr
+ [ -e /lib/init/splash-functions-base ]
+ . /lib/init/splash-functions-base
+ [ -e /lib/init/splash-functions ]
+ runlevel=0
+ [ 0 != ]
+ runlevel=0
+ [ 0 = ]
+ previous=2
+ [ 2 = ]
+ export runlevel previous
+ [ -f /etc/default/rcS ]
+ . /etc/default/rcS
+ TMPTIME=0
+ SULOGIN=no
+ DELAYLOGIN=no
+ UTC=yes
+ VERBOSE=no
+ FSCKFIX=no
+ RAMRUN=no
+ RAMLOCK=no
+ export VERBOSE
+ [ -f /lib/lsb/init-functions ]
+ . /lib/lsb/init-functions
+ FANCYTTY=
+ [ -e /etc/lsb-base-logging.sh ]
+ true
+ [ none != makefile ]
+ test -s /etc/init.d/.depend.boot
+ test -s /etc/init.d/.depend.start
+ test -s /etc/init.d/.depend.stop
+ test -e /etc/init.d/.legacy-bootordering
+ startpar -v
+ CONCURRENCY=makefile
+ log_action_msg Using makefile-style concurrent boot in runlevel 0
+ echo Using makefile-style concurrent boot in runlevel 0.
Using makefile-style concurrent boot in runlevel 0.
+ [ -d /etc/rc0.d ]
+ PROGRESS_STATE=0
+ [ -f /dev/.initramfs/progress_state ]
+ progress_size=33
+ ACTION=stop
+ first_step=0
+ progress_size=100
+ step_change=-1
+ num_steps=0
+ is_splash_stop_scripts /etc/rc0.d/K01sendsigs
+ scriptname=/etc/rc0.d/K01sendsigs
+ return 1
+ num_steps=1
+ is_splash_stop_scripts /etc/rc0.d/K01urandom
+ scriptname=/etc/rc0.d/K01urandom
+ return 1
+ num_steps=2
+ is_splash_stop_scripts /etc/rc0.d/K02rsyslog
+ scriptname=/etc/rc0.d/K02rsyslog
+ return 1
+ num_steps=3
+ is_splash_stop_scripts /etc/rc0.d/K03hwclock.sh
+ scriptname=/etc/rc0.d/K03hwclock.sh
+ return 1
+ num_steps=4
+ is_splash_stop_scripts /etc/rc0.d/K03umountnfs.sh
+ scriptname=/etc/rc0.d/K03umountnfs.sh
+ return 1
+ num_steps=5
+ is_splash_stop_scripts /etc/rc0.d/K04networking
+ scriptname=/etc/rc0.d/K04networking
+ return 1
+ num_steps=6
+ is_splash_stop_scripts /etc/rc0.d/K05ifupdown
+ scriptname=/etc/rc0.d/K05ifupdown
+ return 1
+ num_steps=7
+ is_splash_stop_scripts /etc/rc0.d/K06umountfs
+ scriptname=/etc/rc0.d/K06umountfs
+ return 1
+ num_steps=8
+ is_splash_stop_scripts /etc/rc0.d/K07umountroot
+ scriptname=/etc/rc0.d/K07umountroot
+ return 1
+ num_steps=9
+ is_splash_stop_scripts /etc/rc0.d/K08halt
+ scriptname=/etc/rc0.d/K08halt
+ return 1
+ num_steps=10
+ step=0
+ [ makefile = makefile ]
+ [ 2 != N ]
+ startup stop
+ [ start = stop ]
+ [ boot = stop ]
+ startpar -p 4 -t 20 -T 3 -M stop -P 2 -R 0
Asking all remaining processes to terminate...done.
All processes ended within 1 seconds....done.
Stopping enhanced syslogd: rsyslogd.
Saving the system clock.
Deconfiguring network interfaces...done.
Cleaning up ifupdown....
Deactivating swap...done.
Will now halt.
[ 79.330196] System halted.
+ eval failed_service=""
skipped_service=""
+ failed_service=
+ skipped_service=
+ [ -n ]
+ [ -n ]
+ unset failed_service skipped_service
+ [ makefile = makefile ]
+ [ S = 0 ]
+ startup stop
+ [ start = stop ]
+ [ boot = stop ]
+ startpar -p 4 -t 20 -T 3 -M stop -P 2 -R 0
Asking all remaining processes to terminate...done.
All processes ended within 1 seconds....done.
Stopping enhanced syslogd: rsyslogd already stopped.
Deconfiguring network interfaces...ifdown: failed to open statefile
/etc/network/run/ifstate: Read-only file system
failed.
Cleaning up ifupdown....
Saving the system clock.
hwclock: Could not open file with the clock adjustment parameters in it
(/etc/adjtime) for writing, errno=30: Read-only file system.
Drift adjustment parameters not updated.
Deactivating swap...done.
Will now halt.
[ 83.302343] Unable to handle kernel NULL pointer dereference at virtual
address 00000000
[ 83.310517] pgd = dded4000
[ 83.313259] [00000000] *pgd=1defc031, *pte=00000000, *ppte=00000000
[ 83.319579] Internal error: Oops: 17 [#1]
<snip oops>
[ 83.631246] ---[ end trace eb06a24eadc042a7 ]---
Segmentation fault
+ eval failed_service=""
skipped_service=""
+ failed_service=
+ skipped_service=
+ [ -n ]
+ [ -n ]
+ unset failed_service skipped_service
+ trap - EXIT
+ date +%s
+ endtime=946949466
+ duration=9
+ log_action_msg Running scripts in rc0.d/ took 9 seconds
+ echo Running scripts in rc0.d/ took 9 seconds.
Running scripts in rc0.d/ took 9 seconds.
+ exit 0
--- End Message ---
--- Begin Message ---
Source: sysvinit
Source-Version: 2.88dsf-13
We believe that the bug you reported is fixed in the latest version of
sysvinit, which is due to be installed in the Debian FTP archive:
initscripts_2.88dsf-13_i386.deb
to main/s/sysvinit/initscripts_2.88dsf-13_i386.deb
sysv-rc_2.88dsf-13_all.deb
to main/s/sysvinit/sysv-rc_2.88dsf-13_all.deb
sysvinit-utils_2.88dsf-13_i386.deb
to main/s/sysvinit/sysvinit-utils_2.88dsf-13_i386.deb
sysvinit_2.88dsf-13.diff.gz
to main/s/sysvinit/sysvinit_2.88dsf-13.diff.gz
sysvinit_2.88dsf-13.dsc
to main/s/sysvinit/sysvinit_2.88dsf-13.dsc
sysvinit_2.88dsf-13_i386.deb
to main/s/sysvinit/sysvinit_2.88dsf-13_i386.deb
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Petter Reinholdtsen <[email protected]> (supplier of updated sysvinit package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.8
Date: Sun, 14 Nov 2010 23:08:45 +0100
Source: sysvinit
Binary: sysvinit sysvinit-utils sysv-rc initscripts
Architecture: source i386 all
Version: 2.88dsf-13
Distribution: unstable
Urgency: low
Maintainer: Debian sysvinit maintainers
<[email protected]>
Changed-By: Petter Reinholdtsen <[email protected]>
Description:
initscripts - scripts for initializing and shutting down the system
sysv-rc - System-V-like runlevel change mechanism
sysvinit - System-V-like init utilities
sysvinit-utils - System-V-like utilities
Closes: 584862 590560 594253 597338
Changes:
sysvinit (2.88dsf-13) unstable; urgency=low
.
[ Kel Modderman ]
* Remove runlevel duration printing code from init.d/rc script
as it was scheduled for removal before squeeze and imperfect.
(Closes: #584862)
* Prevent init.d/rc script from executing stop scripts twice
in runlevels 0 and 6 when conccurrent boot is enabled.
(Closes: #594253)
* Modify debian/startpar/patches/06_stdin_notty.patch so it applies
without fuzziness.
* Add debian/startpar/patches/08_kfreebsd_proc_error_debug.patch to
prevent frequent messages on Debian GNU/kFreeBSD from littering boot
messages. Thanks Petr Salinger for the patch. (Closes: #590560)
* Avoid umounting virtual filesystems (eg, cgroup) mounted under
/sys/* as there is no good reason to do so. Thanks Michael Biebl
for the patch. (Closes: #597338)
.
[ Petter Reinholdtsen ]
* Update Standards-Version from 3.8.4 to 3.9.1. No changes needed.
Checksums-Sha1:
772ce56118b4a57e84b1e2525423159ef43fc139 1511 sysvinit_2.88dsf-13.dsc
6351cc262c46ed040c7fd3fa27d216b5f91f5345 166664 sysvinit_2.88dsf-13.diff.gz
98e6b45400dbc631a1c82484c538e55d567e7aac 115444 sysvinit_2.88dsf-13_i386.deb
c7e13b94dc4288984c921b155885c58930646040 115994
sysvinit-utils_2.88dsf-13_i386.deb
e9f7c0f51a9acdbadbe3e07a475c3da30745ff4e 68738 initscripts_2.88dsf-13_i386.deb
7a7097ff204c5239fe8de393b736f1a8d8849a6f 73762 sysv-rc_2.88dsf-13_all.deb
Checksums-Sha256:
bfc3a80e2d82849061b104fc3b937dbc43252d2b73c448b5fc2315a51739ebd2 1511
sysvinit_2.88dsf-13.dsc
963b60103387d15643ecab5b10ea4bac28118cc3762b8410feb5d6a54bf668d6 166664
sysvinit_2.88dsf-13.diff.gz
ab7ff1a0a10d0e789c1e9f4a337f51fc9eb01c53853075f131e8e8c41d60d9bb 115444
sysvinit_2.88dsf-13_i386.deb
7930f116692b05b0d5de385d841072ca3dc10bf3072a9866d8d4b944777d9b76 115994
sysvinit-utils_2.88dsf-13_i386.deb
2ac0c7bc99fa71cbf40a07b32a9a0939a661a7c4f4ad3acd6367670b26e93436 68738
initscripts_2.88dsf-13_i386.deb
04cd910e81a24c14c9333054bdf5fc456415d46cf93fc0cdef1dea518a88cebd 73762
sysv-rc_2.88dsf-13_all.deb
Files:
7a327c41f07caefd48282e54ca6ca0c5 1511 admin required sysvinit_2.88dsf-13.dsc
838b5e93e4d91c3a2f399608e893c210 166664 admin required
sysvinit_2.88dsf-13.diff.gz
a8ef10ae28691b73d92453bd671770ac 115444 admin required
sysvinit_2.88dsf-13_i386.deb
7254cdfe39c60f07b3760b9177438443 115994 admin required
sysvinit-utils_2.88dsf-13_i386.deb
f9ef015c00147a7f02cacbffc6e5a2d7 68738 admin required
initscripts_2.88dsf-13_i386.deb
3e1fec53b494ba4c19d3dd311d672c2e 73762 admin required
sysv-rc_2.88dsf-13_all.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
iD8DBQFM4F7120zMSyow1ykRAm6kAKDq2iGeEIEM2B3OxS4ElH6pU9Zk2gCfbV+W
eKv6cAm7PXDCJDXrLzN6ZHw=
=1tEE
-----END PGP SIGNATURE-----
--- End Message ---
_______________________________________________
Pkg-sysvinit-devel mailing list
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/pkg-sysvinit-devel