www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/2001/09/07/17:38:16

Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-developers-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin-developers/>
List-Post: <mailto:cygwin-developers AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-developers-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-developers-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin-developers AT sources DOT redhat DOT com
Date: Fri, 7 Sep 2001 17:38:23 -0400
From: Christopher Faylor <cgf AT redhat DOT com>
To: cygwin-developers AT cygwin DOT com
Subject: Re: I know CVS is hosed (this time for sure)
Message-ID: <20010907173823.A4187@redhat.com>
Reply-To: cygwin-developers AT cygwin DOT com
Mail-Followup-To: cygwin-developers AT cygwin DOT com
References: <20010906113843 DOT A30174 AT redhat DOT com> <20010906154534 DOT A32372 AT redhat DOT com> <20010906210535 DOT A8264 AT redhat DOT com> <20010907121943 DOT A27950 AT redhat DOT com> <20010907190951 DOT H17245 AT cygbert DOT vinschen DOT de>
Mime-Version: 1.0
In-Reply-To: <20010907190951.H17245@cygbert.vinschen.de>
User-Agent: Mutt/1.3.21i

On Fri, Sep 07, 2001 at 07:09:51PM +0200, Corinna Vinschen wrote:
>>>Did this patch work?  It seems to for me.
>>
>>The last we heard, another similar patch to this one didn't work for
>>Corinna.
>>
>>I'd like to get confirmation that this one works ok.
>
>Sorry, it doesn't work for me.  I tried the plain version from CVS and
>the same including the cygheap.cc patch which you've send here.  My
>testcase is a `make' in a Cygwin build tree.  This testcase crashes now
>on a regular basis in /bin/sh.  I'm getting the following backtrace in
>gdb with and without your yesterday's patch in cygheap.cc:

Ok, I managed to duplicate this.  It didn't happen to me when building
in the winsup directory but it did in the top level.

The problem was, as I suspected, due to the zombies allocation.  The
problem is that allocating the zombies array only when needed caused the
heap to grow while the program was in the process of forking.  So,
when the parent tried to copy the heap to the child during a fork, the
heap was larger in the parent than in the child.  Boom.

That illustrates potential thread unsafety in fork() but I'm sure not
going to fix that before 1.3.3.

AFAICT, this also had nothing to do with moving buckets to cygheap.  I'm
not sure how that would have affected anything unless the alignment in
the data segment caused by having buckets there threw off the heap just
enough so that it masked the fork problem.

Corinna and Egor, can you verify if this checkin fixes things.

Btw, I did one of my periodic sweeps through the sources, getting rid
of extra white space so "cvs update" will show a lot of unrelated files.

cgf

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019