[Bug 1806487] Re: [regression] Crashing with dbus.exceptions.DBusException when logind can't be started (yet)
Balint Reczey
balint.reczey at canonical.com
Wed Dec 19 18:44:55 UTC 2018
Verifed 1.1ubuntu1.18.04.7~16.04.1 on Xenial:
root at x-lp-1806487-uu:~# ln -s /dev/null /etc/systemd/system/systemd-logind.service
root at x-lp-1806487-uu:~# service systemd-logind stop1.1ubuntu1.18.04.7~16.04.1
root at x-lp-1806487-uu:~# vi /etc/apt/sources.list
root at x-lp-1806487-uu:~# apt update -qq
23 packages can be upgraded. Run 'apt list --upgradable' to see them.
root at x-lp-1806487-uu:~# apt install -qq unattended-upgrades
The following package was automatically installed and is no longer required:
libfreetype6
Use 'apt autoremove' to remove it.
Suggested packages:
bsd-mailx default-mta | mail-transport-agent needrestart
The following packages will be upgraded:
unattended-upgrades
1 upgraded, 0 newly installed, 0 to remove and 22 not upgraded.
Need to get 40.2 kB of archives.
After this operation, 69.6 kB of additional disk space will be used.
Preconfiguring packages ...
(Reading database ... 25709 files and directories currently installed.)
Preparing to unpack .../unattended-upgrades_1.1ubuntu1.18.04.7~16.04.1_all.deb ...
Unpacking unattended-upgrades (1.1ubuntu1.18.04.7~16.04.1) over (0.90ubuntu0.9) ...
Processing triggers for systemd (229-4ubuntu21.10) ...
Processing triggers for ureadahead (0.100.0-19) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up unattended-upgrades (1.1ubuntu1.18.04.7~16.04.1) ...
Installing new version of config file /etc/kernel/postinst.d/unattended-upgrades ...
Installing new version of config file /etc/pm/sleep.d/10_unattended-upgrades-hibernate ...
root at x-lp-1806487-uu:~# systemctl daemon-reload
root at x-lp-1806487-uu:~# service systemd-logind status
● systemd-logind.service
Loaded: masked (/dev/null; bad)
Active: inactive (dead) since Wed 2018-12-19 18:41:11 UTC; 1min 14s ago
Main PID: 376 (code=killed, signal=TERM)
Status: "Processing requests..."
Dec 19 14:19:03 x-lp-1806487-uu systemd-logind[376]: New seat seat0.
Dec 19 14:19:03 x-lp-1806487-uu systemd[1]: Started Login Service.
Dec 19 18:40:20 x-lp-1806487-uu systemd-logind[376]: New session c1 of user root.
Dec 19 18:41:11 x-lp-1806487-uu systemd[1]: Stopping Login Service...
Dec 19 18:41:11 x-lp-1806487-uu systemd[1]: Stopped Login Service.
root at x-lp-1806487-uu:~# /usr/share/unattended-upgrades/unattended-upgrade-shutdown --debug
root at x-lp-1806487-uu:~# tail /var/log/unattended-upgrades/unattended-upgrades-shutdown.log
2018-12-19 18:42:33,848 WARNING - Could not get delay inhibitor lock
2018-12-19 18:42:33,849 DEBUG - Skip waiting for signals, starting operation now
2018-12-19 18:42:33,849 DEBUG - Starting countdown of 25.0 minutes
2018-12-19 18:42:33,850 DEBUG - Initializing apt_pkg configuration
2018-12-19 18:42:33,850 DEBUG - get_lock returned 7
2018-12-19 18:42:33,851 DEBUG - lock not taken
root at x-lp-1806487-uu:~# rm /etc/systemd/system/systemd-logind.service
root at x-lp-1806487-uu:~# systemctl daemon-reload
root at x-lp-1806487-uu:~# service unattended-upgrades restart
root at x-lp-1806487-uu:~# service unattended-upgrades restart
root at x-lp-1806487-uu:~# service unattended-upgrades status
● unattended-upgrades.service - Unattended Upgrades Shutdown
Loaded: loaded (/lib/systemd/system/unattended-upgrades.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2018-12-19 18:43:05 UTC; 6s ago
Docs: man:unattended-upgrade(8)
Main PID: 1505 (unattended-upgr)
Tasks: 2
Memory: 8.4M
CPU: 66ms
CGroup: /system.slice/unattended-upgrades.service
└─1505 /usr/bin/python3 /usr/share/unattended-upgrades/unattended-upgrade-shutdown --wait-for-signal
Dec 19 18:43:05 x-lp-1806487-uu systemd[1]: Started Unattended Upgrades Shutdown.
root at x-lp-1806487-uu:~# tail /var/log/unattended-upgrades/unattended-upgrades-shutdown.log
2018-12-19 18:42:33,848 WARNING - Could not get delay inhibitor lock
2018-12-19 18:42:33,849 DEBUG - Skip waiting for signals, starting operation now
2018-12-19 18:42:33,849 DEBUG - Starting countdown of 25.0 minutes
2018-12-19 18:42:33,850 DEBUG - Initializing apt_pkg configuration
2018-12-19 18:42:33,850 DEBUG - get_lock returned 7
2018-12-19 18:42:33,851 DEBUG - lock not taken
2018-12-19 18:43:05,014 WARNING - SIGTERM or SIGHUP received, stopping unattended-upgradesonly if it is running
root at x-lp-1806487-uu:~#
** Tags removed: verification-needed verification-needed-bionic verification-needed-cosmic verification-needed-xenial
** Tags added: verification-done verification-done-bionic verification-done-cosmic verification-done-xenial
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to unattended-upgrades in Ubuntu.
https://bugs.launchpad.net/bugs/1806487
Title:
[regression] Crashing with dbus.exceptions.DBusException when logind
can't be started (yet)
Status in unattended-upgrades package in Ubuntu:
Fix Released
Status in unattended-upgrades source package in Xenial:
Fix Committed
Status in unattended-upgrades source package in Bionic:
Fix Committed
Status in unattended-upgrades source package in Cosmic:
Fix Committed
Bug description:
[Impact]
* Unattended-upgrades.service may crash due to starting earlier than dbus and logind are up or due to logind failing to start.
* Unattended-upgrades.service not starting prevents installation of upgrades on shutdown (when u-u is configured to do that) and also prevents gracefully stopping running u-u _before_ shutdown as implemented in LP: #1803137. U-u is still stopped gracefully after the shutdown transaction is started, but that may let service restarts hang the upgrade process.
* The fix is adding an After service dependency on systemd-logind to ensure starting u-u.service after logind at least tried to start and also changing u-u-s to start even with logind's absence.
[Test Case]
* Stop systemd-logind and make it unable to start for example by
masking it:
root at bb-logind:~# ln -s /dev/null /etc/systemd/system/systemd-logind.service
root at bb-logind:~# systemctl daemon-reload
root at bb-logind:~# service systemd-logind stop
root at bb-logind:~# service systemd-logind status
● systemd-logind.service
Loaded: masked (/dev/null; bad)
Active: inactive (dead) since Thu 2018-12-13 13:02:44 UTC; 1s ago
Main PID: 1938 (code=killed, signal=TERM)
Status: "Processing requests..."
...
* Run u-u-s and observe it crashing in unfixed version and starting
with falling back to polling logind instead taking the inhibition lock
at its start:
root at bb-logind:~# /usr/share/unattended-upgrades/unattended-upgrade-shutdown --debug
root at bb-logind:~# tail /var/log/unattended-upgrades/unattended-upgrades-shutdown.log
...
2018-12-13 14:30:17,600 WARNING - Could not get delay inhibitor lock
2018-12-13 14:30:17,601 DEBUG - Skip waiting for signals, starting operation now
2018-12-13 14:30:17,601 DEBUG - Starting countdown of 25.0 minutes
2018-12-13 14:30:17,602 DEBUG - Initializing apt_pkg configuration
2018-12-13 14:30:17,602 DEBUG - get_lock returned 7
2018-12-13 14:30:17,602 DEBUG - lock not taken
* Restore logind's ability to start
root at bb-logind:~# rm /etc/systemd/system/systemd-logind.service
root at bb-logind:~# systemctl daemon-reload
* Restart unattended-upgrades.service
root at bb-logind:~# service unattended-upgrades restart
root at bb-logind:~# service unattended-upgrades status
● unattended-upgrades.service - Unattended Upgrades Shutdown
Loaded: loaded (/lib/systemd/system/unattended-upgrades.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2018-12-13 14:31:43 UTC; 3s ago
Docs: man:unattended-upgrade(8)
Main PID: 4129 (unattended-upgr)
Tasks: 2 (limit: 4915)
CGroup: /system.slice/unattended-upgrades.service
└─4129 /usr/bin/python3 /usr/share/unattended-upgrades/unattended-upgrade-shutdown --wait-for-signal
Dec 13 14:31:43 bb-logind systemd[1]: Started Unattended Upgrades Shutdown.
root at bb-logind:~# tail /var/log/unattended-upgrades/unattended-upgrades-shutdown.log
2018-12-13 14:30:17,601 DEBUG - Starting countdown of 25.0 minutes
2018-12-13 14:30:17,602 DEBUG - Initializing apt_pkg configuration
2018-12-13 14:30:17,602 DEBUG - get_lock returned 7
2018-12-13 14:30:17,602 DEBUG - lock not taken
2018-12-13 14:31:43,595 WARNING - SIGTERM or SIGHUP received, stopping unattended-upgradesonly if it is running
2018-12-13 14:31:43,688 WARNING - Could not get delay inhibitor lock
2018-12-13 14:31:43,691 WARNING - Unable to monitor PrepareForShutdown() signal, polling instead.
2018-12-13 14:31:43,691 WARNING - Maybe systemd-logind service is not running.
2018-12-13 14:31:43,691 WARNING - Unable to monitor PrepareForShutdown() signal, polling instead.
2018-12-13 14:31:43,691 WARNING - To enable monitoring the PrepareForShutdown() signal instead of polling please install the python3-gi package
root at bb-logind:~# systemd-analyze dot | grep unattended
...
"unattended-upgrades.service"->"systemd-logind.service" [color="green"];
...
[Regression Potential]
* The change to service ordering is unlikely to cause any issue, but
the graceful handling of missing logind involved a small-scale
refactoring of u-u-s's code. Extensive testing did not reveal
regressions in that area, but potential bugs may cause u-u.service
fail to start and affect graceful shutdown of u-u the same way as
detailed in [Impact].
[Original Bug Text]
The Ubuntu Error Tracker has been receiving reports about a problem regarding unattended-upgrades. This problem was most recently seen with package version 1.1ubuntu1.18.04.7, the problem page at https://errors.ubuntu.com/problem/caf5d885046359f4857cee6c4a61e1d72d0913b1 contains more details, including versions of packages affected, stacktrace or traceback, and individual crash reports.
If you do not have access to the Ubuntu Error Tracker and are a software developer, you can request it at http://forms.canonical.com/reports/.
Also seen as:
* https://errors.ubuntu.com/problem/ac61b23e0ec25a291427b875bf213fdd5b097fa5
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/unattended-upgrades/+bug/1806487/+subscriptions
More information about the foundations-bugs
mailing list