systemd: please stop trying to take over the world :)

Lennart Poettering mzerqung at 0pointer.de
Mon Jun 13 08:17:02 UTC 2011


On Fri, 10.06.11 18:58, Denys Vlasenko (dvlasenk at redhat.com) wrote:

> 
> On Fri, 2011-06-10 at 16:11 +0200, Michal Schmidt wrote:
> > On 06/10/2011 03:59 PM, Steve Clark wrote:
> > > On 06/10/2011 09:36 AM, Michal Schmidt wrote:
> > >> systemd does not take the system down when it crashes. It catches the
> > >> signal, dumps core and freezes, but does not exit.
> > >>                         ^^^^^^^
> > > So you just end up with a "froze" system instead of a crashed system????
> > 
> > No, only systemd freezes itself. Other processes continue running.
> 
> systemd-26/src/main.c::crash() is the function which does it.
> Assuming it will not recurse by crashing again, of course. It calls
> log_error and assert_se, which go into log_dispatch(), which logs to
> syslog, may try to write to klog, and whatnot... this doesn't look
> too robust to me.
> 
> But anyway. Assuming it successfully froze. Does it help?
> Yes. How much? Well, it's better than instant oops which happens
> when PID 1 exits, but reaping of processes reparented
> to init will stop, which, for example, makes the hang from pid
> exhaustion just a question of time.
> 
> Ultimately, this stems from the decision to make systemd
> to run as PID 1 process. Are there technical reasons for this?

Yupp, if we oops the kernel all processes are aborted at the same
time. If we just freeze systemd they can still be shutdown cleanly and
everything synced to disk.

Lennart

-- 
Lennart Poettering - Red Hat, Inc.


More information about the devel mailing list