Verified on Disco, Cosmic, Bionic and Xenial, the error is not seen on
any of the releases:

https://errors.ubuntu.com/?release=Ubuntu%2019.04&package=unattended-
upgrades&period=week&version=1.10ubuntu5.1

https://errors.ubuntu.com/?release=Ubuntu%2018.10&package=unattended-
upgrades&period=week&version=1.5ubuntu3.18.10.4

https://errors.ubuntu.com/?release=Ubuntu%2018.04&package=unattended-
upgrades&period=week&version=1.1ubuntu1.18.04.11

https://errors.ubuntu.com/?release=Ubuntu%2016.04&package=unattended-
upgrades&period=week&version=1.1ubuntu1.18.04.7~16.04.3

Also the build-time test passes:
https://launchpadlibrarian.net/421498943/buildlog_ubuntu-disco-amd64.unattended-upgrades_1.10ubuntu5.1_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: test-package=2.0
DEBUG:root:adjusting candidate version: test3-package=2.0
DEBUG:root:adjusting candidate version: test2-package=2.0
DEBUG:root:adjusting candidate version: test3-old-package-dependency=2.0
DEBUG:root:adjusting candidate version: test2-package-dependency=2.0
DEBUG:root:pkg forbidden-dependency not in allowed origin
DEBUG:root:sanity check failed for: {'test3-package=2.0', 
'forbidden-dependency=2.0', 'z-package=1.0', 'test3-old-package-dependency=2.0'}
DEBUG:root:adjusting candidate version: test-package=2.0
DEBUG:root:adjusting candidate version: test3-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: test-package=2.0
DEBUG:root:adjusting candidate version: test3-package=2.0
DEBUG:root:adjusting candidate version: test2-package=2.0
DEBUG:root:adjusting candidate version: test3-old-package-dependency=2.0
DEBUG:root:adjusting candidate version: test2-package-dependency=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: test3-package=2.0
DEBUG:root:adjusting candidate version: test2-package=2.0
DEBUG:root:adjusting candidate version: test3-old-package-dependency=2.0
DEBUG:root:adjusting candidate version: test2-package-dependency=2.0
DEBUG:root:falling back to adjusting test3-package's dependencies recursively
DEBUG:root:adjusting candidate version: test-package=2.0
DEBUG:root:adjusting candidate version: test3-package=2.0
DEBUG:root:adjusting candidate version: test2-package=2.0
DEBUG:root:adjusting candidate version: test3-old-package-dependency=2.0
DEBUG:root:adjusting candidate version: test2-package-dependency=2.0
DEBUG:root:adjusting candidate version: test-package=2.0
DEBUG:root:adjusting candidate version: test3-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: test-package=2.0
DEBUG:root:adjusting candidate version: test3-package=2.0
DEBUG:root:adjusting candidate version: test2-package=2.0
DEBUG:root:adjusting candidate version: test3-old-package-dependency=2.0
DEBUG:root:adjusting candidate version: test2-package-dependency=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: test3-package=2.0
DEBUG:root:adjusting candidate version: test2-package=2.0
DEBUG:root:adjusting candidate version: test3-old-package-dependency=2.0
DEBUG:root:adjusting candidate version: test2-package-dependency=2.0
DEBUG:root:falling back to adjusting test3-package's dependencies recursively
DEBUG:root:adjusting candidate version: test-package=2.0
DEBUG:root:adjusting candidate version: test3-package=2.0
DEBUG:root:adjusting candidate version: test2-package=2.0
DEBUG:root:adjusting candidate version: test3-old-package-dependency=2.0
DEBUG:root:adjusting candidate version: test2-package-dependency=2.0
.
----------------------------------------------------------------------
Ran 1 test in 0.069s

OK
...

https://launchpadlibrarian.net/421607659/buildlog_ubuntu-cosmic-amd64.unattended-upgrades_1.5ubuntu3.18.10.4_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: test-package=2.0
DEBUG:root:adjusting candidate version: test3-package=2.0
DEBUG:root:adjusting candidate version: test2-package=2.0
DEBUG:root:adjusting candidate version: test3-old-package-dependency=2.0
DEBUG:root:adjusting candidate version: test2-package-dependency=2.0
DEBUG:root:pkg forbidden-dependency not in allowed origin
DEBUG:root:sanity check failed for: {'forbidden-dependency=2.0', 
'test3-old-package-dependency=2.0', 'z-package=1.0', 'test3-package=2.0'}
DEBUG:root:adjusting candidate version: test-package=2.0
DEBUG:root:adjusting candidate version: test3-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: test-package=2.0
DEBUG:root:adjusting candidate version: test3-package=2.0
DEBUG:root:adjusting candidate version: test2-package=2.0
DEBUG:root:adjusting candidate version: test3-old-package-dependency=2.0
DEBUG:root:adjusting candidate version: test2-package-dependency=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: test3-package=2.0
DEBUG:root:adjusting candidate version: test2-package=2.0
DEBUG:root:adjusting candidate version: test3-old-package-dependency=2.0
DEBUG:root:adjusting candidate version: test2-package-dependency=2.0
DEBUG:root:falling back to adjusting test3-package's dependencies recursively
DEBUG:root:adjusting candidate version: test-package=2.0
DEBUG:root:adjusting candidate version: test3-package=2.0
DEBUG:root:adjusting candidate version: test2-package=2.0
DEBUG:root:adjusting candidate version: test3-old-package-dependency=2.0
DEBUG:root:adjusting candidate version: test2-package-dependency=2.0
DEBUG:root:adjusting candidate version: test-package=2.0
DEBUG:root:adjusting candidate version: test3-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: test-package=2.0
DEBUG:root:adjusting candidate version: test3-package=2.0
DEBUG:root:adjusting candidate version: test2-package=2.0
DEBUG:root:adjusting candidate version: test3-old-package-dependency=2.0
DEBUG:root:adjusting candidate version: test2-package-dependency=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: test3-package=2.0
DEBUG:root:adjusting candidate version: test2-package=2.0
DEBUG:root:adjusting candidate version: test3-old-package-dependency=2.0
DEBUG:root:adjusting candidate version: test2-package-dependency=2.0
DEBUG:root:falling back to adjusting test3-package's dependencies recursively
DEBUG:root:adjusting candidate version: test-package=2.0
DEBUG:root:adjusting candidate version: test3-package=2.0
DEBUG:root:adjusting candidate version: test2-package=2.0
DEBUG:root:adjusting candidate version: test3-old-package-dependency=2.0
DEBUG:root:adjusting candidate version: test2-package-dependency=2.0
.
----------------------------------------------------------------------
Ran 1 test in 0.047s

