Hi Thomas,

Axel Beckert wrote:
> It looks different thoug today:
> 
> 26243 root       20   0  538M  141M   704 S  0.0  0.2  0:00.01 |  |  |  `- 
> aptitude -u
> 26404 root       20   0  4304   744   664 S  0.0  0.0  0:00.00 |  |  |  |  `- 
> sh -c test -x /usr/lib/needrestart/apt-pinvoke && /usr/lib/needrestart/apt-pin
> 26405 root       20   0 60732 17968  4276 S  0.0  0.0  0:00.13 |  |  |  |     
> `- /usr/bin/perl -w /usr/share/debconf/frontend /usr/sbin/needrestart
> 27204 root       20   0 19544  2824  2288 S  0.0  0.0  0:00.00 |  |  |  |     
>    `- whiptail --backtitle Package configuration --title Pending kernel upgrad
> 26413 root       20   0 54524 17880  4128 S  0.0  0.0  0:00.31 |  |  |  |     
>    `- /usr/bin/perl /usr/sbin/needrestart
> 27198 root       20   0     0     0     0 Z  0.0  0.0  0:00.00 |  |  |  |     
>       `- 10-dpkg
> 
> So this time another child is a zombie.

Nah, that was a false positive. It was just taking quite long and that
was a dialog waiting for input. Nevertheless it still hung at the end:

26243 root       20   0  538M  141M   704 S  0.0  0.2  0:00.01 |  |  |  `- 
aptitude -u
26404 root       20   0  4304   744   664 S  0.0  0.0  0:00.00 |  |  |  |  `- 
sh -c test -x /usr/lib/needrestart/apt-pinvoke && 
/usr/lib/needrestart/apt-pinvok
26405 root       20   0 60864 18140  4276 S  0.0  0.0  0:00.14 |  |  |  |     
`- /usr/bin/perl -w /usr/share/debconf/frontend /usr/sbin/needrestart
26413 root       20   0     0     0     0 Z  0.0  0.0  0:00.39 |  |  |  |       
 `- /usr/bin/perl /usr/sbin/needrestart

So it's actually debconf which fails to end needrestart cleanly as it
did in my initial bug report.

stracing debconf/frontend shows that it seems to wait for input on
file descriptor 9:

# strace -p 26405
strace: Process 26405 attached
read(9, 

According to /proc/26405/fd/9 that's a pipe:

lr-x------ 1 root root 64 Aug 16 20:41 /proc/26405/fd/9 -> pipe:[54970896]

Looking for the other end of that pipe, it seems to be this process:

l-wx------ 1 root root 64 Aug 16 20:41 /proc/32724/fd/1 -> pipe:[54970896]

which belongs to this process:

root     32724  0.0  0.0  47040  2496 ?        S    20:26   0:00 
/usr/sbin/consolation

Stopping the consolation service already sufficed to fix the hanging
debconf and the needrestart zombie, at least in this case.

Now the question is, where is the bug hidden?

* Why does consolation influence debconf? Or does it influence
  needrestart?
* Could it be relevant, that needrestart/debconf ran inside a screen
  session?
* Could it be relevant, that I have gpm or consolelog installed, too?

But then again, that bug hit me the first time when consolation wasn't
yet in Debian at all. So just a coincidence?

                Regards, Axel
-- 
 ,''`.  |  Axel Beckert <a...@debian.org>, http://people.debian.org/~abe/
: :' :  |  Debian Developer, ftp.ch.debian.org Admin
`. `'   |  4096R: 2517 B724 C5F6 CA99 5329  6E61 2FF9 CD59 6126 16B5
  `-    |  1024D: F067 EA27 26B9 C3FC 1486  202E C09E 1D89 9593 0EDE

Reply via email to