Version: 2.1.31 I'm seeing this problem too. During my last upgrade it just hung on every package that calls install-docs, which calls update-menus which again calls update-menus. The last update-menus then goes <defunct> just like with mario. But at package number X it did not go defunct, but still hung there so I decided to strace:
root 9548 7344 0 21:51 pts/2 00:00:00 dpkg --configure -a root 9772 9548 0 21:51 pts/2 00:00:00 /bin/sh /var/lib/dpkg/info/lintian.postinst configure 1.23.24 root 9774 9772 0 21:51 pts/2 00:00:00 /usr/bin/perl /usr/sbin/install-docs -i /usr/share/doc-base/lintian root 9775 9774 0 21:51 pts/2 00:00:00 /usr/bin/update-menus root 9776 9775 0 21:51 pts/2 00:00:00 /usr/bin/update-menus $ sudo strace -p 9775 Process 9775 attached - interrupt to quit futex(0xb7e79330, FUTEX_WAIT, 1, NULL $ sudo strace -p 9776 Process 9776 attached - interrupt to quit restart_syscall(<... resuming interrupted call ...>) = 0 open("/var/lib/dpkg/lock", O_RDWR|O_CREAT|O_TRUNC, 0660) = 0 fcntl64(0, F_GETLK, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0, pid=9548}) = 0 close(0) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 nanosleep({2, 0}, {2, 0}) = 0 open("/var/lib/dpkg/lock", O_RDWR|O_CREAT|O_TRUNC, 0660) = 0 fcntl64(0, F_GETLK, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0, pid=9548}) = 0 close(0) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 nanosleep({2, 0}, {2, 0}) = 0 open("/var/lib/dpkg/lock", O_RDWR|O_CREAT|O_TRUNC, 0660) = 0 fcntl64(0, F_GETLK, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0, pid=9548}) = 0 Apparently the second one now waits on dpkg to unlock. $ sudo lsof /var/lib/dpkg/lock COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME dpkg 9548 root 3uW REG 253,1 0 217164 /var/lib/dpkg/lock That is the parent dpkg that called the postinst! This is very fishy indeed. I do not have time to plunge in update-menus source right now. But I hope this will give you some hints on where to look. grts Tim Ps. I just analyzed a case where the second did <defunct> the first instance was still in the FUTEX_WAIT state, as expected. Ps2. When I call the first instance of update-menus, AFAICS install-docs always prints warning: error occured during execution of /usr/bin/update-menus at /usr/sbin/install-docs line 324. That is around some code relating dwww, which I don't have installed, dunno if that helps
signature.asc
Description: PGP signature