From owner-freebsd-stable@freebsd.org Fri Aug 28 15:53:57 2015 Return-Path: Delivered-To: freebsd-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DF7819C4930 for ; Fri, 28 Aug 2015 15:53:57 +0000 (UTC) (envelope-from boland37@xs4all.nl) Received: from lb2-smtp-cloud3.xs4all.net (lb2-smtp-cloud3.xs4all.net [194.109.24.26]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (Client CN "*.xs4all.nl", Issuer "GlobalSign Domain Validation CA - SHA256 - G2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 7F1AD1A7F for ; Fri, 28 Aug 2015 15:53:56 +0000 (UTC) (envelope-from boland37@xs4all.nl) Received: from charlemagne.a43.boland.org ([62.194.208.247]) by smtp-cloud3.xs4all.net with ESMTP id AFsi1r00U5LoPm601Fsjq3; Fri, 28 Aug 2015 17:52:44 +0200 Subject: Re: Latest stable (r287104) bash leaves zombies on exit To: Konstantin Belousov References: <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> Cc: Mark Martinec , freebsd-stable@freebsd.org From: Michiel Boland Message-ID: <55E083CA.2050705@xs4all.nl> Date: Fri, 28 Aug 2015 17:52:42 +0200 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 MIME-Version: 1.0 In-Reply-To: <20150828100118.GR2072@kib.kiev.ua> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Aug 2015 15:53:58 -0000 On 08/28/2015 12:01, Konstantin Belousov wrote: [...] > I probably have an idea what is going wrong. Please try the patch > below. Libc does not used interposed sig{procmask,action,suspend} > entries itself, which resulted in e.g. signal(3) breaking libthr > hooks. I'm trying now, and it did appear to get rid of the zombies. Here's a quick test. 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. Cheers Michiel