Subject: Re: bug#7190: Crash in menus on w32

From: grischka <[email-masked]>
Date: Wed, 13 Oct 2010 16:03:30 +0200

Lennart Borgman wrote:
> On Wed, Oct 13, 2010 at 1:02 PM, grischka <[email-masked]> wrote:
>>> I assume that their is either a logical problem with the code inside
>>> Emacs or a bad assumption on how menu callbacks are actually run.
>> Is there a difference between logical problem and bad assumption?
> 
> Yes. The code could be correct under some bad assumptions regarding
> the way the interface to the OS works.
> 
> Is not that an important difference?

Not if you want to fix the bug.

>>> By
>>> adding DebPrint call we could perhaps see if some code where called in
>>> an order we did not expect.
>> Perhaps see the information that you already have?  For example
>>  #7  0x011c4e4b in w32_free_submenu_strings (menu=0x205e3) at w32menu.c:1701
>> is telling where is "some code", and
>>  "Invalid Address specified to RtlFreeHeap( 00850000, 0088BDC8 )"
>> is telling about "order we did not expect", as likely in:  Called
>> twice for the same memory object.  If in doubt, try to prove that
>> it can't happen.
> 
> Yes, perhaps. But it could also be that memory objects are freed in an
> order we did not expect.
> 

Why should it matter in what order "Invalid Address" is passed to free?