malloc crash

Mark Geisert mark@maxrnd.com
Mon Oct 25 21:29:05 GMT 2021


Corinna Vinschen wrote:
> On Oct 25 08:35, Ken Brown wrote:
>> On 10/25/2021 4:59 AM, Corinna Vinschen wrote:
>>> Has the thread already been started at this point?
>>
>> Yes, here's the backtrace of that thread:
>>
>> Thread 5 (Thread 9692.0x7c4c):
>> #0  0x00000001801934f9 in sys_alloc (m=0x18036f860 <_gm_>, nb=1040) at
>> ../../../../temp/winsup/cygwin/malloc.cc:4232
>> #1  0x0000000180196b96 in dlmalloc (bytes=1024) at
>> ../../../../temp/winsup/cygwin/malloc.cc:4669
>> #2  0x00000001801993e1 in dlrealloc (oldmem=0x0, bytes=1024) at
>> ../../../../temp/winsup/cygwin/malloc.cc:5187
>> #3  0x00000001800e8eed in realloc (p=0x0, size=1024) at
>> ../../../../temp/winsup/cygwin/malloc_wrapper.cc:73
> 
> Er... huh?  So both threads are in a malloc function?  This shouldn't
> have happened, given the clunky muto guarding malloc calls.  This is
> really strange.  Why's the muto not working here?

Is it possible both threads have executed malloc_init()?
If so, the second one would reinit the muto.

There's no exclusion on malloc_init.. chicken v egg.

..mark


More information about the Cygwin-developers mailing list