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 355074 - Keyboard switching applet crashes on many keyboard
Keyboard switching applet crashes on many keyboard
Status: RESOLVED OBSOLETE
Product: gnome-applets
Classification: Other
Component: keyboard indicator (gswitchit)
2.16.x
Other All
: High critical
: ---
Assigned To: gnome-applets Maintainers
gnome-applets Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-09-09 08:43 UTC by Michal Bukovjan
Modified: 2010-01-24 01:07 UTC
See Also:
GNOME target: ---
GNOME version: 2.15/2.16


Attachments
Backtrace with debugging symbols (8.79 KB, text/plain)
2006-10-09 01:58 UTC, Matt Brubeck
Details

Description Michal Bukovjan 2006-09-09 08:43:48 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 ?? ()

Thread 1 (Thread -1226537280 (LWP 20814))

  • #0 ??
  • #1 ??
  • #2 ??


Other information:
You can find more information here:

http://qa.mandriva.com/show_bug.cgi?id=24306
Comment 1 Danielle Madeley 2006-09-09 09:06:48 UTC
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.
Comment 2 Michal Bukovjan 2006-09-09 10:08:20 UTC
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.

Thread NaN (LWP 7886)

  • #0 gnome_kbd_indicator_set_parent_tooltips
  • #1 gnome_kbd_indicator_reinit_ui
  • #2 gnome_kbd_indicator_new
  • #3 IA__g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #4 IA__g_closure_invoke
    at gclosure.c line 490
  • #5 signal_emit_unlocked_R
    at gsignal.c line 2438
  • #6 IA__g_signal_emit_valist
    at gsignal.c line 2197
  • #7 IA__g_signal_emit_by_name
    at gsignal.c line 2265
  • #8 xkl_xkb_load_all_info
    from /usr/lib/libxklavier.so.11
  • #9 xkl_engine_reset_all_info
    from /usr/lib/libxklavier.so.11
  • #10 xkl_xkb_process_x_event
    from /usr/lib/libxklavier.so.11
  • #11 xkl_engine_filter_events
    from /usr/lib/libxklavier.so.11
  • #12 gnome_kbd_indicator_new
  • #13 gdk_event_apply_filters
    at ../gdk/x11/gdkevents-x11.c line 345
  • #14 gdk_event_translate
    at ../gdk/x11/gdkevents-x11.c line 894
  • #15 _gdk_events_queue
    at ../gdk/x11/gdkevents-x11.c line 2254
  • #16 gdk_event_dispatch
    at ../gdk/x11/gdkevents-x11.c line 2314
  • #17 IA__g_main_context_dispatch
    at gmain.c line 2045
  • #18 g_main_context_iterate
    at gmain.c line 2677
  • #19 IA__g_main_loop_run
    at gmain.c line 2881
  • #20 bonobo_main
    from /usr/lib/libbonobo-2.so.0
  • #21 bonobo_generic_factory_main_timeout
    from /usr/lib/libbonobo-2.so.0
  • #22 bonobo_generic_factory_main
    from /usr/lib/libbonobo-2.so.0
  • #23 panel_applet_factory_main_closure
    at panel-applet.c line 1747
  • #24 panel_applet_factory_main
    at panel-applet.c line 1771
  • #25 main

