Hello, I looked deeper into this, I feel the issue may be with apt_pkg.get_lock's return value now. It seems the code considers 0 success whereas now an FD is returned which seems to mean it's fine.
# Example logging output 2019-09-06 10:54:31,249 WARNING - SIGTERM or SIGHUP received, stopping unattended-upgradesonly if it is running 2019-09-06 10:54:31,250 DEBUG - Starting countdown of 25.0 minutes 2019-09-06 10:54:31,250 DEBUG - get_lock returned 7 2019-09-06 10:54:31,250 DEBUG - lock not taken # Tracing manually /usr/share/unattended-upgrades/unattended-upgrade-shutdown: L230> 2019-09-06 10:54:31,249 WARNING - SIGTERM or SIGHUP received, stopping unattended-upgradesonly if it is running * Bug - add space to end (i.e. "SIGTERM or SIGHUP received, stopping unattended-upgrades ") L318> 2019-09-06 10:54:31,250 DEBUG - Starting countdown of 25.0 minutes L333> 2019-09-06 10:54:31,250 DEBUG - get_lock returned 7 * Bug - The lock should be acquired so it should be 0 ... according to code but docs say it's fine L332> res = apt_pkg.get_lock(self.options.lock_file) L333> logging.debug("get_lock returned %i" % res) # <-- This is where I believe there's the bug L334> # exit here if there is no lock L335> if res > 0: L336> logging.debug("lock not taken") L337> if self.lock_was_taken: L338> exit_log_result(self.signal_sent) L339> else: L340> sys.exit(0) L341> self.lock_was_taken = True L342> signal_stop_unattended_upgrade() L343> self.signal_sent = True L344> # show log L345> log_progress() L346> return True * Looking deeper into get_lock it shows that a file descriptor is returned vs -1 or an error raised. I believe the code may need to be updated as running python3 interactively, importing apt_pkg and printing its __doc__ shows the following. This is Sparta err python 3... so perhaps that's the reason. >>> print(apt_pkg.get_lock.__doc__) get_lock(file: str, errors: bool) -> int Create an empty file of the given name and lock it. If the locking succeeds, return the file descriptor of the lock file. Afterwards, locking the file from another process will fail and thus cause get_lock() to return -1 or raise an Error (if 'errors' is True). >From Python 2.6 on, it is recommended to use the context manager provided by apt_pkg.FileLock instead using the with-statement. -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to unattended-upgrades in Ubuntu. https://bugs.launchpad.net/bugs/1843099 Title: Unattended upgrades does not work on shutdown Status in unattended-upgrades package in Ubuntu: New Bug description: 1) The release of Ubuntu you are using, via 'lsb_release -rd' or System -> About Ubuntu * Ubuntu Xenial 16.04.6 LTS 2) The version of the package you are using, via 'apt-cache policy pkgname' or by checking in Software Center * 1.1ubuntu1.18.04.7~16.04.3 3) What you expected to happen * Packages to be upgraded on reboot / shutdown. 4) What happened instead * The host just rebooted. Didn't perform upgrades. No useful output either until I enabled debug logging in the systemd unit file. I'm reporting a new bug but this is very similar to #1806487 and I'm actually wondering if it resurfaced somehow. We're running Ubuntu Xenial 16.04.6 which has 1.1ubuntu1.18.04.7~16.04.3 installed. I see that #1806487 was resolved with 1.1ubuntu1.18.04.7~16.04.2. However I'm seeing similar behavior. So far I've modified systemd to see if anything stands out. I do have an strace and then just debug mode. Unless needed, simply put, this is what a reboot with debug logging looks like (i.e. unattended-upgrades-shutdown.log): 2019-09-06 09:20:04,871 DEBUG - Waiting for signal to start operation 2019-09-06 09:20:43,996 WARNING - SIGTERM or SIGHUP received, stopping unattended-upgradesonly if it is running 2019-09-06 09:20:43,996 DEBUG - Starting countdown of 25.0 minutes 2019-09-06 09:20:43,997 DEBUG - get_lock returned 7 2019-09-06 09:20:43,997 DEBUG - lock not taken I hope that helps, please let me know if you need anything else from me or if I can provide any more information. I've done this many times before, this is the first time it hasn't worked. When I patched around the end of May, all went well. My other variants worked, well mainly Trusty but that's EOL for public access. Bionic doesn't seem to have anything it needs to update. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/unattended-upgrades/+bug/1843099/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp