On Fri, Jan 6 2023 at 09:47:29 AM -0500, Matthias Clasen mclasen@redhat.com wrote:
On my Silverblue system, the main offender for this is podman.
As soon as I have a toolbox running, conmon holds up the reboot for a very long time because it refuses to shutdown properly.
Maybe instead of SIGKILL, we should send SIGQUIT instead. That way abrt should complain next time you boot and users will have an opportunity to report bugs to the package maintainer, instead of the problem being forever ignored. Killing things silently makes it real hard to report bugs. And as a bonus, the core dump should actually show what the process was doing at the time it got killed. The more I think about it, the better this sounds. Currently this can be configured using FinalKillSignal=SIGQUIT, so we'd just need to figure out the right place to put that.
systemd already has a configuration option for this so we'd just have to turn it on.
I think most of the feedback on this change can be summarized as:
(a) Specific services want longer timeouts.
This can already be configured via existing configuration mechanisms, so I think it's safe enough to ignore this problem. E.g. if a quick shutdown will brick your Pinephone modem or corrupt your database, then whatever service is involved there should request a larger timeout.
(b) Also, Fedora Server wants to opt out of this change entirely.
But I think all other Fedora editions and spins do want this change, so we shouldn't make it a Workstation-specific change. Maybe we can change systemd defaults and Fedora Server could install a configuration override?
Michael