package man-db 2.6.7.1-1 trigger froze during dist upgrade from 12.04.

Bug #1365939 reported by lkalev
This bug report is a duplicate of:  Bug #1372673: excessive debconf use when triggered. Edit Remove
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
man-db (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

While upgrading Ubuntu Studio from 12.04 to 14.04.1, the man-db post-install trigger froze and I had to kill it. After that the upgrade proceeded normally (I ran the man-db update manually after that, just in case).

The process that I killed was blocked on 'futex_wait' (I believe it was a Perl script, but I forgot to save the line from the 'ps' output).

Here is the relevant part of the /var/log/dist-upgrade/apt-term.log file:

Preparing to unpack .../python_2.7.5-5ubuntu3_i386.deb ...
Unpacking python (2.7.5-5ubuntu3) over (2.7.3-0ubuntu2.2) ...
Preparing to unpack .../python-minimal_2.7.5-5ubuntu3_i386.deb ...
Unpacking python-minimal (2.7.5-5ubuntu3) over (2.7.3-0ubuntu2.2) ...
Processing triggers for man-db (2.6.1-2ubuntu1) ...

(process:30797): GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.32.4/./gobject/gtype.c:2722: You forgot to call g_type_init()

(process:30797): GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.32.4/./gobject/gtype.c:2722: You forgot to call g_type_init()

(process:30797): GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.32.4/./gobject/gtype.c:2722: You forgot to call g_type_init()

(process:30797): GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.32.4/./gobject/gtype.c:2722: You forgot to call g_type_init()

(process:30797): GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.32.4/./gobject/gtype.c:2722: You forgot to call g_type_init()

(process:30797): GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.32.4/./gobject/gtype.c:2722: You forgot to call g_type_init()

(process:30797): GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.32.4/./gobject/gtype.c:2722: You forgot to call g_type_init()

(process:30797): GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.32.4/./gobject/gtype.c:2722: You forgot to call g_type_init()

(process:30797): GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.32.4/./gobject/gtype.c:2722: You forgot to call g_type_init()

(process:30797): GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.32.4/./gobject/gtype.c:2722: You forgot to call g_type_init()
GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.32.4/./gobject/gtype.c:2722: You forgot to call g_type_init() at /usr/lib/perl/5.18/DynaLoader.pm line 207.
GLib-CRITICAL **: g_hash_table_lookup: assertion `hash_table != NULL' failed at /usr/lib/perl/5.18/DynaLoader.pm line 207.
GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.32.4/./gobject/gtype.c:2722: You forgot to call g_type_init() at /usr/lib/perl/5.18/DynaLoader.pm line 207.
GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed at /usr/lib/perl/5.18/DynaLoader.pm line 207.
GLib-CRITICAL **: g_hash_table_lookup: assertion `hash_table != NULL' failed at /usr/lib/perl/5.18/DynaLoader.pm line 207.
GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.32.4/./gobject/gtype.c:2722: You forgot to call g_type_init() at /usr/lib/perl/5.18/DynaLoader.pm line 207.
GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.32.4/./gobject/gtype.c:2722: You forgot to call g_type_init() at /usr/lib/perl/5.18/DynaLoader.pm line 207.
GLib-CRITICAL **: g_hash_table_lookup: assertion `hash_table != NULL' failed at /usr/lib/perl/5.18/DynaLoader.pm line 207.
GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.32.4/./gobject/gtype.c:2722: You forgot to call g_type_init() at /usr/lib/perl/5.18/DynaLoader.pm line 207.
GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed at /usr/lib/perl/5.18/DynaLoader.pm line 207.
GLib-CRITICAL **: g_hash_table_lookup: assertion `hash_table != NULL' failed at /usr/lib/perl/5.18/DynaLoader.pm line 207.
GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.32.4/./gobject/gtype.c:2722: You forgot to call g_type_init() at /usr/lib/perl/5.18/DynaLoader.pm line 207.
GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed at /usr/lib/perl/5.18/DynaLoader.pm line 207.
GLib-CRITICAL **: g_hash_table_lookup: assertion `hash_table != NULL' failed at /usr/lib/perl/5.18/DynaLoader.pm line 207.
GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.32.4/./gobject/gtype.c:2722: You forgot to call g_type_init() at /usr/lib/perl/5.18/DynaLoader.pm line 207.
GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed at /usr/lib/perl/5.18/DynaLoader.pm line 207.
GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.32.4/./gobject/gtype.c:2722: You forgot to call g_type_init() at /usr/lib/perl/5.18/DynaLoader.pm line 207.
GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed at /usr/lib/perl/5.18/DynaLoader.pm line 207.
dpkg: error processing package man-db (--unpack):
 subprocess installed post-installation script was killed by signal (Terminated)
Processing triggers for doc-base (0.10.3) ...
Processing 2 changed doc-base files...
Registering documents with scrollkeeper...
Processing triggers for desktop-file-utils (0.20-0ubuntu3) ...
Errors were encountered while processing:
 man-db
Setting up python-minimal (2.7.5-5ubuntu3) ...
Selecting previously unselected package python-oauthlib.

ProblemType: Package
DistroRelease: Ubuntu 14.04
Package: man-db 2.6.7.1-1
ProcVersionSignature: Ubuntu 3.13.0-35.62-lowlatency 3.13.11.6
Uname: Linux 3.13.0-35-lowlatency i686
ApportVersion: 2.14.1-0ubuntu3.3
Architecture: i386
Date: Thu Sep 4 09:13:59 2014
DuplicateSignature: package:man-db:2.6.7.1-1:ErrorMessage: subprocess installed post-installation script was killed by signal (Terminated)
ErrorMessage: ErrorMessage: subprocess installed post-installation script was killed by signal (Terminated)
InstallationDate: Installed on 2012-09-28 (705 days ago)
InstallationMedia: Ubuntu-Studio 12.04.1 "Precise Pangolin" - Release i386 (20120818)
SourcePackage: man-db
Title: package man-db 2.6.7.1-1 failed to install/upgrade: ErrorMessage: subprocess installed post-installation script was killed by signal (Terminated)
UpgradeStatus: Upgraded to trusty on 2014-09-04 (0 days ago)

Revision history for this message
lkalev (lkalev) wrote :
tags: removed: need-duplicate-check
Revision history for this message
Launchpad Janitor (janitor) wrote :

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

Changed in man-db (Ubuntu):
status: New → Confirmed
Revision history for this message
Jeremy Schneider (ardentperf) wrote :

appears that i have run into the same bug while upgrading my system from 1204 to 14041.

my apt-term.log file seems to match exactly.

i've grabbed ps output and a few other things from the hung process, since @lkalev mentioned that he hadn't grabbed them before killing the process.

the wchan (from /proc) is actually futex_wait_queue_me, though i'm not sure how helpful that will be for finding the offending bug.

$ ps axf

 6441 ? Sl 0:17 gksu --desktop /usr/share/applications/update-manager.desktop -- /tmp/update-manager-FlInfM/trusty
26891 ? Ss 0:00 \_ /usr/bin/sudo -H -S -p GNOME_SUDO_PASS -u root -- /tmp/update-manager-FlInfM/trusty
26892 ? Sl 5:12 \_ /usr/bin/python /tmp/update-manager-FlInfM/trusty
 9686 ? S 0:00 \_ /bin/sh -c while true; do /usr/bin/xdg-screensaver reset >/dev/null 2>&1; sleep 30; done
 7813 ? S 0:00 | \_ sleep 30
 9737 ? S 0:00 \_ gnome-pty-helper
 9738 pts/4 Ss+ 0:02 \_ /usr/bin/python /tmp/update-manager-FlInfM/trusty
31466 pts/5 Ss+ 0:06 \_ /usr/bin/dpkg --force-overwrite --status-fd 73 --unpack --auto-deconfigure /var/cache/apt/archives/liblocale-gettext-perl_1.05-7build3_amd64.deb /var/cache/apt/archives/libnet-ssleay-perl_1.58-1_amd64.deb /var/cache/apt/archives/libglib-perl_3%3a1.304-1_amd64.deb /var/cache/apt/archives/libgtk2-perl_2%3a1.249-2_amd64.deb /var/cache/apt/archives/libalgorithm-diff-xs-perl_0.04-2build4_amd64.deb /var/cache/apt/archives/libterm-readkey-perl_2.31-1_amd64.deb /var/cache/apt/archives/libuuid-perl_0.05-1_amd64.deb /var/cache/apt/archives/libtext-iconv-perl_1.7-5build2_amd64.deb /var/cache/apt/archives/libcrypt-ssleay-perl_0.58-1build1_amd64.deb /var/cache/apt/archives/libpango-perl_1.224-2_amd64.deb /var/cache/apt/archives/libxml-parser-perl_2.41-1build3_amd64.deb /var/cache/apt/archives/libsocket6-perl_0.25-1_amd64.deb /var/cache/apt/archives/libperl5.18_5.18.2-2ubuntu1_amd64.deb
31693 pts/5 S+ 0:00 \_ /usr/bin/perl -w /usr/share/debconf/frontend /var/lib/dpkg/info/man-db.postinst triggered /usr/share/man

$ cat /proc/.../stack

[<ffffffff8109ef49>] futex_wait_queue_me+0xc9/0x100
[<ffffffff8109ff60>] futex_wait+0x100/0x210
[<ffffffff810a1d4c>] do_futex+0x7c/0x1b0
[<ffffffff810a1fc7>] sys_futex+0x147/0x1a0
[<ffffffff8166a3c2>] system_call_fastpath+0x16/0x1b
[<ffffffffffffffff>] 0xffffffffffffffff

Revision history for this message
Jeremy Schneider (ardentperf) wrote :
Revision history for this message
Jeremy Schneider (ardentperf) wrote :
Revision history for this message
Jeremy Schneider (ardentperf) wrote :
Revision history for this message
Jeremy Schneider (ardentperf) wrote :
Revision history for this message
Jeremy Schneider (ardentperf) wrote :
Revision history for this message
Jeremy Schneider (ardentperf) wrote :

just in the off chance off chance that someone is watching their email today and has suggestions for additional diagnostics info, i will leave my system hung for a few hours before i finish the upgrade. let me know if you have any requests.

based on @lkalev's original bug report, and also on http://askubuntu.com/questions/453831/help-online-upgrade-from-12-04-to-14-04-stuck which appears to be describing the same problem, it seems that the workaround is to just kill the "perl frontend" process and the installation process should restart itself and complete successfully. i'll try this later today.

this might be a bug in the frontend upgrade script rather than man-db. it seems that dpkg properly failed the man-db upgrade, but the frontend program got hung after dpkg failed.

Revision history for this message
Colin Watson (cjwatson) wrote :

Thanks for your report. The basic problem here is that man-db's trigger uses debconf to decide whether to update the manual page database, but debconf is not always reliably usable in triggers. I finally figured out a simple way to avoid this problem, which I'm tracking as bug 1372673. If you are still affected by this locally (which I realise is unlikely in the case of some of the older bugs of this type), then running "sudo dpkg --configure -a && sudo apt-get -f install" in a terminal should normally be enough to get the package management system back to a sensible state.

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.