emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: bootstrap error


From: Alexander Klimov
Subject: Re: bootstrap error
Date: Sun, 29 Jan 2006 19:51:15 +0200 (IST)

On Sat, 28 Jan 2006, Eli Zaretskii wrote:
> That is probably so.  But I cannot reproduce anything like that on
> Windows without Cygwin, so you will have to debug this on your machine
> and tell here your findings.  That is the only practical way to debug
> this.

I added yet another instrumentation:

/* Allocate memory from the heap.  */
__ptr_t
_malloc_internal (size)
     __malloc_size_t size;
{
+ static unsigned cnt = 0;
+ fprintf(stderr, " mi[%d %d", ++cnt, size);
[...]
  PROTECT_MALLOC_STATE (1);
+ fprintf(stderr, " %d]", result);
  return result;

The log is huge, but let see some interesting examples:

 mi[1 16 mi[2 4096 539860992 ] 539860992 ]  // so _malloc_internal can call 
itself
 mi[3 128 mi[4 4096 539860992 ] 539860992 ]
[...]
Loading language/czech (source)...
 mi[11497 16336
* not found (13), obtain more space: 327680
* obtain(547618816, 327680), heap = 539798432
* obtain() returns 547618816
* OK
 547618816] // _malloc_internal can call obtain but obtain does not call back
 mi[11498 12  539960624]
[...]
 mi[12090 528  547870720]
 mi[12091 528  547869696]
 mi[12092 528  mi[12093 4096 //_malloc_internal was called recursively
* not found (14), obtain more space: 327680
* obtain(548012032, 327680), heap = 539798432
 mi[12094 1024  mi[12095 4096 // and obtain calls _malloc_internal again!
* not found (15), obtain more space: 327680
* obtain(548012032, 327680), heap = 539798432
 mi[12096 1024  mi[12097 4096
* not found (16), obtain more space: 327680
[...]

So, from some point on obtain starts to call _malloc_internal back,
futhermore, gdb shows that malloc() from /usr/bin/cygwin1.dll calls
malloc from gmalloc.c.

-- 
Regards,
ASK




reply via email to

[Prev in Thread] Current Thread [Next in Thread]