This is not a bug in unattended-upgrades, but u-u triggers the problem
in many packages which are not able to install/upgrade during a system
shutdown.

Helper scripts in init-system-helpers must not start services when
maintainer scripts are executed during shutdown and maintainer scripts
must use helper scripts and not call systemct and friends directly to
start services.

Snapd for example calls systemctl start "$unit" in postinst.

Thank you for the bug report. I marked it "Confirmed for u-u" to not let
it disappear, but u-u is just triggering the issue and it can't be fixed
in u-u.

-- 
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/1778219

Title:
  unattended-upgrades hangs on shutdown, leaves system in a broken state

Status in init-system-helpers package in Ubuntu:
  New
Status in snapd package in Ubuntu:
  New
Status in unattended-upgrades package in Ubuntu:
  Confirmed

Bug description:
  When using unattended-upgrades with "InstallOnShutdown" on Bionic, the
  package installation on various packages hangs until the systemd
  ShutdownTimeout (30min) is expired and systemd kills all processes and
  powers off/reboots the system.

  This leaves packages in an unconfigured, broken state. At least
  sometimes this cannot be fixed with a "dpkg --configure -a", but
  instead requires the user to manually reinstall the package that
  caused the hang.

  This appears to be a deadlock, because the hanging commands are always
  "systemctl stop ..." or "systemctl restart ...", etc.. If I understand
  this correctly, those systemctl commands block because systemd tries
  to shutdown the system and tries to satisfy all dependencies for the
  shutdown targets before those systemctl commands could get executed,
  which creates a deadlock.

  Steps to reproduce:

  - Install 18.04
  - activate "InstallOnShutdown" in /etc/apt/apt.conf.d/50unattended-upgrades
  - disable bionic-updates in /etc/apt/sources.list (more on that later)
  - execute "unattended-upgrade --download-only"
  - reboot the system

  -> The upgrade on shutdown hangs when configuring the apport package.
  The hanging command is "systemctl stop apport-forward.socket". The
  system hangs until the systemd ShutdownTimeout expires and systemd
  forcefully reboots the system.

  After the system is rebooted the apport package is in "iUR" state, and
  needs to be reinstalled to fix this.

  I disabled the bionic-updates pocket in sources.list, because in the
  default configuration unattended-updates does not use bionic-updates,
  and seems to have skipped installation of apport from bionic-security
  (supposedly because an already newer version of apport was in bionic-
  updates). If my understanding of why apport initially did not get
  installed is correct, then this would be another problem, because it
  would mean that unattended-upgrades potentially does not install all
  available security updates when bionic-updates is enabled in
  sources.list (which is the default).

  The problem can also be reproduced without disabling bionic-updates in 
sources.list, but instead enabling bionic-updates in 
/etc/apt/apt.conf.d/50unattended-upgrades. Then, in my case, the upgrade did 
hang when installing the package snapd (the hanging command was "systemctl stop 
snapd.autoimport.service snapd.core-fixup.service snapd.service 
snapd.snap-repair.service snapd.snap-repair.service snapd.socket 
snapd.system-shutdown.service"). This leads to the same problems as described 
above.
  ---
  ApportVersion: 2.20.9-0ubuntu7.1
  Architecture: amd64
  CurrentDesktop: ubuntu:GNOME
  DistroRelease: Ubuntu 18.04
  InstallationDate: Installed on 2018-06-22 (0 days ago)
  InstallationMedia: Ubuntu 18.04 LTS "Bionic Beaver" - Release amd64 (20180426)
  Package: unattended-upgrades 1.1ubuntu1
  PackageArchitecture: all
  ProcVersionSignature: Ubuntu 4.15.0-20.21-generic 4.15.17
  Tags:  bionic
  Uname: Linux 4.15.0-20-generic x86_64
  UpgradeStatus: No upgrade log present (probably fresh install)
  UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo
  _MarkForUpload: True

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/init-system-helpers/+bug/1778219/+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

Reply via email to