[Bug 1924604] Re: do-release-upgrade crashed with KeyError in __getitem__(): "The cache has no package named 'python-is-python2'"
Brian Murray
1924604 at bugs.launchpad.net
Fri Jul 2 21:26:03 UTC 2021
Per the where problems could occur section I also ran a release upgrade
using the GUI view w/o universe disabled and the succeeded.
bdmurray at clean-bionic-amd64:~$ head /var/log/dist-upgrade/main.log
2021-07-02 12:59:55,150 INFO Using config files '['./DistUpgrade.cfg.bionic', '/etc/update-manager/release-upgrades.d/ubuntu-advantage-upgra
des.cfg']'
2021-07-02 12:59:55,150 INFO uname information: 'Linux clean-bionic-amd64 5.4.0-77-generic #86~18.04.1-Ubuntu SMP Fri Jun 18 01:23:22 UTC 20
21 x86_64'
2021-07-02 12:59:55,540 INFO apt version: '1.6.14'
2021-07-02 12:59:55,541 INFO python version: '3.6.9 (default, Jan 26 2021, 15:33:00)
[GCC 8.4.0]'
2021-07-02 12:59:55,543 INFO release-upgrader version '20.04.34' started
2021-07-02 12:59:55,598 INFO locale: 'en_US' 'UTF-8'
2021-07-02 12:59:55,798 DEBUG Using 'DistUpgradeViewGtk3' view
2021-07-02 12:59:55,881 DEBUG enable dpkg --force-overwrite
2021-07-02 12:59:55,912 DEBUG creating statefile: '/var/log/dist-upgrade/apt-clone_system_state.tar.gz'
bdmurray at clean-bionic-amd64:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.2 LTS"
** Tags removed: verification-needed verification-needed-focal
** Tags added: verification-done verification-done-focal
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to ubuntu-release-upgrader in
Ubuntu.
https://bugs.launchpad.net/bugs/1924604
Title:
do-release-upgrade crashed with KeyError in __getitem__(): "The cache
has no package named 'python-is-python2'"
Status in ubuntu-release-upgrader package in Ubuntu:
Fix Released
Status in ubuntu-release-upgrader source package in Focal:
Fix Committed
Bug description:
[Impact]
Users with universe not enabled and python2 packages installed are unable to upgrade from Ubuntu 18.04 to Ubuntu 20.04.
[Test Plan]
-----------
On an Ubuntu 18.04 system with universe and multiverse disabled
1) apt-get install duplicity (it depends on python2.7)
2) run do-release-upgrade
Observe the upgrader hang at Calculating the changes (in text mode)
kill it and observe a Traceback in /var/log/dist-upgrade/main.log.
...
File "/usr/lib/python3/dist-packages/apt/cache.py", line 303, in __getitem__
raise KeyError('The cache has no package named %r' % key)
KeyError: "The cache has no package named 'python-is-python2'"
With the version of the release-upgrader from -proposed (do-release-
upgrade -p) you'll instead receive a message regarding universe not
being enabled and the need to either remove python2 packages or enable
universe.
[Where problems could occur]
The switch to using the finally clause in DistUpgradeCache.py is a significant (albeit safe) change but it is necessary for the error message to actually be displayed. So it'd make sense to run through a whole release upgrade to ensure that the gui behaves normally.
[Original Description]
This is because python-minimal was installed and universe was not enabled on the system being upgraded.
Error Tracker buckets:
https://errors.ubuntu.com/problem/f92900f3c057db7600d88857e7c05434b69d2496
https://errors.ubuntu.com/problem/23e6edb38993cb74331d30beeadccdfffe1d557a
ProblemType: CrashDistroRelease: Ubuntu 20.04
Package: ubuntu-release-upgrader-core 1:20.04.31
ProcVersionSignature: Ubuntu 5.4.0-71.79~18.04.1-generic 5.4.101
Uname: Linux 5.4.0-71-generic x86_64
ApportVersion: 2.20.9-0ubuntu7.23
Architecture: amd64
CrashDB: ubuntu
Date: Thu Apr 15 10:59:53 2021
ExecutablePath: /usr/bin/do-release-upgrade
ExecutableTimestamp: 1606763386
InstallationDate: Installed on 2021-04-13 (1 days ago)
InstallationMedia: Ubuntu 18.04.5 LTS "Bionic Beaver" - Release amd64 (20200806.1)
InterpreterPath: /usr/bin/python3.6
PackageArchitecture: all
ProcCmdline: /usr/bin/python3 -s ./focal --frontend DistUpgradeViewText
ProcCwd: /tmp/ubuntu-release-upgrader-e397n4sn
ProcEnviron:
TERM=screen
SHELL=/bin/bash
LANG=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
PATH=(custom, no user)
Python3Details: /usr/bin/python3.6, Python 3.6.9, python3-minimal, 3.6.7-1~18.04
PythonArgs: ['/usr/bin/do-release-upgrade', '--frontend', 'DistUpgradeViewText']
PythonDetails: /usr/bin/python2.7, Python 2.7.17, python-minimal, 2.7.15~rc1-1SourcePackage: ubuntu-release-upgrader
Title: do-release-upgrade crashed with KeyError in __getitem__(): "The cache has no package named 'python-is-python2'"
UpgradeStatus: Upgraded to bionic on 2021-04-15 (0 days ago)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+bug/1924604/+subscriptions
More information about the foundations-bugs
mailing list