do-release-upgrade configuration prompts fail to handle SIGINT
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
update-manager (Ubuntu) |
Fix Released
|
High
|
Unassigned |
Bug Description
This bug occurred while upgrading Oneiric to Precise.
The 'Z : start a shell to examine the situation' prompt does not handle SIGINT. This is a severe bug, which just risked hosing my box.
do-release-upgrade said:
Configuration file `/etc/mysql/my.cnf'
==> Modified (by you or by a script) since installation.
==> Package distributor has shipped an updated version.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer's version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : start a shell to examine the situation
The default action is to keep your current version.
*** my.cnf (Y/I/N/O/D/Z) [default=N] ? z
Type `exit' when you're done.
root@code:/#
I typed a few characters, realized I typed the wrong thing, and hit Ctrl-C. I got:
your report. The upgrade has aborted.
File "/tmp/update-
return self.fullUpgrade()
return func(*args, **kwds)
File "/usr/lib/
return func(*args, **kwds)
KeyboardInt
=== Command terminated with exit status 1 (Mon Sep 24 14:19:12 2012) ===
And there went my upgrade. (The decorative spacing comes from do-release-upgrade. That's a separate bug, presumably.) The system is still sitting there, with dpkg in some mysterious state, stuck, because the 'precise' process is waiting for I/O that's never going to happen.
If you're going to spawn a shell, *give it proper control of the tty so it handles signals*.
tags: | added: dist-upgrade |
Changed in update-manager (Ubuntu): | |
importance: | Undecided → High |
Changed in update-manager (Ubuntu): | |
status: | Confirmed → Fix Released |
This is a side-effect of the dpkg issue #1015567