[Bug 2067318] [NEW] Hitting Ctrl-C in the dpkg config conflict interactive sub-shell aborts the upgrade
Kai Groner
2067318 at bugs.launchpad.net
Mon May 27 19:03:46 UTC 2024
Public bug reported:
During an upgrade from 23.10 to 24.04, while investigating a config
conflict in an interactive sub shell I used ^C to discard the current
command in that shell. Instead of the shell receiving the interrupt
signal and responding in the way it normally did, some other process in
the upgrade process received it and aborted the upgrade.
Using ^C to discard the current command in a shell is normal use and
shouldn't result in catastrophic failure of the upgrade.
Some of the upgrade is still running, but nothing is responding to
keyboard input.
Here is the output of the process after I hit ^C:
-------------------------
Could not install the upgrades
The upgrade has aborted. Your system could be in an unusable state. A
recovery will run now (dpkg --configure -a).
dpkg: error: dpkg database lock was locked by another process with pid 1275670
Note: removing the lock file is always wrong, can damage the locked area
and the entire system. See <https://wiki.debian.org/Teams/Dpkg/FAQ#db-lock>.
dp
Upgrade complete
The upgrade has completed but there were errors during the upgrade
process.
To continue please press [ENTER]
-------------------------
Here is the process tree that remained after the upgrade process aborted:
-------------------------
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1218552 0.0 0.0 17396 7680 pts/3 S+ 12:50 0:01 sudo do-release-upgrade
root 1218553 0.0 0.0 17396 2628 pts/2 Ss 12:50 0:00 \_ sudo do-release-upgrade
root 1218554 0.7 0.7 558320 245452 pts/2 Sl+ 12:50 0:50 \_ /usr/bin/python3 -s /tmp/ubuntu-release-upgrader-xq5m8ra9/noble --mode=server --frontend=DistUpgradeViewText
root 1224613 0.0 0.0 0 0 pts/2 Z+ 12:58 0:00 \_ [sh] <defunct>
root 1224643 0.1 0.5 560428 172244 pts/2 S+ 12:58 0:12 \_ /usr/bin/python3 -s /tmp/ubuntu-release-upgrader-xq5m8ra9/noble --mode=server --frontend=DistUpgradeViewText
root 1275670 0.0 0.0 21320 16700 pts/0 Ss 13:12 0:02 \_ /usr/bin/dpkg --force-overwrite --status-fd 112 --configure --pending
root 1320513 0.0 0.0 8592 5376 pts/0 S+ 14:27 0:00 \_ /bin/bash -i --
-------------------------
It appears there are several pseudoterminals in use.
I thought screen used to be used for this, but it doesn't seem to be in
this case. Maybe that's not relevant here, I don't know.
Whatever code is doing this needs to put the outer layer in raw mode to
be able to handle normal interactive use.
** Affects: ubuntu-release-upgrader (Ubuntu)
Importance: Undecided
Status: New
--
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/2067318
Title:
Hitting Ctrl-C in the dpkg config conflict interactive sub-shell
aborts the upgrade
Status in ubuntu-release-upgrader package in Ubuntu:
New
Bug description:
During an upgrade from 23.10 to 24.04, while investigating a config
conflict in an interactive sub shell I used ^C to discard the current
command in that shell. Instead of the shell receiving the interrupt
signal and responding in the way it normally did, some other process
in the upgrade process received it and aborted the upgrade.
Using ^C to discard the current command in a shell is normal use and
shouldn't result in catastrophic failure of the upgrade.
Some of the upgrade is still running, but nothing is responding to
keyboard input.
Here is the output of the process after I hit ^C:
-------------------------
Could not install the upgrades
The upgrade has aborted. Your system could be in an unusable state. A
recovery will run now (dpkg --configure -a).
dpkg: error: dpkg database lock was locked by another process with pid 1275670
Note: removing the lock file is always wrong, can damage the locked area
and the entire system. See <https://wiki.debian.org/Teams/Dpkg/FAQ#db-lock>.
dp
Upgrade complete
The upgrade has completed but there were errors during the upgrade
process.
To continue please press [ENTER]
-------------------------
Here is the process tree that remained after the upgrade process aborted:
-------------------------
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1218552 0.0 0.0 17396 7680 pts/3 S+ 12:50 0:01 sudo do-release-upgrade
root 1218553 0.0 0.0 17396 2628 pts/2 Ss 12:50 0:00 \_ sudo do-release-upgrade
root 1218554 0.7 0.7 558320 245452 pts/2 Sl+ 12:50 0:50 \_ /usr/bin/python3 -s /tmp/ubuntu-release-upgrader-xq5m8ra9/noble --mode=server --frontend=DistUpgradeViewText
root 1224613 0.0 0.0 0 0 pts/2 Z+ 12:58 0:00 \_ [sh] <defunct>
root 1224643 0.1 0.5 560428 172244 pts/2 S+ 12:58 0:12 \_ /usr/bin/python3 -s /tmp/ubuntu-release-upgrader-xq5m8ra9/noble --mode=server --frontend=DistUpgradeViewText
root 1275670 0.0 0.0 21320 16700 pts/0 Ss 13:12 0:02 \_ /usr/bin/dpkg --force-overwrite --status-fd 112 --configure --pending
root 1320513 0.0 0.0 8592 5376 pts/0 S+ 14:27 0:00 \_ /bin/bash -i --
-------------------------
It appears there are several pseudoterminals in use.
I thought screen used to be used for this, but it doesn't seem to be
in this case. Maybe that's not relevant here, I don't know.
Whatever code is doing this needs to put the outer layer in raw mode
to be able to handle normal interactive use.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+bug/2067318/+subscriptions
More information about the foundations-bugs
mailing list