OK
...

https://launchpadlibrarian.net/421609952/buildlog_ubuntu-bionic-amd64.unattended-upgrades_1.1ubuntu1.18.04.11_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: test2-package=2.0
DEBUG:root:adjusting candidate version: test-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: test2-package=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: test3-old-package-dependency=2.0
DEBUG:root:adjusting candidate version: test2-package-dependency=2.0
DEBUG:root:pkg forbidden-dependency not in allowed origin
DEBUG:root:sanity check failed for: {'test3-package=2.0', 'z-package=1.0', 
'test3-old-package-dependency=2.0', 'forbidden-dependency=2.0'}
DEBUG:root:adjusting candidate version: test2-package=2.0
DEBUG:root:adjusting candidate version: test3-package=2.0
DEBUG:root:adjusting candidate version: test-package=2.0
DEBUG:root:falling back to adjusting test-package's dependencies recursively
DEBUG:root:adjusting candidate version: test2-package=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: test3-old-package-dependency=2.0
DEBUG:root:adjusting candidate version: test2-package-dependency=2.0
DEBUG:root:falling back to adjusting test2-package's dependencies recursively
DEBUG:root:adjusting candidate version: test2-package=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: test3-old-package-dependency=2.0
DEBUG:root:adjusting candidate version: test2-package-dependency=2.0
DEBUG:root:falling back to adjusting test3-package's dependencies recursively
DEBUG:root:adjusting candidate version: test2-package=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: test3-old-package-dependency=2.0
DEBUG:root:adjusting candidate version: test2-package-dependency=2.0
DEBUG:root:adjusting candidate version: test2-package=2.0
DEBUG:root:adjusting candidate version: test3-package=2.0
DEBUG:root:adjusting candidate version: test-package=2.0
DEBUG:root:falling back to adjusting test-package's dependencies recursively
DEBUG:root:adjusting candidate version: test2-package=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: test3-old-package-dependency=2.0
DEBUG:root:adjusting candidate version: test2-package-dependency=2.0
DEBUG:root:falling back to adjusting test2-package's dependencies recursively
DEBUG:root:adjusting candidate version: test2-package=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: test3-old-package-dependency=2.0
DEBUG:root:adjusting candidate version: test2-package-dependency=2.0
DEBUG:root:falling back to adjusting test3-package's dependencies recursively
DEBUG:root:adjusting candidate version: test2-package=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: test3-old-package-dependency=2.0
DEBUG:root:adjusting candidate version: test2-package-dependency=2.0
.
----------------------------------------------------------------------
Ran 1 test in 0.164s

OK
...

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-bionic 
verification-needed-cosmic verification-needed-disco verification-needed-xenial
** Tags added: verification-done verification-done-bionic 
verification-done-cosmic verification-done-disco verification-done-xenial

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

Title:
  unattended-upgrades: rewind_cache() may crash due to not adjusting
  package candidates

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]

   * Unattended-upgrades may crash when rewinding cache due to not adjusting 
package candidates before marking them to upgrade/install.
   * The fix is using adjusted marking that in effect rewinds the cache to the 
right, adjusted state.

  [Test Case]

   * test/test_rewind.py is updated to verify that rewinding included 
adjustments and it is ran during the build.
   * Also watch the error not happening anymore.

  [Regression Potential]

   * The fix is very small and is not likely to cause any regression.

  [Original Bug Text]

  The Ubuntu Error Tracker has been receiving reports about a problem regarding 
unattended-upgrades.  This problem was most recently seen with package version 
1.10ubuntu5, the problem page at 
https://errors.ubuntu.com/problem/6f57d938f3aa56b3995d5bccf4637d65734d78e4 
contains more details, including versions of packages affected, stacktrace or 
traceback, and individual crash reports.
  If you do not have access to the Ubuntu Error Tracker and are a software 
developer, you can request it at http://forms.canonical.com/reports/.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/unattended-upgrades/+bug/1826157/+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