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

Reply via email to