Latest stable (r287104) bash leaves zombies on exit
Jilles Tjoelker
jilles at stack.nl
Sat Aug 29 13:01:42 UTC 2015
On Fri, Aug 28, 2015 at 07:18:47PM +0300, Konstantin Belousov wrote:
> On Fri, Aug 28, 2015 at 05:52:42PM +0200, Michiel Boland wrote:
> > set -e
> > for a in `seq 1000`
> > do
> > echo -n "$a "
> > xterm -e ssh nonexisting
> > done
> > echo ""
> > (The idea here is that 'ssh nonexisting' should do some work and then exit,
> > "xterm -e false", etc. don't appear to trigger the bug.)
> > Prior to the patch, one of the xterms would hang after the counter
> > reaches a random (reasonably small) number.
> > After the patch the script runs till completion.
> Thank you for testing. Funny detail is that your loop does not hangs for
> me, I see flapping xterms until the completion. How many cpus does your
> machine have ?
> Below is a slightly improved version of the change, to avoid unnecessary
> relocations. Would be good to rebuild the world and confirm that you
> see no regression (the patch also affects rtld in some way).
Looks good to me, except that I think a vforked child (in system() and
posix_spawn*()) should use the system calls and not libthr's wrappers.
This reduces the probability of weird things happening between vfork and
exec, and also avoids an unexpected error when
posix_spawnattr_setsigdefault()'s mask contains SIGTHR.
--
Jilles Tjoelker
More information about the freebsd-stable
mailing list