[Bug 1820888] Re: unattended-upgrades may hold back upgrades due to comparing package versions by their string representation
Balint Reczey
balint.reczey at canonical.com
Mon May 6 16:34:22 UTC 2019
Verified 1.1ubuntu1.18.04.7~16.04.3 on Xenial:
https://launchpadlibrarian.net/421614532/buildlog_ubuntu-xenial-amd64
.unattended-upgrades_1.1ubuntu1.18.04.7~16.04.3_BUILDING.txt.gz
Running ./test_rewind.py with python3
DEBUG:root:APT::VersionedKernelPackages is not set
DEBUG:root:adjusting candidate version: test-package=2.0
DEBUG:root:adjusting candidate version: test2-package=2.0
DEBUG:root:falling back to adjusting test2-package's dependencies recursively
DEBUG:root:adjusting candidate version: test-package=2.0
DEBUG:root:adjusting candidate version: test2-package=2.0
DEBUG:root:adjusting candidate version: test2-package-dependency=2.0
DEBUG:root:adjusting candidate version: test3-package=2.0
DEBUG:root:falling back to adjusting test3-package's dependencies recursively
DEBUG:root:adjusting candidate version: test3-package=2.0
DEBUG:root:adjusting candidate version: test-package=2.0
DEBUG:root:adjusting candidate version: test2-package=2.0
DEBUG:root:adjusting candidate version: test2-package-dependency=2.0
DEBUG:root:adjusting candidate version: test3-old-package-dependency=2.0
DEBUG:root:pkg forbidden-dependency not in allowed origin
DEBUG:root:sanity check failed for: {'z-package=1.0', 'test3-old-package-dependency=2.0', 'test3-package=2.0', 'forbidden-dependency=2.0'}
DEBUG:root:adjusting candidate version: test3-package=2.0
DEBUG:root:adjusting candidate version: test-package=2.0
DEBUG:root:adjusting candidate version: test2-package=2.0
DEBUG:root:falling back to adjusting test-package's dependencies recursively
DEBUG:root:adjusting candidate version: test3-package=2.0
DEBUG:root:adjusting candidate version: test-package=2.0
DEBUG:root:adjusting candidate version: test2-package=2.0
DEBUG:root:adjusting candidate version: test2-package-dependency=2.0
DEBUG:root:adjusting candidate version: test3-old-package-dependency=2.0
DEBUG:root:falling back to adjusting test2-package's dependencies recursively
DEBUG:root:adjusting candidate version: test3-package=2.0
DEBUG:root:adjusting candidate version: test-package=2.0
DEBUG:root:adjusting candidate version: test2-package=2.0
DEBUG:root:adjusting candidate version: test2-package-dependency=2.0
DEBUG:root:adjusting candidate version: test3-old-package-dependency=2.0
DEBUG:root:falling back to adjusting test3-package's dependencies recursively
DEBUG:root:adjusting candidate version: test3-package=2.0
DEBUG:root:adjusting candidate version: test-package=2.0
DEBUG:root:adjusting candidate version: test2-package=2.0
DEBUG:root:adjusting candidate version: test2-package-dependency=2.0
DEBUG:root:adjusting candidate version: test3-old-package-dependency=2.0
DEBUG:root:adjusting candidate version: test3-package=2.0
DEBUG:root:adjusting candidate version: test-package=2.0
DEBUG:root:adjusting candidate version: test2-package=2.0
DEBUG:root:falling back to adjusting test-package's dependencies recursively
DEBUG:root:adjusting candidate version: test3-package=2.0
DEBUG:root:adjusting candidate version: test-package=2.0
DEBUG:root:adjusting candidate version: test2-package=2.0
DEBUG:root:adjusting candidate version: test2-package-dependency=2.0
DEBUG:root:adjusting candidate version: test3-old-package-dependency=2.0
DEBUG:root:falling back to adjusting test2-package's dependencies recursively
DEBUG:root:adjusting candidate version: test3-package=2.0
DEBUG:root:adjusting candidate version: test-package=2.0
DEBUG:root:adjusting candidate version: test2-package=2.0
DEBUG:root:adjusting candidate version: test2-package-dependency=2.0
DEBUG:root:adjusting candidate version: test3-old-package-dependency=2.0
DEBUG:root:falling back to adjusting test3-package's dependencies recursively
DEBUG:root:adjusting candidate version: test3-package=2.0
DEBUG:root:adjusting candidate version: test-package=2.0
DEBUG:root:adjusting candidate version: test2-package=2.0
DEBUG:root:adjusting candidate version: test2-package-dependency=2.0
DEBUG:root:adjusting candidate version: test3-old-package-dependency=2.0
.
----------------------------------------------------------------------
Ran 1 test in 0.069s
OK
** Tags removed: verification-needed verification-needed-xenial
** Tags added: verification-done 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/1820888
Title:
unattended-upgrades may hold back upgrades due to comparing package
versions by their string representation
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 Released
Status in unattended-upgrades source package in Cosmic:
Fix Released
Bug description:
[Impact]
* Without the fix u-u could not upgrade particular packages from -security. It could be observed in Cosmic with systemd security updates failing to install partly due to 239-7ubuntu10.10 being smaller than 239-7ubuntu10.8 when comparing them as strings:
https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-disco/disco/amd64/u/unattended-upgrades/20190318_182031_fe4fe@/log.gz
[Test Case]
* The fix includes the extension of the build-time test cases to
cover package sets with which u-u fails with without the fallback:
...
Running ./test_rewind.py with python3
DEBUG:root:APT::VersionedKernelPackages is not set
DEBUG:root:adjusting candidate version: test-package=2.0
...
With the unfixed version the test case fails here because u-u tries to
upgrade test-package to version 12.0 because it does not find version
2.0 smaller.
[Regression Potential]
* The change is very small and isolated, but fixing it revealed the
issue fixed in LP: #1821101. Since the found issue's fix introduces
fallbacks when apt's resolver can't find a the solution it is unlikely
that other failures are triggered by the fix.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/unattended-upgrades/+bug/1820888/+subscriptions
More information about the foundations-bugs
mailing list