GNOME Bugzilla – Bug 615832
gnome-settings-daemon crashed with SIGSEGV in xkl_engine_ensure_vtable_inited()
Last modified: 2010-06-22 20:51:44 UTC
The bug has been opened on https://bugs.launchpad.net/bugs/546927 "switched the theme in 'Appearance', then came the crash (new theme was visible just a fraction of a second)
+ Trace 221386
Would it be possible to run (and crash!) g-s-d with --nodaemon and XKL_DEBUG=160? Please attach the resulting output here (especially the lines before the crash).
I hope it is fixed in the latest git version. Could you please check?
Latest git's autogen.sh script asks to download ftp://ftp.gtk.org/pub/gtk/v2.2/glib-2.2.0.tar.gz , which doesn't exist. (FTP error 550: Unable to change directory)
New comment from the Launchpad bug: -- Quote: Cynthia Gauthier Instructions for reproducing this bug: 1. Boot Ubuntu 10.04 from the LiveCD. Don't change the language; leave it as English. This will make the default keyboard layout "USA" later. 2. Wait for the GNOME desktop to fully load. 3. System > Preferences > Keyboard. Select the Layouts tab, add a random layout, then remove "USA". Click Close. (Not removing the first layout works around this bug.) 4. System > Preferences > Appearance. Change ANYTHING. (Change the theme, or the desktop background, or the font.) 5. Asynchronous crash of gnome-settings-daemon. It takes 5 seconds usually, but after this, the theme changes to something like Redmond in all applications. I think "XKL_DEBUG=160 gnome-settings-daemon --no-daemon" should be typed before Step 3 above. -- Quote: End
Created attachment 164190 [details] Debug log at level 250 Using the instructions quoted above, libgnomekbd version 2.30.1-0ubuntu1 under Ubuntu 10.04, and a debug log at level 250 for good measure, here's the information requested in April. [At line 1424, the X server notifies gnome-settings-daemon that there's a change in keyboard layouts. I deleted USA [seen at line 927 when gnome-settings-daemon was loading] and kept Canada, per the instructions. At line 1678, Appearance Preferences is opening. At line 1794, I then click on the theme "Radiance" to change to it. gnome-settings-daemon crashes after emitting 4 critical GConf messages on standard error.]
Thanks for the update, I will try to analyze the trace. > Latest git's autogen.sh script asks to download > ftp://ftp.gtk.org/pub/gtk/v2.2/glib-2.2.0.tar.gz That's an issue with gnome-autogen.
The trace is somewhat strange, especially the fact that it crashes with gconf error messages. I suspect some memory corruption. Would you be able to run the g-s-d with valgrind? And gdb - to get the stacktrace? I am asking because it looks like the original bug, about vtable (and its stacktrace) is irrelevant to that crash after "Appearance".
The original bug from Launchpad was triggered by going to Appearance Preferences and choosing a new theme; this is what caused the crash in xkl_engine_ensure_vtable_inited. Triggering the bug made Apport (automatic crash reporter in Ubuntu) redirect me to that bug on Launchpad. I'm fairly certain that they're the same bug because of that. I'll see if I can get a stacktrace with symbols and a Valgrind log.
I see. Well, since I do not know the cause yet, I cannot make any final statement. I just thought that non-initialized state that potentially could cause the crash in vtable_inited method does not last long enough - while your trace is fairly long. Of cause, in case of memory corruption, everything is possible. That's why I am asking about valgrind
Created attachment 164269 [details] Valgrind log "Access not within mapped region at address 0xC"
Created attachment 164270 [details] gdb backtrace I don't see how to mark an attachment as being a stack trace in Bugzilla, so apologies if this file doesn't show up as a Trace 2226whatever... :)
Great! engine = NULL. I looked at the code, I think now I know what it is. Thank you very much! Going to fix it.
Please apply this patch: http://git.gnome.org/browse/libgnomekbd/commit/?h=gnome-2-30&id=4486514c573d609fc40bd142f78631acfe632c01 Going to release 2.30.2 tonight