Subject: Re: bug#9273: 23.3; malloc initialization should (sometimes) happen at runtime

From: Eli Zaretskii <[email-masked]>
Date: Sat, 13 Aug 2011 11:05:20 +0300

> Date: Fri, 12 Aug 2011 16:24:20 -0400
> From: Ken Brown <[email-masked]>
> CC: "[email-masked]" <[email-masked]>
> 
> Program received signal SIGSEGV, Segmentation fault.
> 0x006368f5 in _realloc_internal_nolock (ptr=0x897040, size=28)
>     at gmalloc.c:1394
> 1394      type = _heapinfo[block].busy.type;
> (gdb) p block
> $1 = 4294838425

I'm confused: since you patched unexecw.c to set __malloc_initialized
to zero, the dumped Emacs should have called malloc_initialize_1,
which should have allocated a new copy of _heapinfo, that was supposed
to be consistent with the current heap.  Why isn't that working? why
`block' still gets a value that is relative to the "old" _heapinfo?