15.04 installer hung in configure step with exception in DistUpgradeViewKDE.py

Bug #1448380 reported by skierpage
32
This bug affects 7 people
Affects Status Importance Assigned to Milestone
ubuntu-release-upgrader (Ubuntu)
Fix Released
Critical
Unassigned
Nominated for Vivid by Alberto Salvia Novella

Bug Description

I started the update to Kubuntu 15.04 from Muon updater.

The packages had downloaded and it was going through the configure step when I stepped away.
When I returned the "Distribution Upgrade" KDE window was unresponsive, and when I covered it with other windows it did not repaint. The window displayed

   About 4 minutes remaining
   Configuring libgtk-3-0 (amd64)

Quick summary: from the logs it looks like the upgrader experienced a python error in DistUpgradeViewKDE.py configuring this package. Someone else reported a similar bug to KDE.

ps alx -w -w reported two processes of interest:

5 0 18155 2210 20 0 631468 43068 poll_s Ss ? 3:49 /usr/bin/python3 /tmp/ubuntu-release-upgrader-w_cfoeu6/vivid --mode=desktop --frontend=DistUpgradeViewKDE
4 0 28966 18155 20 0 26720 12676 n_tty_ Ss+ pts/13 0:09 /usr/bin/dpkg --force-overwrite --status-fd 154 --configure libtasn1-6:i386 <long long line continues>
 libtasn1-6:amd64 libffi6:i386 libffi6:amd64 libp11-kit0:i386 libp11-kit0:amd64 p11-kit-modules:i386 p11-kit-modules:amd64 libgmp10:amd64 libgmp10:i386 libnettle4:amd64 libnettle4:i386 libhogweed2:amd64 libhogweed2:i386 libgnutls-deb0-28:amd64 libgnutls-deb0-28:i386 libgnutls-openssl27:amd64 libavahi-common-data:amd64 libavahi-common-data:i386 libavahi-common3:amd64 libavahi-common3:i386 libdbus-1-3:amd64 libdbus-1-3:i386 libavahi-client3:amd64 libavahi-client3:i386 libkrb5support0:amd64 libkrb5support0:i386 libk5crypto3:amd64 libk5crypto3:i386 libkrb5-3:amd64 libkrb5-3:i386 libgssapi-krb5-2:amd64 libgssapi-krb5-2:i386 libcups2:amd64 libcups2:i386 libjbig0:amd64 libjbig0:i386 libtiff5:amd64 libtiff5:i386 libcupsfilters1:amd64 libcupsimage2:amd64 libcupsppdc1:amd64 libcupscgi1:amd64 fontconfig-config:all libfreetype6:amd64 libfreetype6:i386 libfontconfig1:amd64 libfontconfig1:i386 liblcms2-2:amd64 liblcms2-2:i386 libpoppler49:amd64 libqpdf13:amd64 bc:amd64 libpixman-1-0:amd64 libxext6:amd64 libxext6:i386 libxrender1:amd64 libxrender1:i386 libcairo2:amd64 poppler-utils:amd64 cups-filters-core-drivers:amd64 libgutenprint2:amd64 libusb-1.0-0:amd64 libusb-1.0-0:i386 libcupsmime1:amd64 init-system-helpers:all openssl:amd64 ssl-cert:all cups-daemon:amd64 cups-core-drivers:amd64 libijs-0.35:amd64 poppler-data:all libgs9-common:all libgs9:amd64 ghostscript:amd64 cups-common:all cups-server-common:all cups-client:amd64 cups-ppdc:amd64 libfontembed1:amd64 cups-filters:amd64 cups:amd64 printer-driver-gutenprint:amd64 cups-driver-gutenprint:all libicu52:amd64 libicu52:i386 libxml2:amd64 libxml2:i386 perl-modules:all libgdbm3:amd64 libgdbm3:i386 perl:amd64 wget:amd64 libroken18-heimdal:amd64 libroken18-heimdal:i386 libasn1-8-heimdal:amd64 libasn1-8-heimdal:i386 libhcrypto4-heimdal:amd64 libhcrypto4-heimdal:i386 libheimbase1-heimdal:amd64 libheimbase1-heimdal:i386 libwind0-heimdal:amd64 libwind0-heimdal:i386 libhx509-5-heimdal:amd64 libhx509-5-heimdal:i386 libsqlite3-0:amd64 libsqlite3-0:i386 libkrb5-26-heimdal:amd64 libkrb5-26-heimdal:i386 libheimntlm0-heimdal:amd64 libheimntlm0-heimdal:i386 libgssapi3-heimdal:amd64 libgssapi3-heimdal:i386 libsasl2-modules-db:amd64 libsasl2-modules-db:i386 libsasl2-2:amd64 libsasl2-2:i386 libldap-2.4-2:amd64 libldap-2.4-2:i386 librtmp1:amd64 libcurl3:amd64 curl:amd64 foomatic-db-engine:amd64 cups-bsd:amd64 libglib2.0-0:amd64 libglib2.0-0:i386 libavahi-glib1:amd64 cups-browsed:amd64 mime-support:all libpython3.4-stdlib:amd64 python3.4:amd64 libpython3-stdlib:amd64 python3:amd64 dh-python:all foomatic-db-compressed-ppds:all printer-driver-sag-gdi:all printer-driver-foo2zjs-common:all dc:amd64 liblcms2-utils:amd64 printer-driver-foo2zjs:amd64 openprinting-ppds:all fontconfig:amd64 psmisc:amd64 php5-common:amd64 php5-intl:amd64 mysql-common:all libmysqlclient18:amd64 php5-mysql:amd64 libjson-c2:amd64 libjson-c2:i386 php5-json:amd64 libmagic1:amd64 libedit2:amd64 libedit2:i386 php5-cli:amd64 php5-readline:amd64 php5-curl:amd64 libvpx1:amd64 libvpx1:i386 libgd3:amd64 libgd3:i386 php5-gd:amd64 php5-mcrypt:amd64 libapr1:amd64 libaprutil1:amd64 libaprutil1-dbd-sqlite3:amd64 libaprutil1-ldap:amd64 liblua5.1-0:amd64 apache2-bin:amd64 apache2-utils:amd64 apache2-data:all apache2:amd64 libapache2-mod-php5:amd64 libnih1:amd64 libnih1:i386 libnih-dbus1:amd64 libnih-dbus1:i386 libcgmanager0:amd64 libcgmanager0:i386 cgmanager:amd64 systemd-shim:amd64 libplymouth4:amd64 initramfs-tools-bin:amd64 busybox-initramfs:amd64 cpio:amd64 kmod:amd64 module-init-tools:all initramfs-tools:all libdrm2:amd64 libdrm2:i386 plymouth:amd64 mountall:amd64 libthai-data:all libthai0:amd64 libpango-1.0-0:amd64 libharfbuzz0b:amd64 libpangoft2-1.0-0:amd64 libpangocairo-1.0-0:amd64 plymouth-label:amd64 libpangoxft-1.0-0:amd64 libpangox-1.0-0:amd64 libpango1.0-0:amd64 ureadahead:amd64 libjson0:amd64 libjson0:i386 upstart:amd64 upstart-bin:all grub-common:amd64 friendly-recovery:all netbase:all dbus:amd64 bluez:amd64 libpam-systemd:amd64 cron:amd64 libcpan-meta-perl:all

