GNOME Bugzilla – Bug 617375
gnome-settings-daemon crashed with SIGSEGV in *INT_cairo_move_to()
Last modified: 2010-06-15 20:29:33 UTC
Greetings. It's on Ubuntu 10.04, gnome-settings-daemon 2.30.0. How to reproduce: When having several keyboard layouts configured, right click on a Keyboard Layout applet in notification area, choose menu entry "Show Current Layout". It works OK for US layout, but crashes gnome-settings-daemon for other layouts. Affected layouts I've tried so far: US Dvorak, UK Dvorak, Russian. Stacktrace: #0 *INT_cairo_move_to (cr=0x0, x=644, y=58) at /build/buildd/cairo-1.8.10/src/cairo.c:1391 status = <value optimized out> #1 0x03d4974b in ?? () from /usr/lib/libgnomekbdui.so.4 No symbol table info available. #2 0x03d49b03 in ?? () from /usr/lib/libgnomekbdui.so.4 No symbol table info available. #3 0x03d4aa61 in ?? () from /usr/lib/libgnomekbdui.so.4 No symbol table info available. #4 0x03d4c1b5 in ?? () from /usr/lib/libgnomekbdui.so.4 No symbol table info available. #5 0x008920b3 in ?? () from /usr/lib/libgdk-x11-2.0.so.0 No symbol table info available. #6 0x00893ed1 in ?? () from /usr/lib/libgdk-x11-2.0.so.0 No symbol table info available. #7 0x0089432f in ?? () from /usr/lib/libgdk-x11-2.0.so.0 No symbol table info available. #8 0x001825e5 in g_main_context_dispatch () from /lib/libglib-2.0.so.0 No symbol table info available. #9 0x001862d8 in ?? () from /lib/libglib-2.0.so.0 No symbol table info available. #10 0x00186817 in g_main_loop_run () from /lib/libglib-2.0.so.0 No symbol table info available. #11 0x0054c299 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 No symbol table info available. #12 0x0804bd33 in main () No symbol table info available. Looks like there are no debug packages for libgnomekbd. Please let me know if some additional information could be helpful. Original report and some more info could be found here: https://bugs.launchpad.net/ubuntu/+source/gnome-settings-daemon/+bug/554598 -- Ilya Zakreuski
Adding Sergey...
Ilya, could you please try gkbd-keyboard-drawing-test from libgnomekbd/test?
(In reply to comment #2) > Ilya, could you please try gkbd-keyboard-drawing-test from libgnomekbd/test? Sergey, I've fetched libgnomekbd source package, built the source and ran gkbd-keyboard-drawing-test: ,---- | zail@debbie:~/devel/debian/libgnomekbd-2.30.0/test | $ ./gkbd-keyboard-drawing-test | dpy: 0x82f3970 | evt/error/major/minor: 97/153/1/0 `---- It worked just fine, layout preview without any key labels appeared, indicating any keys which I've pressed: http://imagebin.ca/view/YfyfJXk.html Should I pass any additional options to gkbd-keyboard-drawing-test? -- Ilya Zakreuski
gkbd-keyboard-drawing-test --groups=1,2,1,2 --levels=1,1,2,2
(In reply to comment #4) > gkbd-keyboard-drawing-test --groups=1,2,1,2 --levels=1,1,2,2 Sergey, that worked fine, Russian layout preview appeared. Some console output: ,---- | zail@debbie:~/devel/debian/libgnomekbd-2.30.0/test | $ ./gkbd-keyboard-drawing-test --groups=1,2,1,2 --levels=1,1,2,2 | dpy: 0x87869a8 | evt/error/major/minor: 97/153/1/0 `---- -- Ilya Zakreuski
Would the bug be still reproducable if you replace libgnomekbd with the one you built? Or the other way around - copy gkbd-keyboard-drawing-test to some other location an make it use system's libgnomekbd.
I can confirm this with my us/el setup on Debian unstable. I rebuilt the libgnomekbd4 package with debug symbols, and when I follow the steps described by the submitter I get a crash with the following backtrace:
+ Trace 221887
Any more information I can provide, I'll be happy to help. Thanks, Vasilis
Vasilis, did you use the exact command line gkbd-keyboard-drawing-test --groups=1,2,1,2 --levels=1,1,2,2 ? Could you please provide xprop -root | grep XKB? Did you use libgnomekbd from git? What's the version of xkeyboard-config (or xkbdata)?
Oh no, sorry for not being clear enough, I reproduced it using the original description: > How to reproduce: When having several keyboard layouts configured, > right click on a Keyboard Layout applet in notification area, choose > menu entry "Show Current Layout". > It works OK for US layout, but crashes gnome-settings-daemon for other > layouts. Affected layouts I've tried so far: US Dvorak, UK Dvorak, > Russian. gkbd-keyboard-drawing-test, OTOH, appears to work fine (with the command line you specify). I.e., it displays the layout correctly and does not crash. `xprop -root | grep XKB` says: _XKB_RULES_NAMES_BACKUP(STRING) = "evdev", "a4techKB21", "us,el", ",extended", "grp:menu_toggle,grp_led:scroll,lv3:ralt_switch,compose:rwin,grp:menu_toggle,lv3:ralt_switch,grp_led:scroll" _XKB_RULES_NAMES(STRING) = "evdev", "pc105", "us,gr", ",extended", "grp:menu_toggle,compose:rwin,lv3:ralt_switch,grp_led:scroll" And finally, I'm testing with the libgnomekbd that comes with Debian unstable (2.30.1-2), while xkb-data is at version 1.8-1.
> I.e., it displays the layout correctly and does not crash. I hate that! Also, why does your system config (_BACKUP) contain all options doubled? I checked your config - no crashes for me:( Just in case, could you attach the output of xkbcomp :0 -xkb out.xkb?
Created attachment 161054 [details] Output of `xkbcomp :0 -xkb out.xkb` > Also, why does your system config (_BACKUP) contain all options doubled? Not a clue. > Just in case, could you attach the output of xkbcomp :0 -xkb out.xkb? Attaching...
Just tried your config. Everything seems fine. No crash:(
Next thing we could try is adding loads xkb_debug statements to libgnomekbd, building it, running g-s-d with it - and seeing where it crashes. Vasilis, are you up to such excersize?
Sure, if you give me a diff or some other kind of instructions on what to add where, I'll be happy to apply it and see what happens.
I will try to organize instructions. At the mean while, could you please try the patch from bug #618709? Would it fix the issue for you?
In #618709, there is attempt to fix the issue. Vasilis, could you please try the version from git as well?
Sorry for the delay. Indeed, the commit linked to from #618709 fixes the problem for me.