Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 29 Aug 2015 15:01:38 +0200
From:      Jilles Tjoelker <jilles@stack.nl>
To:        Konstantin Belousov <kostikbel@gmail.com>
Cc:        Michiel Boland <boland37@xs4all.nl>, Mark Martinec <Mark.Martinec+freebsd@ijs.si>, freebsd-stable@freebsd.org
Subject:   Re: Latest stable (r287104) bash leaves zombies on exit
Message-ID:  <20150829130138.GA41321@stack.nl>
In-Reply-To: <20150828161847.GX2072@kib.kiev.ua>
References:  <E1ZUucG-000C5n-0C@dilbert.ingresso.co.uk> <63a84f64baf8768a551fc6464e8e9526@mailbox.ijs.si> <20150827162602.GJ2072@kib.kiev.ua> <55DF5C95.90502@xs4all.nl> <20150827201644.GO2072@kib.kiev.ua> <55DFFADB.2080003@xs4all.nl> <20150828100118.GR2072@kib.kiev.ua> <55E083CA.2050705@xs4all.nl> <20150828161847.GX2072@kib.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150829130138.GA41321>