Kubuntu/Ubuntu does not remove everything from memory at shutdown

Reinhold Rumberger rrumberger at web.de
Fri Mar 12 19:14:09 GMT 2010


On Friday 12 March 2010, Dotan Cohen wrote:
> > As explained before: no, it's the booting OS' responsibility to
> > put the hardware into a state in which it can use it.
> > For more detail, read Howard Coles Jr.'s reply - he explains
> > this pretty well.
> 
> Thanks. I went back over that and indeed HCJ's reply was very
> informative. Not being a hardware dev I cannot agree nor disagree
> with his stance, but it sounds more "ideal world" than status
> quo.

I'm actually finding it surprisingly hard to argue that this is 
completely Win's fault, since I think that different OSes should play 
nice and cooperate. Since MS takes a "fuck everybody else" stance on 
this matter and actually encourages driver development that ignores 
others, I think this is more a problem in the Win world than the 
Linux/Unix world, which actually tries to be agreeable. MS should 
therefore start playing nice (not overriding boot loaders, 
recognising the existence of other OS', etc.) before I'll change my 
opinion in this matter.
(To summarise: I'm pissed at MS and think they should solve their own 
problems or learn to cooperate.)

> > Oh, and it's not another OS, just another distro. Choice is the
> > main reason for the different distros, you know...
> 
> Different distros are different OSes, but that is unimportant.

The OS is GNU/Linux (in different versions), the distros just package 
and manage different additional software.
You have a point, as distros are also in the habit of applying 
patches to the kernel, slightly changing the underlying OS. If you 
follow that line of thought, though, Windows with malware that 
patches its kernel is a different OS than Windows without that 
malware...

> If it is indeed a bug in Windows that is triggered by Ubuntu and
> not by Mandriva,

I still think this isn't in Windows per se, but rather some third-
party driver. ;-)

> then it is still a valid feature request.
> Considering that Ubuntu is designed to be installed alongside
> Windows (the installer even does the nicety of setting up grub
> for this) then it still might be considered a bug.

One that will be pretty hard to find and fix, since the devs likely 
don't have access to Steve's hardware to debug this and since the 
only party able to get all the necessary info is MS/the soundcard 
driver developer...

It's more of an interop problem than a bug, and those are a bitch to 
find and fix.

> >> Where would you like him to get the information from, if not
> >> from the log messages?
> > 
> > The scripts, by asking, by reading the other emails? Seriously,
> > the log messages are more for developers and for giving you a
> > clue where in the boot/shutdown procedure you currently are,
> > not for telling you every little action that is taking place.
> > That's why splash screens have become so popular (that and
> > because the average user is uncomfortable being confronted with
> > too much info).
> 
> Here I disagree. The logs _are_ telling his exactly what is
> happening, so why should he go bug the devs about it?

Since I'm unwilling to shut down unless there is a kernel update, 
I've looked through the scripts, and what don't you know, they 
actually *do* mention killing all programs... :-P
/etc/init.d/killprocs (slightly adapted to my max line length):
do_start () {
        # Kill all processes.
        log_action_begin_msg \
            "Asking all remaining processes to terminate"
        killall5 -15 # SIGTERM
        log_action_end_msg 0
        alldead=""
        for seq in 1 2 3 4 5 6 7 8 9 10; do
                # use SIGCONT/signal 18 to check if there are
                # processes left.  No need to check the exit code
                # value, because either killall5 work and it make
                # sense to wait for processes to die, or it fail and
                # there is nothing to wait for.
                
                if killall5 -18 ; then
                    :
                else
                    alldead=1
                    break
                fi

                sleep 1
        done
        if [ -z "$alldead" ] ; then
            log_action_begin_msg "Killing all remaining processes"
            killall5 -9 # SIGKILL
            log_action_end_msg 1
        else
            log_action_begin_msg \
                "All processes ended within $seq seconds."
            log_action_end_msg 0
        fi
}

Note how all those "log_action_begin_msg" commands log what is going 
on in greater detail than most init scripts do.

> But this is
> another stupid thing for us to argue about and distracts from the
> issue at hand.

I think going *slightly* OT adds value to threads and doesn't 
distract from the main thread too much. I, at least, often learn a 
lot from these digressions. ;-)

  --Reinhold



More information about the kubuntu-users mailing list