segmentation fault in xfsettingsd if XKB extension is not available
Submitted by Benedikt Waldvogel
Assigned to Nick Schermer
Description
xfsettingsd reproducibly segfaults in a (Tiger)VNC session, where some extensions like XKB and Accessibility are not available. The crash of xfsettingsd causes all GTK applications to fall back to the default theme and default icons which looks ugly.
Environment:
cat /etc/lsb-release
DISTRIB_ID=Ubuntu DISTRIB_RELEASE=12.10 DISTRIB_CODENAME=quantal DISTRIB_DESCRIPTION="Ubuntu 12.10"
The backtrace in GDB:
XFSETTINGSD_DEBUG=1 gdb --args xfsettingsd --replace --no-daemon
(gdb) run
Starting program: /usr/bin/xfsettingsd --replace --no-daemon
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
xfce4-settings(xsettings): _XSETTINGS_S0 registered on screen 0
xfce4-settings(xsettings): 30 settings changed (serial=0, len=1124)
xfce4-settings(xsettings): resource manager (xft) changed (len=1527)
xfce4-settings(pointers): initialized xi 1.5
(xfsettingsd:833): xfsettingsd-CRITICAL **: Failed to initialize the Xkb extension.
(xfsettingsd:833): xfsettingsd-CRITICAL **: Failed to initialize the Accessibility extension.
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7bd53ce in ?? () from /usr/lib/x86_64-linux-gnu/libxfce4kbd-private-2.so.0
(gdb) backtrace
#0 0x00007ffff7bd53ce in ?? () from /usr/lib/x86_64-linux-gnu/libxfce4kbd-private-2.so.0
#1 0x00007ffff7bd5c0d in xfce_shortcuts_grabber_add () from /usr/lib/x86_64-linux-gnu/libxfce4kbd-private-2.so.0
#2 0x000055555555df9d in ?? ()
#3 0x00007ffff5682aad in g_list_foreach () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x000055555555def6 in ?? ()
#5 0x00007ffff596598f in g_type_create_instance () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#6 0x00007ffff594a288 in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#7 0x00007ffff594bd41 in g_object_newv () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#8 0x00007ffff594c38c in g_object_new () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#9 0x000055555555ad49 in main ()
Running xfsettingsd in gdb (as above) does NOT cause the GTK apps to fallback to the default. So this works as a workaround for me.
Version: 4.10.0