GNOME Bugzilla – Bug 355074
Keyboard switching applet crashes on many keyboard
Last modified: 2010-01-24 01:07:12 UTC
Steps to reproduce: 1. Add a Czech, Hungarian, Andorra and possibly any of many others keyboard layout in GNOME keyboard applet 2. The theme of the desktop resets itself to default for a while then the applet either crashes or starts displaying garbage. 3. If I first add the layouts (without the switching applet on the panel) and then try to add the keyboard switching applet to the panel, it crashes right away. Stack trace: The backtrace offered by bug buddy is useless as I do not have debug symbols, but anyway: Memory status: size: 19570688 vsize: 0 resident: 19570688 share: 0 rss: 8454144 rss_rlim: 0 CPU usage: start_time: 1157666084 rtime: 0 utime: 23 stime: 0 cutime:20 cstime: 0 timeout: 3 it_real_value: 0 frequency: 0 Backtrace was generated from '/usr/libexec/gswitchit' (no debugging symbols found) Using host libthread_db library "/lib/i686/libthread_db.so.1". (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread -1226537280 (LWP 20814)] 0xbfffe410 in ?? ()
+ Trace 71943
Thread 1 (Thread -1226537280 (LWP 20814))
Other information: You can find more information here: http://qa.mandriva.com/show_bug.cgi?id=24306
Thanks for the bug report. Unfortunately, that stack trace is not very useful in determining the cause of the crash. Can you get us one with debugging symbols? Please see http://live.gnome.org/GettingTraces for more information on how to do so.
OK, here you go, I created a backtrace for all threads and single thread. Note that each backtrace below is from a separate run (I did the gdb debugging twice). The first run was a case where the applet was already running and I added a new keyboard layout via the gnome keyboard applet. The second run was a try to add the switcher applet to the panel, and the keyboard layout was already added before. (gdb) run Starting program: /usr/lib/gnome-keyboard-applet Reading symbols from shared object read from target memory...(no debugging symbols found)...done. Loaded system supplied DSO at 0xbfffe000 [Thread debugging using libthread_db enabled] [New Thread -1226500416 (LWP 7886)] (gswitchit:7886): GSwitchIt-WARNING **: Woops remote method failed: Message did not receive a reply (timeout by message bus) Program received signal SIGSEGV, Segmentation fault.
+ Trace 71951
Thread NaN (LWP 7886)
Thread 1 (Thread -1226496320 (LWP 8037))
Could you please also provide the result of xprop -root | grep XKB
_XKB_RULES_NAMES_BACKUP(STRING) = "xorg", "pc105", "cz_qwerty", "", "" _XKB_RULES_NAMES(STRING) = "xorg", "pc105", "cz_qwerty,us", ",", "grp:shifts_toggle" Note that the bug occurs regardless of the toggle setting - I can choose the switch to be double shift, double ctrl or disable switching keys altogether, the crash will occur anyway.
Ghm. You have very exotic (old) X server. What is your Xorg version? Could you please try setxkbmap -model pc105 -layout "cz_qwerty,us" -print and setxkbmap -model pc105 -layout "cz_qwerty,us"
Similar Ubuntu bug: https://launchpad.net/products/gnome-applets/+bug/59674
[michal@r6l136 Desktop]$ setxkbmap -model pc105 -layout "cz_qwerty,us" -print xkb_keymap { xkb_keycodes { include "xfree86+aliases(qwerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc(pc105)+cz(qwerty)+us:2+group(shifts_toggle)" }; xkb_geometry { include "pc(pc105)" }; }; [michal@r6l136 Desktop]$ setxkbmap -model pc105 -layout "cz_qwerty,us" [michal@r6l136 Desktop]$ The second command prints nothing, and I have a Czech layout (as expected). My xorg version should be that of Cooker, which the latest stable one: [michal@r6l136 Desktop]$ rpm -q xorg-x11 xorg-x11-7.1.0-4mdv2007.0
OK, thanks. I will play with your configuration and see whether I can reproduce the issue.
From the Ubuntu bug: debug backtrace: http://librarian.launchpad.net/4222465/gswitchit-bugreport.txt # xprop -root | grep XKB _XKB_RULES_NAMES_BACKUP(STRING) = "xorg", "pc104", "us", "", "" _XKB_RULES_NAMES(STRING) = "xorg", "dellusbmm", "us,us", "dvorak,", "grp:alts_toggle,grp:alt_shift_toggle,altwin:meta_alt,compose:menu"
Created attachment 74317 [details] Backtrace with debugging symbols I'm seeing the same problem. My backtrace is attached, and here is the requested xprop output: $ xprop -root | grep XKB _XKB_RULES_NAMES_BACKUP(STRING) = "xorg", "pc104", "us", "", "" _XKB_RULES_NAMES(STRING) = "xorg", "pc104", "dvorak,us", ",", "ctrl:nocaps,altwin:meta_alt,grp_led:scroll,compose:rwin"
also see bug 364396
Same issue on my laptop and several other ALT Linux guys. Here are my properties: _XKB_RULES_NAMES_BACKUP(STRING) = "xorg", "pc104", "us,ru", ",winkeys", "grp:caps_toggle" _XKB_RULES_NAMES(STRING) = "xorg", "pc104", "us,ru", ",winkeys", "grp:caps_toggle"
It looks like dupe of #351395. Lads could you please make sure the latest version of gnome-kbd-indicator.c is used? Especially I am interested in that patch: http://cvs.gnome.org/viewcvs/libgswitchit/gnome-kbd-indicator.c?r1=1.14.2.2&r2=1.14.2.3
well it was half resolved on archlinux. i made a bit different patch for it: http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/gnome/gnome-applets/gnome-kbd.patch?rev=1.1&cvsroot=Extra&only_with_tag=CURRENT&content-type=text/vnd.viewcvs-markup the patch Sergey pointed out didn't apply. For some user comments see: http://bugs.archlinux.org/task/5772#comment12839 It seems it does crash gnome-settings-deamon.
Ghm, how do you mean "did not apply"? I do not see the point of your patch - functionally it is the same thing. Could you please give some details, what are you trying to achieve in the patch?
It looks like this was actually a bug in libxklavier. One of our users had almost an identical crash that lead me to libxklavier in our distribution, which was still at 3.0. I updated it to 3.1 and applied a patch I found in Fedora CVS, after which both gnome-settings-daemon and the keyboard layout applet work without any issues.
So, will we close this one?
I have gnome-appplets 2.22.3 here (Debian lenny) and it still crashes. Looking at the backtrace posted in comment #2 it looks like this is caused by a bug in libxklavier (via libgnomekbd) that also crashes gnome-screensaver (and possibly others). See bug #529773 for more details.
This one seems to be obsolete as per comment #18.