emacs-devel
[Top][All Lists]
Advanced

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

Re: NT Emacs crashes when selecting a menubar item


From: David Ponce
Subject: Re: NT Emacs crashes when selecting a menubar item
Date: Fri, 26 Jul 2002 14:30:39 +0200
User-agent: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.1b) Gecko/20020720



One interesting question is what data is in core before the start of
this object.  Is any ASCII text present there?

Hi,

I worked a little more on this problem and, simply calling fprintf in
various locations in w32menu.c (I don't have a debugger), I found that
the function `single_submenu' seems to receive corrupted data in
static variable `menu_items'.

Notice that I only observed garbaged menu item names in dynamic menus
like "Buffers" (I use msb) or imenu.

More details...

Only after this line (w32menu.c::1268):

     wv->name = (char *) SDATA (item_name);

The following fprintf showed corrupted data:

fprintf(stderr,
"single_submenu::1268/wv->name = SDATA (item_name) = address@hidden",
wv->name, wv->name);

Here is a snippet of the printed data (the first value of `item_name'
seems correct, but the next ones are corrupted):

[...]
single_submenu::1268/wv->name = SDATA (item_name) = address@hidden and Paste single_submenu::1268/wv->name = SDATA (item_name) = 01EFC1D0@ wv->name...DEADBEEF;

single_submenu::1268/wv->name = SDATA (item_name) = 01EFC1B4@
 wv->nam...DEADBEEF;

single_submenu::1268/wv->name = SDATA (item_name) = 01EF2B70@: Ditto.
single_submenu::1268/wv->name = SDATA (item_name) = 01EF2B80@: Moved definitions. single_submenu::1268/wv->name = SDATA (item_name) = address@hidden Void va...vironment. single_submenu::1268/wv->name = SDATA (item_name) = 01EFC17C@;; Unused ...$nterm))
[...]

`item_name' is a local Lisp_Object variable initialized to
(w32menu.c::1240):

     item_name = AREF (menu_items, i + MENU_ITEMS_ITEM_NAME);

`menu_items' is initialized in the function `set_frame_menubar'
(w32menu.c::1395):

     menu_items = f->menu_bar_vector;

It seems that f->menu_bar_vector is setup in keyboard.c in function
`menu_bar_items'.  Maybe is there a problem here?

I had a look at this function, but I lack more knowledge of Emacs
internal (and probably C) to really understand its code.

Nevertheless, I hope this report will help.

David






reply via email to

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