ld: fatal error - cmalloc would have returned NULL

Corinna Vinschen corinna-cygwin@cygwin.com
Fri Mar 11 15:09:00 GMT 2011


Rainer,

On Mar 11 15:23, Corinna Vinschen wrote:
> On Mar 11 15:13, Corinna Vinschen wrote:
> > On Mar 11 14:53, Rainer Emrich wrote:
> > > I have to be more clear. I increased the heap_chunk_in_mb to 1792 using:
> > > regtool -i set /HKLM/Software/Cygwin/heap_chunk_in_mb 1792
> > 
> > But that's the size of the application heap, not the size of the
> > cygheap.  The cygheap is used by a couple of internal datastructures
> > of the cygwin DLL itself, while the application heap is used for malloc.
> > 
> > So you raised the size of the application heap, probably not to 1792
> > Megs, but the next lower allocation possible (cygwin decrements the size
> > in 1MB steps until the allocation succeeds.
> > 
> > That's weird.  malloc uses mmap, but only for allocations beyond 128K.
> 
> Actually mmap is only used if you try to malloc >= 256K.
> 
> > Since ld only allocates 64K chunks, it doesn't look like mmap is called
> > from malloc.  OTOH, if raising the heap size helps, how do the
> > zillions of mmap calls into this picture?!?

I was wondering if I could reduce the pressure on the cygheap by using a
simplified method to allocate the required bookkeeping datastructures.
It passes my homebrew mmap testsuite, but I would be curious if this
might fix your problem.  I have not very much hope, but anyway...

Would you mind if I send you a link to a cygwin DLL for testing by
private email?


Thanks,
Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list