The exact 90-second delay (06:16:44 to 06:18:14) points right to the
systemd 90s IPC timeout :))

In systemd v255, generators run inside a sandboxed child process via an
AF_UNIX socketpair. During daemon-reexec, PID 1 waits for the handshake
from this child. If a generator stalls during state deserialization, the
socket hits the 90-second timeout and returns `EPROTO` (Protocol error).

PID 1 treating this as an emergency and calling `freeze()` is a rough
upstream design decision that hangs the whole production VM instead of
just falling back to un-sandboxed execution.

Your `needrestart` override is a great stopgap. You can also disable
generator sandboxing completely by adding `systemd.sandbox_generators=0`
to the kernel command line, forcing systemd to run generators directly
like in v254 without the IPC socket risk.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2165295

Title:
  systemd freezes after daemon-reexec triggered by unattended-upgrades /
  needrestart on Ubuntu 24.04

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/2165295/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to