Your message dated Wed, 21 Aug 2019 11:48:47 +0000
with message-id <[email protected]>
and subject line closing on timeout: Please implement a kindler gentler 
single-user runlevel
has caused the Debian Bug report #142424,
regarding Please implement a kindler gentler single-user runlevel
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.)


-- 
142424: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=142424
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: sysvinit
Version: 2.84-2
Severity: normal

Going to single-user runlevel destroys ALL processes on the machine using
signals, by calling "killall5" inside the init.d/S20single script, (probably
because it does not trust individual /etc/init.d/XXX stop scripts ?)

1) I think this goes agains the original System V philosophy,
2) This makes the single-user mode "one-way only": it's *impossible* to go
   back to multi-user mode without rebooting, because vital daemons like DHCP
   or portmap were wrongly killed.


1) - extract from "man init" on woody:
   
   When  init  is requested to change the runlevel, it sends the warning signal
   SIGTERM to all processes that are undefined in the new  runlevel. It  then
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   waits  5 seconds before forcibly terminating these processes via the SIGKILL
   signal.  Note that init assumes that all these processes (and their descenĀ­
   dants)  remain  in  the same process group which init originally created for
   them.  If any process changes its process  group  affiliation  it will  not
   receive these signals.  Such processes need to be terminated separately.

I find this quite different to killing "ALL" processes without restriction !

   - extract from "man init" on Solaris 8:
   
     Run Level Changes
     When a run level change request  is  made,  init  sends  the
     warning signal (SIGTERM) to all processes that are undefined
                                               ^^^^^^^^^^^^^^^^^
     in the target run level. init waits five seconds before for-
     cibly  terminating these processes by sending a kill signal
     (SIGKILL).
     
Same read. Later:

           left mounted. During the transition  down  to  single-
           user  mode,  all  processes started by  init or init.d
           scripts that should  only  be  running  in  multi-user
           mode  are  killed.
            

2) Some vital services, like init.d/networking and init.d/portmap for
   instance, are meant to be launched at boot and never stopped. The problem
   is they rely on a active process to function properly. Going to single
   user mode stop these services wrongly, and even worse: brutaly (not
   even calling their /etc/init.d/XXX stop script).
   
   So a return to a working multi-user mode imply a lenghty reboot (and this
   can be learned the hard way !)


3) Suggested workarounds (some of them are cumulative, some other mutually
exclusive):

- modify the init man page to advertise the fact that returning from
single-user mode kills really ALL processes.

- ask daemons maintainers to take this single-user specificity 
  into consideration

- rerun boot scripts after entering single-user mode ?

- implement a "softer single-user mode" (for instance runlevel number 2),
which would just bring down services with /etc/init.d/XXX stop scripts, and
no brutal signals.



4) This "cannot return from single-user mode" bug is related to the very old
bug #16273 : <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=16273>
"cannot enter single user mode remotely"




-- System Information
Debian Release: 3.0
Architecture: i386
Kernel: Linux cartman 2.2.20 #2 Tue Dec 18 20:21:39 CET 2001 i686
Locale: LANG=fr, LC_CTYPE=fr_FR

Versions of packages sysvinit depends on:
ii  dpkg                          1.9.20     Package maintenance system for Deb
ii  e2fsprogs                     1.27-2     The EXT2 file system utilities and
ii  libc6                         2.2.5-4    GNU C Library: Shared libraries an
ii  mount                         2.11n-4    Tools for mounting and manipulatin
ii  util-linux                    2.11n-4    Miscellaneous system utilities.



--- End Message ---
--- Begin Message ---
This bug was tagged 'moreinfo', which means that bug can't be addressed until
more information is provided. Since no additional information was provided for
6 months, bug is hereby closed.

If you believe this is mistake and required information is actually present,
or if you want to provide extra information, please reopen bug and remove
'moreinfo' tag.

Documentation about bug manipulation can be found at
https://www.debian.org/Bugs/server-control.en.html

-- 
This email is created semi-automatically; if it causes disruption
or otherwise harms normal Debian workflow, please complain.

--- End Message ---

Reply via email to