I managed to figure this out. I'm gonna say the bug here is poor
logging.
In the output I posted, in the "Original exception was" section, the
original error is:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xec in position
8200: invalid continuation byte
Go back up a couple lines and you'll see this:
File "/tmp/ubuntu-release-
upgrader-l3yamuwr/DistUpgrade/DistUpgradeQuirks.py", line 395, in
_test_and_fail_on_pam_tally
This is the upgrader script that was running when the error was thrown.
Edit that file (as root) and go to line 395 and see that you're in a
"for" loop:
for f in os.listdir('/etc/pam.d'):
if f in ('common-account', 'common-auth', 'common-password',
'common-session', 'common-session-noninteractive'):
# managed by pam-auth-updates, and any references to
# pam_tally* will be handled by libpam-modules on upgrade
# without breaking
continue
with open(os.path.join('/etc/pam.d', f)) as f:
content = f.read()
if re.search('^[^#]*pam_tally', content, re.MULTILINE):
<--- line 395
<snipped>
The script is looping through files in /etc/pam.d. You can go look
there for the trouble, or you can edit the script to find which file is
being processed when the error is thrown. Like this:
for f in os.listdir('/etc/pam.d'):
print ("Rob says: " + f)
<snipped>
Now run the upgrader again from this temporary directory, which includes
the edits made above. Like this:
sudo /tmp/ubuntu-release-upgrader-l3yamuwr/DistUpgrade/jammy
We run the "jammy" script because that's what we're trying to upgrade
to. If in doubt, do 'ls -l' on that directory and look for an
executable script that is named after an ubuntu release.
After you run the above command, you'll still get an error but if you
search the output for "Rob says", you'll see the list of files that are
being processed in the "for" loop. The last one in the list before the
error is the likely culprit. In my case it was:
.common-auth.swp
This is a vi swap file. Several months ago I apparently edited common-
auth and didn't save it before the computer was shut down. I deleted
that file and then ran:
sudo do-release-upgrade
and the upgrade is now running.
So the problem was that the upgrader tried to process a file but it
could not (because it was not an ascii file). The upgrader should have,
at the very least, output the name of the problematic file.
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux-hwe-5.13 in Ubuntu.
https://bugs.launchpad.net/bugs/1986429
Title:
do-release-upgrade fails
Status in linux-hwe-5.13 package in Ubuntu:
New
Bug description:
Running a completely up to date Ubuntu 20.04, I run:
sudo do-release-upgrade
and get the following output:
<snipped the normal stuff above>
Building dependency tree
Reading state information... Done
Traceback (most recent call last):
File "/tmp/ubuntu-release-upgrader-l3yamuwr/jammy", line 8, in <module>
sys.exit(main())
File
"/tmp/ubuntu-release-upgrader-l3yamuwr/DistUpgrade/DistUpgradeMain.py", line
241, in main
if app.run():
File
"/tmp/ubuntu-release-upgrader-l3yamuwr/DistUpgrade/DistUpgradeController.py",
line 2042, in run
return self.fullUpgrade()
File
"/tmp/ubuntu-release-upgrader-l3yamuwr/DistUpgrade/DistUpgradeController.py",
line 1873, in fullUpgrade
if not self.doPostInitialUpdate():
File
"/tmp/ubuntu-release-upgrader-l3yamuwr/DistUpgrade/DistUpgradeController.py",
line 906, in doPostInitialUpdate
self.quirks.run("PostInitialUpdate")
File
"/tmp/ubuntu-release-upgrader-l3yamuwr/DistUpgrade/DistUpgradeQuirks.py", line
99, in run
func()
File
"/tmp/ubuntu-release-upgrader-l3yamuwr/DistUpgrade/DistUpgradeQuirks.py", line
122, in jammyPostInitialUpdate
self._test_and_fail_on_pam_tally()
File
"/tmp/ubuntu-release-upgrader-l3yamuwr/DistUpgrade/DistUpgradeQuirks.py", line
395, in _test_and_fail_on_pam_tally
content = f.read()
File "/usr/lib/python3.8/codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xec in position 8200:
invalid continuation byte
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/problem_report.py", line 477, in
add_to_existing
self.write(f)
File "/usr/lib/python3/dist-packages/problem_report.py", line 430, in write
block = f.read(1048576)
File "/usr/lib/python3.8/codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1:
invalid start byte
Original exception was:
Traceback (most recent call last):
File "/tmp/ubuntu-release-upgrader-l3yamuwr/jammy", line 8, in <module>
sys.exit(main())
File
"/tmp/ubuntu-release-upgrader-l3yamuwr/DistUpgrade/DistUpgradeMain.py", line
241, in main
if app.run():
File
"/tmp/ubuntu-release-upgrader-l3yamuwr/DistUpgrade/DistUpgradeController.py",
line 2042, in run
return self.fullUpgrade()
File
"/tmp/ubuntu-release-upgrader-l3yamuwr/DistUpgrade/DistUpgradeController.py",
line 1873, in fullUpgrade
if not self.doPostInitialUpdate():
File
"/tmp/ubuntu-release-upgrader-l3yamuwr/DistUpgrade/DistUpgradeController.py",
line 906, in doPostInitialUpdate
self.quirks.run("PostInitialUpdate")
File
"/tmp/ubuntu-release-upgrader-l3yamuwr/DistUpgrade/DistUpgradeQuirks.py", line
99, in run
func()
File
"/tmp/ubuntu-release-upgrader-l3yamuwr/DistUpgrade/DistUpgradeQuirks.py", line
122, in jammyPostInitialUpdate
self._test_and_fail_on_pam_tally()
File
"/tmp/ubuntu-release-upgrader-l3yamuwr/DistUpgrade/DistUpgradeQuirks.py", line
395, in _test_and_fail_on_pam_tally
content = f.read()
File "/usr/lib/python3.8/codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xec in position 8200:
invalid continuation byte
Press x to destroy or r to resurrect window t Aug 13 10:07:11 2022) ===
$ lsb_release -rd
Description: Ubuntu 20.04.4 LTS
Release: 20.04
$ apt-cache policy python3.8
python3.8:
Installed: 3.8.10-0ubuntu1~20.04.5
Candidate: 3.8.10-0ubuntu1~20.04.5
Version table:
*** 3.8.10-0ubuntu1~20.04.5 500
500 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64
Packages
500 http://security.ubuntu.com/ubuntu focal-security/main amd64
Packages
100 /var/lib/dpkg/status
3.8.2-1ubuntu1 500
500 http://us.archive.ubuntu.com/ubuntu focal/main amd64 Packages
The only thing unusual about my installation is that I'm on a zfs root.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-hwe-5.13/+bug/1986429/+subscriptions
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp