Re: init und Linux 1.3.69

Miquel van Smoorenburg (miquels@drinkel.ow.org)
Wed, 6 Mar 1996 20:52:42 +0100 (MET)


Hmm - I now know what goes wrong, I think.

In article <Pine.LNX.3.91.960306112619.31697A@empire.majestic.com.au>,
System Administrator <sysadm@majestic.com.au> wrote:
>I have also been using ctrl-alt-del since... ummm... ne'ermind
>0.9xpl14 somewhere... and this is the first time I've seen this sort of
>thing. I get all the:
>Stopping kerneld...
>Stopping innd...
>Stoopping this...
>Stopping that...
>Sending processes the TERM signal...
>INIT: No more processes in runlevel 6
>INIT: No more processes in runlevel 6
>INIT: No more processes in runlevel 6
>Unmounting local filesystems
>..
>Sending processes the KILL signal...
>..
>Please wait while rebooting the system...
>
>Except that sometimes it hangs when it says:
>INIT: No more processes in runlevel 6
>And then does no more... almost as if there are no processes even.

What happens is that init writes to syslog(), and it hangs in the
syslog() call. There are lots of prblems with syslogd, but I
don't know here it comes from - could be syslog() in the lib
(doubt it), the syslogd, the handling of UNIX sockets in the
kernel or a combination of it.

Another symptom is that you can't login as root the first
minute after boot - login will hang while trying to syslog().

Now, when init hangs in the syslog of "sending processes the
KILL signal" it is about to make the switch to runlevel 6 or
0. If you then press ctrl-alt-del again, it interrupts the
syslog() and init will run. However things are messed up at
that moment. I think SIGINT at least should be blocked when
changing runlevels.

I've fixed it in sysvinit-2.59, ofwhich I keep promising
it will be out this week :) by not calling syslog() when changing
runlevels. Fixes the symptom, not the problem.

Mike.

--
+ Miquel van Smoorenburg   + Cistron Internet Services +  Living is a     |
| miquels@cistron.nl (SP5) | Independent Dutch ISP     |   horizontal     |
+ miquels@drinkel.ow.org   + http://www.cistron.nl/    +      fall        +