sts-sponsors team mailing list archive
-
sts-sponsors team
-
Mailing list archive
-
Message #02627
[Bug 1911187] Re: scheduled reboot reboots immediately if dbus or logind is not available
minor comment, for systemd (and really all packages) I like to name the
patches with the lp bug number, so i changed your patch name to add the
lp1911187- prefix.
also another minor comment, as we'd discussed before I made a slight
change to the comment in the patch for clarification:
if (arg_when > 0)
return logind_schedule_shutdown();
- /* no delay, or logind is not at all available */
+ /* no delay */
if (geteuid() != 0) {
if (arg_dry_run || arg_force > 0) {
(void) must_be_root();
--
You received this bug notification because you are a member of STS
Sponsors, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1911187
Title:
scheduled reboot reboots immediately if dbus or logind is not
available
Status in systemd package in Ubuntu:
Fix Released
Status in systemd source package in Bionic:
In Progress
Status in systemd source package in Focal:
In Progress
Status in systemd source package in Groovy:
In Progress
Bug description:
[IMPACT]
When, for whatever reason, logind or dbus is not available scheduled reboot reboots the machine immediately.
From the sources it seems that this is intended :
https://github.com/systemd/systemd/blob/master/src/systemctl/systemctl-logind.c#L318
However, I report this as a bug since this is against the logic of a scheduled reboot; if someone schedules a reboot they want the system to reboot at the specified time not immediately.
There has been a discussion upstream ( https://github.com/systemd/systemd/issues/17575 ) and
a PR ( https://github.com/systemd/systemd/pull/18010 ).
Upstream community is not willing to accept the patch but debian is.
I open this bug to to pull the patch into Ubuntu once it lands in debian.
[TEST PLAN]
The simpler reproducer is to disable dbus to imitate the real world
case.
# systemctl stop dbus.service
# systemctl stop dbus.socket
# shutdown +1140 -r "REBOOT!"
Failed to set wall message, ignoring: Failed to activate service 'org.freedesktop.login1': timed out (service_start_timeout=25000ms)
Failed to call ScheduleShutdown in logind, proceeding with immediate shutdown: Connection timed out
Connection to groovy closed by remote host.
Connection to groovy closed.
[WHERE PROBLEM COULD OCCUR]
This patch changes the behaviour of scheduled reboot in case logind or dbus has failed.
Originally, if logind is not available (call to logind bus fails
https://github.com/systemd/systemd/blob/master/src/systemctl/systemctl-logind.c#L319)
it proceeds with immediate shutdown.
This patch changes this behaviour and instead of shutting down it does nothing.
The actual regression potential is a user asking for a reboot and not getting it.
Other than that the changes in the code are very small and simple and unlikely to break anything.
[OTHER]
This is now fixed in H, currently affects B,G,F.
Debian bug reports :
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=931235
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=960042
Upstream issue : https://github.com/systemd/systemd/issues/17575
PR : https://github.com/systemd/systemd/pull/18010
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1911187/+subscriptions