After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 508751 - gnome-terminal crashed with SIGSEGV after keypress
gnome-terminal crashed with SIGSEGV after keypress
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Backend: X11
2.12.x
Other Linux
: Normal critical
: ---
Assigned To: gtk-bugs
gtk-bugs
: 485997 530491 534430 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2008-01-11 12:37 UTC by Pedro Villavicencio
Modified: 2008-08-26 11:07 UTC
See Also:
GNOME target: ---
GNOME version: 2.21/2.22



Description Pedro Villavicencio 2008-01-11 12:37:40 UTC
This report has been filled here:

https://bugs.launchpad.net/ubuntu/+source/gnome-terminal/+bug/180626

"after an emerald crash gnome-terminal showed very strange behaviour.
i first opened a new gnome-terminal and the bash shell showed up.
selecting the terminal window and pressing any key made gnome-terminal
to segfault."

".

Thread 1 (process 31736)

  • #0 _gdk_keymap_key_is_modifier
    at /build/buildd/gtk+2.0-2.12.3/gdk/x11/gdkkeys-x11.c line 1662
  • #1 translate_key_event
    at /build/buildd/gtk+2.0-2.12.3/gdk/x11/gdkevents-x11.c line 633
  • #2 gdk_event_translate
    at /build/buildd/gtk+2.0-2.12.3/gdk/x11/gdkevents-x11.c line 1058
  • #3 _gdk_events_queue
    at /build/buildd/gtk+2.0-2.12.3/gdk/x11/gdkevents-x11.c line 2285
  • #4 gdk_event_dispatch
    at /build/buildd/gtk+2.0-2.12.3/gdk/x11/gdkevents-x11.c line 2345
  • #5 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #6 ??
    from /usr/lib/libglib-2.0.so.0
  • #7 ??
  • #8 ??

Comment 1 Martin Pitt 2008-04-16 08:42:09 UTC
I just found several other crashes in Launchpad with the same stacktrace, so I think this is a real problem. See the duplicate list in https://launchpad.net/bugs/180626.
Comment 2 Cosimo Cecchi 2008-04-29 07:14:38 UTC
*** Bug 530491 has been marked as a duplicate of this bug. ***
Comment 3 Oren Held 2008-06-07 18:00:46 UTC
This happens in all GTK apps when xmodmap has no modifiers at all.
To reproduce:
try deleteing all the modifiers like:
xmodmap -e 'remove lock = Caps Lock'
until 'xmodmap' returns an empty list.

Then run NEW gtk apps, they'll all die with a keypress, in this _gdk_keymap_key_is_modifier function.

Why would anyone have an empty list of modifiers?
VMware bug causes deletion of modifiers : https://bugs.launchpad.net/bugs/195982

Still, non-gtk apps handle this situation well, so I think this issue should be solved.
Comment 4 Matthias Clasen 2008-06-17 02:01:17 UTC
This is an X bug.

If the modifier map is empty, then 

XkbGetMap (display, XkbModifierMapMask, XkbUseCoreKbd) 

doesn't allocate the modmap member of the client map. This is because 
_XkbReadModifierMap only allocates if rep->totalModMapKeys>0. And 
totalModMapKeys is zero if there are no modifier keys. 

We can work around this inside GTK+, but it should probably be fixed in XKB. 


Comment 5 Matthias Clasen 2008-06-17 02:12:04 UTC
        * gdk/x11/gdkkeys-x11.c (_gdk_keymap_key_is_modifier): Protect
        against XKB being stupid. Reported by Pedro Villavicencio.

Comment 6 Jonathan Matthew 2008-07-27 06:41:00 UTC
*** Bug 534430 has been marked as a duplicate of this bug. ***
Comment 7 Cosimo Cecchi 2008-08-26 11:07:19 UTC
*** Bug 485997 has been marked as a duplicate of this bug. ***