(Note libgtk-3-0 is not in this list, maybe it's an incomplete command line)

In /var/log/dist-upgrade/ ,main.log ends with

  2015-04-24 20:07:54,444 DEBUG got a conffile-prompt from dpkg for file: '/etc/gtk-3.0/settings.ini'
  2015-04-24 20:07:56,129 ERROR not handled exception in KDE frontend:
  ... (full trace is at the end)
    File "/tmp/ubuntu-release-upgrader-w_cfoeu6/DistUpgrade/DistUpgradeViewKDE.py", line 339, in conffile
      self.confDialogue.show_difference_button.clicked.connect(self.showConffile())

  TypeError: connect() slot argument should be a callable or a signal, not 'NoneType'

KDE bug https://bugs.kde.org/show_bug.cgi?id=345579 reports the same error in upgrade, except in that bug report "configuring grub-common(amd64)" failed rather than "libgtk-3-0". That KDE bug ends with an admonition to "Please report installer issues to the bug tracker of your distribution" but I can't find a launchpad bug.

After this TypeError, the last two lines of main.log are
  2015-04-24 20:07:56,130 DEBUG running apport_crash()
  2015-04-24 20:08:24,801 DEBUG enabling apt cron job

I didn't see any apport window. By the way, when I tried to report this bug by entering `apport-bug --hanging 18155` at the command line as root, I get a python error
  ValueError: /usr/bin/python3.4 (deleted) does not exist

apt-term.log ends with:

  Setting up libgtk-3-0:amd64 (3.14.12-0ubuntu2) ...

  Configuration file '/etc/gtk-3.0/settings.ini'
   ==> Deleted (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.
  *** settings.ini (Y/I/N/O/D/Z) [default=N] ?

Here's the end of main.log:

2015-04-24 20:07:54,444 DEBUG got a conffile-prompt from dpkg for file: '/etc/gtk-3.0/settings.ini'
2015-04-24 20:07:56,129 ERROR not handled exception in KDE frontend:
Traceback (most recent call last):

  File "/tmp/ubuntu-release-upgrader-w_cfoeu6/vivid", line 8, in <module>
    sys.exit(main())

  File "/tmp/ubuntu-release-upgrader-w_cfoeu6/DistUpgrade/DistUpgradeMain.py", line 240, in main
    if app.run():

  File "/tmp/ubuntu-release-upgrader-w_cfoeu6/DistUpgrade/DistUpgradeController.py", line 1831, in run
    return self.fullUpgrade()

  File "/tmp/ubuntu-release-upgrader-w_cfoeu6/DistUpgrade/DistUpgradeController.py", line 1796, in fullUpgrade
    if not self.doDistUpgrade():

  File "/tmp/ubuntu-release-upgrader-w_cfoeu6/DistUpgrade/DistUpgradeController.py", line 1137, in doDistUpgrade
    res = self.cache.commit(fprogress,iprogress)

  File "/tmp/ubuntu-release-upgrader-w_cfoeu6/DistUpgrade/DistUpgradeCache.py", line 267, in commit
    apt.Cache.commit(self, fprogress, iprogress)

  File "/usr/lib/python3/dist-packages/apt/cache.py", line 501, in commit
    res = self.install_archives(pm, install_progress)

  File "/usr/lib/python3/dist-packages/apt/cache.py", line 465, in install_archives
    res = install_progress.run(pm)

  File "/tmp/ubuntu-release-upgrader-w_cfoeu6/DistUpgrade/DistUpgradeView.py", line 234, in run
    res = os.WEXITSTATUS(self.wait_child())

  File "/tmp/ubuntu-release-upgrader-w_cfoeu6/DistUpgrade/DistUpgradeViewKDE.py", line 451, in wait_child
    self.update_interface()

  File "/tmp/ubuntu-release-upgrader-w_cfoeu6/DistUpgrade/DistUpgradeViewKDE.py", line 430, in update_interface
    InstallProgress.update_interface(self)

  File "/usr/lib/python3/dist-packages/apt/progress/base.py", line 252, in update_interface
    self.conffile(match.group(1), match.group(2))

  File "/tmp/ubuntu-release-upgrader-w_cfoeu6/DistUpgrade/DistUpgradeViewKDE.py", line 339, in conffile
    self.confDialogue.show_difference_button.clicked.connect(self.showConffile())

TypeError: connect() slot argument should be a callable or a signal, not 'NoneType'

2015-04-24 20:07:56,130 DEBUG running apport_crash()
2015-04-24 20:08:24,801 DEBUG enabling apt cron job

Revision history for this message
skierpage (skierpage) wrote :

I killed the /usr/bin/dpkg child process, and the parent window came back to life, and closed, and now I have the KDE desktop reboot prompt, even though /var/log/dpkg.log ends with libgtd-3-0 unpacked but not installed.

I will try re-running the install from the command line.

Revision history for this message
skierpage (skierpage) wrote :

> I will try re-running the install from the command line.
FYI that worked fine. Someone on IRC told me to first run `sudo apt-get update`, that printed
  E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.

When I ran this, the config step started up again and I answered the libgtk-3-0 config question which hung the GUI installer. Then I ran `apt-get dist-upgrade` and it went fine, and I'm running Kubuntu 15.04!

themroc (rauchweihe)
description: updated
tags: added: dist-upgrade vivid
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in ubuntu-release-upgrader (Ubuntu):
status: New → Confirmed
Revision history for this message
Lienhart Woitok (liwo) wrote :

I just had the same error during upgrade from kubuntu 14.10 to 15.04. In my case, it was the file /etc/php5/fpm/pool.d/www.conf, but I don't think that matters. The stacktrace in main.log is the same as yours, including the line numbers are equal.

Like you I had to kill the dpkg process and then do a manual dpkg --configure -a which did a lot of things and asked me about file differences. Afterwards I ran apt-get dist-upgrade but this reported only packages that could be removed. I did so with apt-get autoremove.

I hope this is basically what the upgrader would do, I tried to look around the source code a bit, but I couldn't really figure out what it does.

I believe this is a very serious bug as it prevents people from upgrading and without enough knowledge on how to proceed from there they are stuck with a broken system!

Changed in ubuntu-release-upgrader (Ubuntu):
importance: Undecided → Critical
Revision history for this message
Lienhart Woitok (liwo) wrote :

Update to my previous comment. When I wrote it, I had not yet rebooted my system to be able to collect some information and debug the problem. After I rebooted I was not able to log back into KDE. I could enter my password in the login manager and KDE started to launch (so X11 started even though logging some nvidia-related errors), but after about 2/3 of the progress bar it went to a black screen and after a few seconds back to the login screen. This even happened with a completly new user, so my old user settings were not the cause. I did not find out what the problem was as this caused me to loose any remaining trust in the stability of my previous repair work and I didn't invest much time into it. I just finished reinstalling the whole system.

Changed in ubuntu-release-upgrader (Ubuntu):
status: Confirmed → Triaged
Revision history for this message
Sergio Callegari (callegar) wrote :

Seen the same on both computers that I upgraded to kubuntu vivid from utopic.

The first time it happened the upgrade was unattended. I left the machine running over night, so when found it stuck in the morning I basically thought that I might have stumbled in some glitch.

But now I am seeing this for the second time in a row. In my case, it happened during the mime-config phase. The log are exactly as reported a python error with "TypeError: connect() slot argument should be a callable or a signal, not NoneType".

The fact that kubuntu utopic is going EOL in less than a month is making me quite scared.

Changed in ubuntu-release-upgrader (Ubuntu):
status: Triaged → Fix Committed
peterstan (stasnel)
Changed in ubuntu-release-upgrader (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.