[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [screen-devel] [PATCH for screen-v4] Fix screen leaving zombie proce
From: |
Axel Beckert |
Subject: |
Re: [screen-devel] [PATCH for screen-v4] Fix screen leaving zombie processes |
Date: |
Fri, 22 Nov 2019 15:57:36 +0100 |
User-agent: |
NeoMutt/20170113 (1.7.2) |
Hi Amadeusz,
sorry for the late reply. Didn't find the time to try the new patch on
that affected production VM earlier.
On Wed, Nov 06, 2019 at 09:11:08PM +0100, Amadeusz Sławiński wrote:
> > I am wondering why the zombies show up at all.
Me too.
> > They were reaped correctly on my test process (code below). I
> > guess there is some race with SIGCHLD handler.
From https://savannah.gnu.org/bugs/?25089 it seems obvious to me that
this case only shows up under very specific circumstances. So far it
only has been reported on either a Pentium II with 233 MHz in 2008
(which was already quite slow and old back then) and on an VMware ESX
VM (which might be considered inperformant, too, from some point of
view).
I also fail to reproduce this on any other machine than this VMware
ESX VM. But on that machine, I can easily reproduce it by spawning
dozens of windows and then starting to close them again.
On Wed, Nov 06, 2019 at 09:32:20PM +0100, Amadeusz Sławiński wrote:
> > Right that makes sense, looking at how SIGCHLD is handled, seems like
> > we only tell it to wait for one child, so if it is slow system, a lot
> > of childs can stop, but it may only wait for one of them:
> >
> > https://git.savannah.gnu.org/cgit/screen.git/tree/src/screen.c?h=screen-v4#n1593
> >
> > seems, like this line should have += instead of =
>
> and also this one
> https://git.savannah.gnu.org/cgit/screen.git/tree/src/screen.c?h=screen-v4#n1571
> should be -= 1;
>
> >
> > Axel, can you try changing above line instead?
Done that now and it unfortunately doesn't solve the issue. :-(
I've put 0001-Fix-screen-leaving-zombie-processes.patch
from https://savannah.gnu.org/support/download.php?file_id=47810 (via
https://savannah.gnu.org/bugs/?25089#comment7) directly into
debian/patches/, replaced the former patch with its name in
debian/patches/series, removed the "src/" from the path in the patch
to be equivalent to the paths in the official tar balls, and then
build the 4.6.2-3 debian package.
I quickly get one zombie per closed window:
$ ps auxwwww | egrep "defunct|Z" | fgrep -v grep
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
beckert 13656 0.0 0.0 0 0 ? Zs 14:44 0:00 [zsh] <defunct>
beckert 13658 0.0 0.0 0 0 ? Zs 14:44 0:00 [zsh] <defunct>
beckert 13660 0.0 0.0 0 0 ? Zs 14:44 0:00 [zsh] <defunct>
beckert 13662 0.0 0.0 0 0 ? Zs 14:44 0:00 [zsh] <defunct>
beckert 13664 0.0 0.0 0 0 ? Zs 14:44 0:00 [zsh] <defunct>
beckert 13666 0.0 0.0 0 0 ? Zs 14:44 0:00 [zsh] <defunct>
beckert 13669 0.0 0.0 0 0 ? Zs 14:44 0:00 [zsh] <defunct>
beckert 13675 0.0 0.0 0 0 ? Zs 14:44 0:00 [zsh] <defunct>
beckert 13677 0.0 0.0 0 0 ? Zs 14:44 0:00 [zsh] <defunct>
beckert 13679 0.0 0.0 0 0 ? Zs 14:44 0:00 [zsh] <defunct>
beckert 13681 0.0 0.0 0 0 ? Zs 14:44 0:00 [zsh] <defunct>
Kind regards, Axel
--
PGP: 2FF9CD59612616B5 /~\ Plain Text Ribbon Campaign, http://arc.pasp.de/
Mail: address@hidden \ / Say No to HTML in E-Mail and Usenet
Mail+Jabber: address@hidden X
https://axel.beckert.ch/ / \ I love long mails: https://email.is-not-s.ms/
signature.asc
Description: PGP signature