[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