On Fri, 10.06.11 18:58, Denys Vlasenko (dvlasenk@xxxxxxxxxx) 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. -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel