Subject: Re: bug#4879: Crash in xmenu_show

From: Chong Yidong <[email-masked]>
Date: Fri, 06 Nov 2009 19:17:41 -0500

> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0x7fb3746be7a0 (LWP 19530)]
> 0x00000000004701c7 in xmenu_show (f=0x11c46e0, x=227, y=29, for_click=1, keymaps=1, title=12708355, error=0x7fff7c6ed8c0) at xmenu.c:2735
> 2735                  bcopy (SDATA (item_name), item_data,

The problem is that

   XVECTOR (menu_items)->contents[i + MENU_ITEMS_ITEM_EQUIV_KEY];

is now a symbol, but the code (here and in a couple of other places in
xmenu.c, and maybe elsewhere) assumes that it's a string or nil.

It's simple to "fix" by adding an additional check for symbols as menu
descriptors, but we need to understand why the situation has changed.

Stefan, I'm 99% sure this was caused by your keymap changes around
2009-09-11.  Could you please debug them?