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

Bug #1448380 reported by skierpage on 2015-04-25
32
This bug affects 7 people
Affects Status Importance Assigned to Milestone
ubuntu-release-upgrader (Ubuntu)
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

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.

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) on 2015-04-27
description: updated
tags: added: dist-upgrade vivid
Launchpad Janitor (janitor) wrote :

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

Changed in ubuntu-release-upgrader (Ubuntu):
status: New → Confirmed
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
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
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) on 2015-08-22
Changed in ubuntu-release-upgrader (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers