Summary: | systemd unusable after segfault, zombies everywhere, unable to shutdown | ||
---|---|---|---|
Product: | systemd | Reporter: | Peter Wu <peter> |
Component: | general | Assignee: | systemd-bugs |
Status: | RESOLVED WONTFIX | QA Contact: | systemd-bugs |
Severity: | major | ||
Priority: | medium | CC: | peter |
Version: | unspecified | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
Peter Wu
2014-03-20 22:13:54 UTC
Besides SIGSEGV (11), the following signals also exhibit the issue: - SIGQUIT (3) - SIGILL (4) - SIGABRT (6) - SIGBUS (7) - SIGFPE (8) There's no reason really to second guess the admin. If the admin sends SIGSEGV to PID 1 that's hardly any better than let's say connecting /dev/urandom with /dev/mem... The admin has myriads of ways to bring the system to a standstill, anyway, SIGSEGV is just one of them. Sending SIGSEGV as admin doesn't happen by accident. From systemd's perspective it's when PID 1 actually crashed, and in that case things are fucked really, we cannot recover from that (simply because the kernel doesn't allow us to "eat up" sigsegv, it will always cause a kernel oops, either immediately or when we try to exec() a new binary. Note that sysvinit is only marginally better at that. Sure you can still invoke a service or two, since that's indepndent of the init process, but you cannot shutdown or anything else anymore. The simple summary is that the system is fucked, and we should try hard to fix the reasons in systemd/PID 1 so that this never really happens. In a way, this isn't any different from making the kernel oops. Thankfully though systemd is vastly simpler than the kernel and knows no loadable extensions, so things are much easier for us. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.