Thread 1 (Thread -1226496320 (LWP 8037))

  • #0 gnome_kbd_indicator_set_parent_tooltips
  • #1 gnome_kbd_indicator_new
  • #2 IA__g_type_create_instance
    at gtype.c line 1567
  • #3 g_object_constructor
    at gobject.c line 1038
  • #4 IA__g_object_newv
    at gobject.c line 934
  • #5 IA__g_object_new_valist
    at gobject.c line 978
  • #6 IA__g_object_new
    at gobject.c line 792
  • #7 gnome_kbd_indicator_new
  • #8 GSwitchItAppletNew
  • #9 panel_applet_marshal_BOOLEAN__STRING
    at panel-applet-marshal.c line 128
  • #10 IA__g_closure_invoke
    at gclosure.c line 490
  • #11 bonobo_closure_invoke_va_list
    from /usr/lib/libbonobo-2.so.0
  • #12 bonobo_closure_invoke
    from /usr/lib/libbonobo-2.so.0
  • #13 panel_applet_control_bound
    at panel-applet.c line 1367
  • #14 IA__g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #15 IA__g_closure_invoke
    at gclosure.c line 490
  • #16 signal_emit_unlocked_R
    at gsignal.c line 2438
  • #17 IA__g_signal_emit_valist
    at gsignal.c line 2197
  • #18 IA__g_signal_emit
    at gsignal.c line 2241
  • #19 bonobo_control_add_listener
    from /usr/lib/libbonoboui-2.so.0
  • #20 _ORBIT_skel_small_Bonobo_Control_setFrame
    from /usr/lib/libbonobo-2.so.0
  • #21 IOP_start_profiles
    from /usr/lib/libORBit-2.so.0
  • #22 ORBit_OAObject_invoke
    from /usr/lib/libORBit-2.so.0
  • #23 ORBit_small_invoke_adaptor
    from /usr/lib/libORBit-2.so.0
  • #24 ORBit_recv_buffer_return_sys_exception
    from /usr/lib/libORBit-2.so.0
  • #25 ORBit_recv_buffer_return_sys_exception
    from /usr/lib/libORBit-2.so.0
  • #26 ORBit_skel_class_register
    from /usr/lib/libORBit-2.so.0
  • #27 ORBit_handle_request
    from /usr/lib/libORBit-2.so.0
  • #28 giop_connection_handle_input
    from /usr/lib/libORBit-2.so.0
  • #29 link_connection_state_changed
    from /usr/lib/libORBit-2.so.0
  • #30 link_io_add_watch_fd
    from /usr/lib/libORBit-2.so.0
  • #31 IA__g_main_context_dispatch
    at gmain.c line 2045
  • #32 g_main_context_iterate
    at gmain.c line 2677
  • #33 IA__g_main_loop_run
    at gmain.c line 2881
  • #34 bonobo_main
    from /usr/lib/libbonobo-2.so.0
  • #35 bonobo_generic_factory_main_timeout
    from /usr/lib/libbonobo-2.so.0
  • #36 bonobo_generic_factory_main
    from /usr/lib/libbonobo-2.so.0
  • #37 panel_applet_factory_main_closure
    at panel-applet.c line 1747
  • #38 panel_applet_factory_main
    at panel-applet.c line 1771
  • #39 main

Comment 3 Sergey V. Udaltsov 2006-09-09 11:14:07 UTC
Could you please also provide the result of xprop -root | grep XKB
Comment 4 Michal Bukovjan 2006-09-10 06:06:27 UTC
_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.
Comment 5 Sergey V. Udaltsov 2006-09-10 12:14:13 UTC
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"
Comment 6 Sebastien Bacher 2006-09-10 12:54:23 UTC
Similar Ubuntu bug: https://launchpad.net/products/gnome-applets/+bug/59674
Comment 7 Michal Bukovjan 2006-09-10 15:30:50 UTC
[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
Comment 8 Sergey V. Udaltsov 2006-09-10 16:01:21 UTC
OK, thanks. I will play with your configuration and see whether I can reproduce the issue.
Comment 9 Daniel Holbach 2006-09-13 09:57:33 UTC
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"
Comment 10 Matt Brubeck 2006-10-09 01:58:57 UTC
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"
Comment 11 André Klapper 2006-11-09 20:38:12 UTC
also see bug 364396
Comment 12 Alexey Rusakov 2006-11-24 00:11:25 UTC
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"
Comment 13 Sergey V. Udaltsov 2006-11-24 23:10:23 UTC
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
Comment 14 Arjan Timmerman 2006-12-03 13:55:28 UTC
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.
Comment 15 Sergey V. Udaltsov 2006-12-03 15:46:46 UTC
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?
Comment 16 Jan de Groot 2007-03-15 18:50:03 UTC
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.
Comment 17 Sergey V. Udaltsov 2007-03-15 19:03:59 UTC
So, will we close this one?
Comment 18 Alberto Garcia 2008-09-04 09:12:01 UTC
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.
Comment 19 Tobias Mueller 2009-03-12 09:25:34 UTC
This one seems to be obsolete as per comment #18.