I've rebuilt screen with OPTIONS=-DDEBUG in Makefile.in so that
I get debug information. But there are no "SigChld" occurrences
in the SCREEN.* debug file.

However, if I use strace -p PID (which makes the zombie issue
disappear), I get the expected "SigChld" in the debug file:

[...]
- canvas hit: 0 0  79 58
  79 58
SigChld()
  - vp: 0 0  79 58
[...]
pid 14894 not found - hope that's ok
SigChldHandler: stat '/srv/d_joooj/home/vinc17/.screen/14671.pts-10.joooj' o.k. 
(140700)
waiting for events timeout 30 secs 846017 usecs:
[...]
- canvas hit: 0 0- canvas hit: 0 0SigChld()
  79 58
  - vp: 0 0  79 58
[...]
pid 14783 not found - hope that's ok
SigChldHandler: stat '/srv/d_joooj/home/vinc17/.screen/14671.pts-10.joooj' o.k. 
(140700)
waiting for events timeout 28 secs 341501 usecs:
[...]

So, for some reason, it seems that SIGCHLD signals are not received
in normal time!

I think that this could mean 3 things:
  * The SIGCHLD handler was not active (but I don't see why the use
    of strace would have change the behavior). Since there are several
    "signal(SIGCHLD, ...)" calls, a closer look may be needed, though.
  * An issue with the compiler optimizations (same remark)?
  * An issue with the new Linux kernel (possibly related to VMs)?
    The recent upgrade of the kernel and strace could indeed have
    an effect on that.

-- 
Vincent Lefèvre <vinc...@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)

Reply via email to