interruption of dist-upgrade can leave you next release in sources.list
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
apt (Ubuntu) |
Fix Released
|
High
|
Julian Andres Klode | ||
Bionic |
Fix Released
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Undecided
|
Unassigned | ||
Groovy |
Fix Released
|
Undecided
|
Unassigned | ||
Hirsute |
Fix Released
|
High
|
Julian Andres Klode | ||
ubuntu-release-upgrader (Ubuntu) |
Fix Released
|
High
|
Brian Murray | ||
Bionic |
New
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Undecided
|
Brian Murray | ||
Groovy |
Fix Released
|
Undecided
|
Brian Murray | ||
Hirsute |
Fix Released
|
High
|
Brian Murray |
Bug Description
[Impact]
Calling update() or installing packages from apt clients resets their SIGINT and SIGQUIT handlers to SIG_DFL, overriding any signal handlers they might have set for them.
In case of ubuntu-
[Test plan]
[[apt]]
As a standalone test for apt, we can test the following script:
import apt
import time
apt.Cache(
print("WAITING")
try:
time.
except BaseException as e:
print("Seen", repr(e))
print("END")
Pressing Ctrl+C while WAITING is printed should print Seen KeyboardInterrupt, and importantly, also the END line.
[[ubuntu-
1) On an Ubuntu 18.04 system run do-release-upgrade in a terminal.
2) At the "Do you want to start the upgrade?" question say Y.
3) When you see the "Lock screen disabled" message you will also see "Inhibiting until Ctrl+C is pressed".
4) Press "Ctrl+C"
Your /etc/apt/
[Where problems could occur]
apt: This specific change removes the two lines that SIG_DFL the signal handlers after running scripts. AFAWCT those lines are unnecessary - the code that calls it temporarily sets the handlers to SIG_IGN but restores previous handlers at the end; it was wrongly refactored decades ago. A regression could occur in that those signals will now continue to be ignored if we missed a spot.
ubuntu-
[Original bug report]
As a long-time-user of ?ubuntu, with apt-get as tool of choice for updates/upgrades I wrote a daily script for updates, with 'dist-upgrade'.
In all earlier years, it wouldn't actually do an upgrade of a ?ubuntu version; just all packages including new ones. Version updates had to be initiated manually, and I was always asked if I really wanted the new ?ubuntu version. Sounds appropriate.
Last night when it (dist-upgrade), it just gave me 20.04. No questions asked. I for one consider this kind of intrusive, though.
It *might* have to make with me trying 'sudo do-release-upgrade -m desktop' a number of times earlier; just to *check* if the upgrade was on offer; but this is only a guess.
In *any* case, a pop-up asking "Are you sure? Are you connected through an adequate pipe? Are you sitting with full batteries; better a power supply?" would be convenient; since I am using my PC for urgent duties, and didn't want to fiddle with unexpected upgrade bugs.
ProblemType: BugDistroRelease: Ubuntu 20.04
Package: ubuntu-
ProcVersionSign
Uname: Linux 5.4.0-48-generic x86_64
ApportVersion: 2.20.11-0ubuntu27.9
Architecture: amd64
CasperMD5CheckR
CrashDB: ubuntu
CurrentDesktop: KDE
Date: Thu Oct 1 11:48:39 2020
InstallationDate: Installed on 2019-03-14 (566 days ago)
InstallationMedia: Kubuntu 18.04.1 LTS "Bionic Beaver" - Release amd64 (20180725)
PackageArchitec
Symptom: ubuntu-
UpgradeStatus: Upgraded to focal on 2020-09-29 (1 days ago)
VarLogDistupgra
Log time: 2020-09-29 19:44:28.696289
Log time: 2020-09-29 19:44:33.573481
tags: | added: fr-1056 |
tags: | removed: rls-ff-incoming |
Changed in ubuntu-release-upgrader (Ubuntu Hirsute): | |
assignee: | nobody → Brian Murray (brian-murray) |
status: | Confirmed → In Progress |
importance: | Undecided → High |
Changed in apt (Ubuntu Hirsute): | |
status: | Triaged → Fix Committed |
Changed in apt (Ubuntu Groovy): | |
status: | New → Triaged |
description: | updated |
Changed in apt (Ubuntu Groovy): | |
status: | Triaged → In Progress |
Changed in ubuntu-release-upgrader (Ubuntu Focal): | |
assignee: | nobody → Brian Murray (brian-murray) |
status: | New → In Progress |
Changed in ubuntu-release-upgrader (Ubuntu Groovy): | |
assignee: | nobody → Brian Murray (brian-murray) |
status: | New → In Progress |
description: | updated |
description: | updated |
tags: | removed: verification-needed |
The release upgrade process is interactive and should ask you questions during the upgrade process. Do you have any other log files in /var/log/ dist-upgrade? There may be an apt-term.log and / or a screenlog.0 file. Both of those may help sorting out what happened.