[Bug 1824804] Re: Unattended upgrades falls back to adjust all upgradable packages in attempt to install held packages

Balint Reczey balint.reczey at canonical.com
Fri May 3 17:35:19 UTC 2019


Verified 1.10ubuntu5.1 on Disco.

Discos' 1.10ubuntu5 already had the fix to not fall back to mark all
upgradable packages, it just received follow-up commits to all kinds of
dependencies and skip held packages earlier.

root at dd-lp-1824804:~# dpkg -l unattended-upgrades | cat
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                Version       Architecture Description
+++-===================-=============-============-===========================================
ii  unattended-upgrades 1.10ubuntu5.1 all          automatic installation of security upgrades
root at dd-lp-1824804:~# apt-mark showhold
systemd
root at dd-lp-1824804:~# unattended-upgrade --verbose --debug
Running on the development release
Initial blacklist : 
Initial whitelist: 
Starting unattended upgrades script
Allowed origins are: o=Ubuntu,a=disco, o=Ubuntu,a=disco-security, o=UbuntuESM,a=disco
...
Checking: console-setup ([<Origin component:'main' archive:'disco-updates' origin:'Ubuntu' label:'Ubuntu' site:'archive.ubuntu.com' isTrusted:True>])
adjusting candidate version: console-setup=1.178ubuntu12
Checking: console-setup-linux ([<Origin component:'main' archive:'disco-updates' origin:'Ubuntu' label:'Ubuntu' site:'archive.ubuntu.com' isTrusted:True>])
adjusting candidate version: console-setup-linux=1.178ubuntu12
Checking: keyboard-configuration ([<Origin component:'main' archive:'disco-updates' origin:'Ubuntu' label:'Ubuntu' site:'archive.ubuntu.com' isTrusted:True>])
adjusting candidate version: keyboard-configuration=1.178ubuntu12
Checking: libnss-systemd ([<Origin component:'main' archive:'disco' origin:'Ubuntu' label:'Ubuntu' site:'archive.ubuntu.com' isTrusted:True>])
package libnss-systemd upgradable but fails to be marked for upgrade (E:Unable to correct problems, you have held broken packages.)
falling back to adjusting libnss-systemd's dependencies recursively
package libnss-systemd upgradable but fails to be marked for upgrade (E:Unable to correct problems, you have held broken packages.)
sanity check failed for: set()
Checking: libpam-systemd ([<Origin component:'main' archive:'disco' origin:'Ubuntu' label:'Ubuntu' site:'archive.ubuntu.com' isTrusted:True>])
package libpam-systemd upgradable but fails to be marked for upgrade (E:Unable to correct problems, you have held broken packages.)
falling back to adjusting libpam-systemd's dependencies recursively
package libpam-systemd upgradable but fails to be marked for upgrade (E:Unable to correct problems, you have held broken packages.)
sanity check failed for: set()
Checking: libsystemd0 ([<Origin component:'main' archive:'disco' origin:'Ubuntu' label:'Ubuntu' site:'archive.ubuntu.com' isTrusted:True>])
package libsystemd0 upgradable but fails to be marked for upgrade (E:Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.)
falling back to adjusting libsystemd0's dependencies recursively
package libsystemd0 upgradable but fails to be marked for upgrade (E:Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.)
sanity check failed for: set()
Checking: python3-distupgrade ([<Origin component:'main' archive:'disco-updates' origin:'Ubuntu' label:'Ubuntu' site:'archive.ubuntu.com' isTrusted:True>])
adjusting candidate version: python3-distupgrade=1:19.04.16
Checking: systemd ([<Origin component:'main' archive:'disco' origin:'Ubuntu' label:'Ubuntu' site:'archive.ubuntu.com' isTrusted:True>])
pkg systemd is on hold
sanity check failed for: set()
Checking: systemd-sysv ([<Origin component:'main' archive:'disco' origin:'Ubuntu' label:'Ubuntu' site:'archive.ubuntu.com' isTrusted:True>])
package systemd-sysv upgradable but fails to be marked for upgrade (E:Unable to correct problems, you have held broken packages.)
falling back to adjusting systemd-sysv's dependencies recursively
package systemd-sysv upgradable but fails to be marked for upgrade (E:Unable to correct problems, you have held broken packages.)
sanity check failed for: set()
Checking: ubuntu-release-upgrader-core ([<Origin component:'main' archive:'disco-updates' origin:'Ubuntu' label:'Ubuntu' site:'archive.ubuntu.com' isTrusted:True>])
adjusting candidate version: ubuntu-release-upgrader-core=1:19.04.16
pkgs that look like they should be upgraded: 
Fetched 0 B in 0s (0 B/s)                                                                                         
fetch.run() result: 0
blacklist: []
whitelist: []
Packages that will be upgraded: 
InstCount=0 DelCount=0 BrokenCount=0
Extracting content from /var/log/unattended-upgrades/unattended-upgrades-dpkg.log since 2019-05-03 17:28:55
root at dd-lp-1824804:~# 


** Tags removed: verification-needed-disco
** Tags added: verification-done-disco

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

Title:
  Unattended upgrades falls back to adjust all upgradable packages in
  attempt to install held packages

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
Status in unattended-upgrades source package in Disco:
  Fix Committed

Bug description:
  [Impact]

   * The fix for LP: #1821101 allowed installing packages for which
  APT's resolver could not find solution for without adjusting other
  packages, but also tries to adjust many packages to install packages
  which are held back.

  [Test Case]

   * Set up a system where systemd (or a package that can't be upgraded
  without also upgrading other packages) need to be upgraded to the
  version in -security.

   * Mark systemd on hold
     apt-mark hold systemd

   * Observe u-u falling back to adjusting all upgradable packages in
  unfixed versions and adjusting only a few in fixed versions:

  # unattended-upgrade --verbose --debug
  ...

  adjusting candidate version: libnss-systemd=237-3ubuntu10.19
  falling back to marking libnss-systemd, then adjusting changes
  package libnss-systemd upgradable but fails to be marked for upgrade (E:Unable to correct problems, you have held broken packages.)
  falling back to adjusting all packages
  adjusting candidate version: 2ping=4.1-1
  ...

    Fixed:
  ...
  adjusting candidate version: libnss-systemd=237-3ubuntu10.19
  falling back to adjusting libnss-systemd's dependencies recursively
  adjusting candidate version: libnss-systemd=237-3ubuntu10.19
  adjusting candidate version: libkmod2=24-1ubuntu3
  adjusting candidate version: mount=2.31.1-0.4ubuntu3
  adjusting candidate version: libmount1=2.31.1-0.4ubuntu3
  ...

  [Regression Potential]

   * The less extensive fallback may not find solutions for installing
  packages with special relationships that the full fallback could have
  found, but I don't know about such special cases in the archive and
  the autopkgtest cover a fair set of popular packages. Keeping back
  those packages seems to be better than spending a lot of CPU time on
  finding a few solutions - which still was not enough to find _all_
  solutions.

  [Other Info]

  Originally reported at: https://bugs.launchpad.net/ubuntu/+source
  /unattended-upgrades/+bug/1396787/comments/21

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/unattended-upgrades/+bug/1824804/+subscriptions



More information about the foundations-bugs mailing list