From: Lennart Borgman <lennart.borgman@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 7190@debbugs.gnu.org
Subject: bug#7190: Crash in menus on w32
Date: Tue, 19 Oct 2010 02:20:42 +0200 [thread overview]
Message-ID: <AANLkTin=otB0aKRR9XB3==gjoMx=JpaN-v0q9DH6nUuy@mail.gmail.com> (raw)
In-Reply-To: <83tykrkz8s.fsf@gnu.org>
On Tue, Oct 12, 2010 at 9:05 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>> From: Lennart Borgman <lennart.borgman@gmail.com>
>> Date: Tue, 12 Oct 2010 11:37:52 +0200
>> Cc: 7190@debbugs.gnu.org
>>
>> > I didn't mean that you need to remember what you did. I meant to use
>> > the debugger _when_ it crashes to find out what was the menu in
>> > question.
>>
>> Exactly how do I see that?
>
> By looking at the menu data structures accessed by these functions:
>
> #7 0x011c4e4b in w32_free_submenu_strings (menu=0x205e3) at w32menu.c:1701
> #8 0x011c4e5f in w32_free_submenu_strings (menu=0x205f3) at w32menu.c:1706
> #9 0x011c4e5f in w32_free_submenu_strings (menu=0xdd10145) at w32menu.c:1706
> #10 0x011c4eaa in w32_free_menu_strings (hwnd=0x900ca) at w32menu.c:1723
> #11 0x011c2b6e in menubar_selection_callback (f=0x3f63000, client_data=0x2510)
> at w32menu.c:353
>
> In menubar_selection_callback, you will find that Emacs stores in the
> keyboard buffer a couple of events produced by a menu selection. If
> my reading of the code is correct, this code:
>
> entry = AREF (vector, i + MENU_ITEMS_ITEM_VALUE);
>
> retrieves the selected menu item, and `vector' is the entire menu bar,
> computed as
>
> vector = f->menu_bar_vector;
>
> See frame.h for the structure of this vector.
>
> By looking at `entry' you can find which menu item is being selected.
>
> Then in w32_free_submenu_strings, you can see the same info in its
> bare C form.
I just got a new crash, but unfortunately I have still not understand
how to look at those values. With "bt full" I get this (part of the
bt):
#6 0x7c927573 in ntdll!RtlPcToFileHeader ()
from C:\WINDOWS\system32\ntdll.dll
No symbol table info available.
#7 0x011c5399 in w32_free_submenu_strings (menu=0x9a05c5) at w32menu.c:1692
info = {
cbSize = 44,
fMask = 52,
fType = 256,
fState = 0,
wID = 0,
hSubMenu = 0x0,
hbmpChecked = 0x0,
hbmpUnchecked = 0x0,
dwItemData = 8975208,
dwTypeData = 0x0,
cch = 0
}
i = 6
num = 17
#8 0x011c53ad in w32_free_submenu_strings (menu=0x5e80611) at w32menu.c:1697
info = {
cbSize = 44,
fMask = 52,
fType = 0,
fState = 0,
wID = 0,
hSubMenu = 0x9a05c5,
hbmpChecked = 0x0,
hbmpUnchecked = 0x0,
dwItemData = 0,
dwTypeData = 0x0,
cch = 10
}
i = 10
num = 30
#9 0x011c53ad in w32_free_submenu_strings (menu=0x464d04eb) at w32menu.c:1697
info = {
cbSize = 44,
fMask = 52,
fType = 0,
fState = 0,
wID = 0,
hSubMenu = 0x5e80611,
hbmpChecked = 0x0,
hbmpUnchecked = 0x0,
dwItemData = 0,
dwTypeData = 0x0,
cch = 4
}
i = 5
num = 10
#10 0x011c53f8 in w32_free_menu_strings (hwnd=0x220048) at w32menu.c:1714
menu = 0x464d04eb
#11 0x011c311a in menubar_selection_callback (f=0x411dc00, client_data=0x184a)
at w32menu.c:353
j = 1
buf = {
kind = MENU_BAR_EVENT,
code = 0,
part = scroll_bar_above_handle,
modifiers = 0,
x = 0,
y = 0,
timestamp = 0,
padding = {0x0, 0x0},
frame_or_window = 68279301,
arg = 59691226
}
frame = 68279301
prefix = 59691298
entry = 59691226
vector = 92061701
subprefix_stack = 0x825f00
submenu_depth = 1
i = 6218
#12 0x011dcc2c in w32_read_socket (terminal=0x2d04c00, expected=0,
hold_quit=0x82f6e0) at w32term.c:4623
inev = {
kind = NO_EVENT,
code = 0,
part = scroll_bar_above_handle,
modifiers = 0,
x = 0,
y = 0,
timestamp = 0,
padding = {0x0, 0x0},
frame_or_window = 0,
arg = 45484058
}
do_help = 0
count = 0
check_visibility = 0
msg = {
msg = {
hwnd = 0x220048,
message = 273,
wParam = 6218,
lParam = 0,
time = 59842578,
pt = {
x = 7,
y = 327687
}
},
dwModifiers = 0,
rect = {
left = 545258848,
top = 2118300673,
right = 13317672,
bottom = 0
}
}
f = 0x411dc00
dpyinfo = 0x14061b0
next prev parent reply other threads:[~2010-10-19 0:20 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-11 15:13 bug#7190: Crash in menus on w32 Lennart Borgman
2010-10-11 19:20 ` Eli Zaretskii
2010-10-11 21:21 ` Lennart Borgman
2010-10-12 4:04 ` Eli Zaretskii
2010-10-12 9:37 ` Lennart Borgman
2010-10-12 19:05 ` Eli Zaretskii
2010-10-12 19:13 ` Lennart Borgman
2010-10-12 19:40 ` Eli Zaretskii
2010-10-12 20:09 ` Lennart Borgman
2010-10-12 20:14 ` Eli Zaretskii
2010-10-12 20:49 ` Lennart Borgman
2010-10-13 11:30 ` Eli Zaretskii
2010-10-19 0:20 ` Lennart Borgman [this message]
2010-10-19 5:59 ` Eli Zaretskii
2010-10-19 10:33 ` Lennart Borgman
2010-10-13 11:02 ` grischka
2010-10-13 11:08 ` Lennart Borgman
2010-10-13 14:03 ` grischka
2010-10-13 14:43 ` Lennart Borgman
2010-10-13 15:51 ` grischka
2010-10-13 16:06 ` Lennart Borgman
2010-10-21 11:11 ` grischka
2010-10-21 15:27 ` Jason Rumney
2010-10-21 17:07 ` grischka
2010-10-22 14:09 ` Jason Rumney
2010-10-22 16:20 ` grischka
2010-11-08 1:49 ` Lennart Borgman
2010-11-08 10:15 ` grischka
2010-11-08 11:18 ` Lennart Borgman
2010-11-08 19:51 ` grischka
2010-11-08 23:11 ` Lennart Borgman
2010-11-09 16:16 ` grischka
2010-11-09 17:08 ` Eli Zaretskii
2010-11-09 18:39 ` grischka
[not found] ` <jwvpqueyy9i.fsf-monnier+emacs@gnu.org>
2010-11-10 10:33 ` grischka
2010-11-12 7:53 ` Glenn Morris
2010-11-12 22:40 ` grischka
2010-11-13 17:08 ` Chong Yidong
2013-02-18 2:23 ` Glenn Morris
2013-02-18 2:39 ` Lennart Borgman
2013-02-18 3:43 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='AANLkTin=otB0aKRR9XB3==gjoMx=JpaN-v0q9DH6nUuy@mail.gmail.com' \
--to=lennart.borgman@gmail.com \
--cc=7190@debbugs.gnu.org \
--cc=eliz@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.