This is the mail archive of the cygwin-developers@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: I know CVS is hosed (fix checked in) (did it work?) (anyone there?)


On Fri, Sep 07, 2001 at 12:19:43PM -0400, Christopher Faylor wrote:
> On Thu, Sep 06, 2001 at 09:05:35PM -0400, Christopher Faylor wrote:
> >On Thu, Sep 06, 2001 at 03:45:34PM -0400, Christopher Faylor wrote:
> >>On Thu, Sep 06, 2001 at 11:38:43AM -0400, Christopher Faylor wrote:
> >>>While attempting to cut down on the size of the 1.3.3 DLL, I uncovered a few
> >>>problems with cygheap.  I couldn't track them down before I went to bed.
> >>>
> >>>The symptom is that applications die in cfree.  The problem manifests quickly
> >>>in a process which execs a process which execs a process.
> >>>
> >>>I haven't seen the problem that Egor reported with free but it probably is not
> >>>related to the cygheap problem.  It probably is somehow related to the new
> >>>code in sigproc which allocates the zombie array dynamically.
> >>
> >>The fix for this turned out to be very trivial.  It was just the requirement
> >>for a null pointer check.  Doh.
> >>
> >>I've checked the fix in.
> >>
> >>I'd again appreciate feedback on whether this fixes the problem or not.  It
> >>seems to for me.
> >>
> >>This is not a fix for the rsync problem that was recently reported.
> >
> >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:


#0  _free_r (reent_ptr=0x610ab020, mem=0xa015bc8)
    at ../../../../../src/newlib/libc/stdlib/mallocr.c:2635
#1  0x61036072 in export_free (p=0xa015bc8)
    at ../../../../src/winsup/cygwin/malloc.cc:163
#2  0x61035ef6 in free (p=0xa015bc8)
    at ../../../../src/winsup/cygwin/malloc.cc:118
#3  0x61065125 in sigproc_fixup_after_fork ()
    at ../../../../src/winsup/cygwin/sigproc.cc:1312
#4  0x6102df92 in fork_child (hParent=@0x22f924, first_dll=@0x22f928,
    load_dlls=@0x22f92c) at ../../../../src/winsup/cygwin/fork.cc:282
#5  0x6102effb in fork () at ../../../../src/winsup/cygwin/fork.cc:661
#6  0x00406e84 in _size_of_stack_reserve__ ()
#7  0x004022b3 in _size_of_stack_reserve__ ()
[...]
#17 0x00407cb3 in _size_of_stack_reserve__ ()
#18 0x610046db in dll_crt0_1 () at ../../../../src/winsup/cygwin/dcrt0.cc:865
#19 0x6100495d in _dll_crt0 () at ../../../../src/winsup/cygwin/dcrt0.cc:936
#20 0x610049a9 in dll_crt0 (uptr=0x0)
    at ../../../../src/winsup/cygwin/dcrt0.cc:948
#21 0x00410b2f in _size_of_stack_reserve__ ()
#22 0x0040103d in _size_of_stack_reserve__ ()
#23 0x77e992a6 in _cygheap_start ()

Once I had a crash in malloc_r instead of free_r but I couldn't
reproduce it now while I'm writing this mail.

The reason still seems to be a wrong zombie pointer in a forked
child.  It's not related to a fork/vfork difference since it's
the same when I use bash as /bin/sh.

Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Developer                                mailto:cygwin@cygwin.com
Red Hat, Inc.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]