** Description changed:
- 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'.
+ [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-release-upgrader, this results in the release upgrader
+ being unable to handle interrupts after it did the initial update - the
+ default libc handler will run and the program exits.
+
+ [Test plan]
+
+ [[apt]]
+ As a standalone test for apt, we can test the following script:
+
+ import apt
+ import time
+
+ apt.Cache().update()
+ print("WAITING")
+ try:
+ time.sleep(10000)
+ 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.
+
+ [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.
+
+ [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.
+ 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: Bug
DistroRelease: Ubuntu 20.04
Package: ubuntu-release-upgrader-core 1:20.04.25
ProcVersionSignature: Ubuntu 5.4.0-48.52-generic 5.4.60
Uname: Linux 5.4.0-48-generic x86_64
ApportVersion: 2.20.11-0ubuntu27.9
Architecture: amd64
CasperMD5CheckResult: skip
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)
PackageArchitecture: all
SourcePackage: ubuntu-release-upgrader
Symptom: ubuntu-release-upgrader
UpgradeStatus: Upgraded to focal on 2020-09-29 (1 days ago)
VarLogDistupgradeAptlog:
- Log time: 2020-09-29 19:44:28.696289
- Log time: 2020-09-29 19:44:33.573481
+ Log time: 2020-09-29 19:44:28.696289
+ Log time: 2020-09-29 19:44:33.573481
** Changed in: apt (Ubuntu Groovy)
Status: Triaged => In Progress
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1898026
Title:
interruption of dist-upgrade can leave you next release in
sources.list
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1898026/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs