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
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2067318

Title:
  Hitting Ctrl-C in the dpkg config conflict interactive sub-shell
  aborts the upgrade

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+bug/2067318/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to