From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 861 invoked by alias); 21 Dec 2012 10:01:27 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 30929 Received: (qmail 25662 invoked from network); 21 Dec 2012 10:01:16 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.2 Received-SPF: none (ns1.primenet.com.au: domain at linux.vnet.ibm.com does not designate permitted sender hosts) Date: Fri, 21 Dec 2012 17:51:01 +0800 From: Han Pingtian To: zsh-workers@zsh.org Subject: Re: Segfault in =( ) substitution Message-ID: <20121221095101.GH2464@localhost.localdomain> References: <20121017202030.46014a7a@pws-pc.ntlworld.com> <20121017211603.6189d6f4@pws-pc.ntlworld.com> <20121221075751.GF2464@localhost.localdomain> <20121221090126.GG2464@localhost.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20121221090126.GG2464@localhost.localdomain> User-Agent: Mutt/1.5.21 (2010-09-15) X-Content-Scanned: Fidelis XPS MAILER x-cbid: 12122109-7408-0000-0000-00000B386F0E On Fri, Dec 21, 2012 at 05:01:26PM +0800, Han Pingtian wrote: > > commit ad92cb3203e5d95be91019633e8f1f5835b12794 > Author: Peter Stephenson > Date: Thu Oct 11 16:36:14 2012 +0000 > > 30724: shell code optimisd to use execsimple() doesn't have a valid > thisjob > > diff --git a/ChangeLog b/ChangeLog > index 9768aa8..5a69f01 100644 > --- a/ChangeLog > +++ b/ChangeLog > @@ -1,3 +1,8 @@ > +2012-10-11 Peter Stephenson > + > + * 30724: Src/exec.c, Src/jobs.c: shell code optimised to use > + execsimple() doesn't have a valid thisjob. > + > 2012-10-09 Peter Stephenson > > ... ... And it looks like I cannot reproduce the crash reported in 30723 with the build without this commit at all. Maybe the problem of 30723 isn't caused by reasons we trusted at that time? I first checkout a 'detached HEAD' by 'git checkout 34ed3ea', where the 34ed3ea commit is just before ad92cb3 commit. And it looks the build works just fine: localhost% cat ./t.sh precmd () { {} } localhost% source t.sh localhost% type -f precmd precmd () { { } } localhost% sleep 50 &; sleep 30 [1] 10503 ^Z zsh: suspended sleep 30 localhost% [1] - done sleep 50 localhost% Please correct me if I'm missing something here. Thanks.