GNOME Bugzilla – Bug 649370
crash in compute_above_tab_keycode() if keyboard geometry not available
Last modified: 2011-06-21 17:37:44 UTC
Metacity 2.34 introduced code to try and determine the key immediately above the Tab key, by querying the X server for the keyboard geometry. [above-tab-keycode.c:76-78 keyboard = XkbGetKeyboard(....); ] If this query fails for any reason, then metacity ends up dereferencing a null pointer, and crashes. [above-tab-keycode.c:80 geometry = keyboard->geom; ] This problem was encountered when running Hummingbird Exceed against a Fedora 15 server. There is a simple fix, which is to default to assuming the keycode 'XK_grave' (as is currently the case if the XKB extension is explicitly omitted when compiling metacity). A suitable patch is attached
Created attachment 187183 [details] [review] Simple fix
See bug 647777 for mutter
I also observed this bug, when trying to run gnome 3 under fedora 15, with RealVNC. Metacity crashes, and gnome does not start at all. What I get is a big image, and a message "oh no! something has gone wrong", with a prompt to logout and try again. Running metacity under gdb, gave the following: Program received signal SIGSEGV, Segmentation fault. compute_above_tab_keycode (xdisplay=0x80e5c00) at core/above-tab-keycode.c:80 80 geometry = keyboard->geom; (gdb) where
+ Trace 227547
Seems this was fixed on Thu Apr 14 10:10:40 2011 -0400 by Adam Jackson in commit e3baf14cbb0e595f3bb67a7fc4fb607720c9aecb. We just need to do a metacity release (ideally the maintainer..).
I've released metacity 2.34.1