Bug#681837: d-conf: gnome-session crashes in gvdb_table_is_valid() with default settings
Cyril Brulebois
kibi at debian.org
Tue Jul 17 00:28:08 UTC 2012
Package: d-conf
Version: 0.12.1-2
Severity: serious
Tags: d-i
Justification: makes default installation unusable
Hi,
tagging with d-i since the default desktop installation is unusable and
not easy to debug (along with gdm3 bug #681830). Using nasty techniques
like diverting /usr/bin/gnome-session away and using a shell wrapper to
intercept the PID so that I could attach gdb, I could get to the
attached backtrace.
The trivial attached patch makes gnome-session stop crashing, which
should make it possible to debug what's wrong with the default settings.
I'll try and figure out the right package to assign the next bug report
to (which might be gnome-session).
FTR, the attached patch means I get to see the “Oops, something went
wrong” screen, instead of a flickering display with gdm3 spawning X
instances as hell.
Mraw,
KiBi.
-------------- next part --------------
(gdb) cont
Continuing.
process 9451 is executing new program: /usr/bin/gnome-session.diverted
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/i686/cmov/libthread_db.so.1".
Program received signal SIGSEGV, Segmentation fault.
0xb6d0e956 in gvdb_table_is_valid (table=0x80d1040) at ../gvdb/gvdb-reader.c:572
572 return !!*table->data;
(gdb) bt full
#0 0xb6d0e956 in gvdb_table_is_valid (table=0x80d1040) at ../gvdb/gvdb-reader.c:572
No locals.
#1 0xb6d0c903 in dconf_engine_refresh_system (engine=0x80c4720, i=1) at ../engine/dconf-engine.c:170
No locals.
#2 0xb6d0caea in dconf_engine_refresh (engine=0x80c4720) at ../engine/dconf-engine.c:209
i = 1
#3 0xb6d0cb7b in dconf_engine_get_state (engine=0x80c4720) at ../engine/dconf-engine.c:231
state = 13211598609864785088
#4 0xb6d0fb7d in outstanding_watch_new (dcsb=0x80f7c18, name=0x8101b60 "/org/gnome/gnome-session/") at dconfsettingsbackend.c:538
watch = 0x808fca8
#5 0xb6d0fdda in dconf_settings_backend_subscribe (backend=0x80f7c18, name=0x8101b60 "/org/gnome/gnome-session/") at dconfsettingsbackend.c:626
dcsb = 0x80f7c18
#6 0xb767a157 in ?? () from /usr/lib/i386-linux-gnu/libgio-2.0.so.0
No symbol table info available.
#7 0xb767db90 in ?? () from /usr/lib/i386-linux-gnu/libgio-2.0.so.0
No symbol table info available.
#8 0xb75929a2 in g_object_newv () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#9 0xb7592d4a in g_object_new_valist () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#10 0xb7592f90 in g_object_new () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#11 0xb767e8c1 in g_settings_new () from /usr/lib/i386-linux-gnu/libgio-2.0.so.0
No symbol table info available.
#12 0x0806d5c4 in gsm_manager_init (manager=0x80d2800) at gsm-manager.c:2764
No locals.
#13 0xb75ae507 in g_type_create_instance () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#14 0xb7590cf1 in ?? () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#15 0x0806cd0d in gsm_manager_constructor (type=135274632, n_construct_properties=3, construct_properties=0x80e9a40) at gsm-manager.c:2497
manager = 0xb75cdff4
#16 0xb75924fd in g_object_newv () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#17 0xb7592d4a in g_object_new_valist () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#18 0xb7592f90 in g_object_new () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
No symbol table info available.
#19 0x0806d8ae in gsm_manager_new (client_store=0x808fb68, failsafe=1) at gsm-manager.c:2831
res = 135074712
#20 0x08065dad in main (argc=1, argv=0xbffffb34) at main.c:343
sa = {__sigaction_handler = {sa_handler = 0x1, sa_sigaction = 0x1}, sa_mask = {__val = {0 <repeats 32 times>}}, sa_flags = 0, sa_restorer = 0xb744aff4}
error = 0x0
display_str = 0x80cb938 "\001"
manager = 0xbffffae0
client_store = 0x808fb68
xsmp_server = 0x80a2940
signal_handler = 0xb7fffac0
override_autostart_dirs = 0x0
session_name = 0x0
entries = {{long_name = 0x807c2d1 "autostart", short_name = 97 'a', flags = 0, arg = G_OPTION_ARG_STRING_ARRAY, arg_data = 0x808ab84, description = 0x807c2dc "Override standard autostart directories",
arg_description = 0x807c304 "AUTOSTART_DIR"}, {long_name = 0x807c312 "session", short_name = 0 '\000', flags = 0, arg = G_OPTION_ARG_STRING, arg_data = 0x808ab80, description = 0x807c31a "Session to use",
arg_description = 0x807c329 "SESSION_NAME"}, {long_name = 0x807c336 "debug", short_name = 0 '\000', flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0x808ab78, description = 0x807c33c "Enable debugging code",
arg_description = 0x0}, {long_name = 0x807c352 "failsafe", short_name = 102 'f', flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0x808ab70, description = 0x807c35c "Do not load user-specified applications",
arg_description = 0x0}, {long_name = 0x807c384 "version", short_name = 0 '\000', flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0x808ab74, description = 0x807c38c "Version of this application",
arg_description = 0x0}, {long_name = 0x807c3a8 "whale", short_name = 0 '\000', flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0x808ab7c, description = 0x807c3b0 "Show the fail whale dialog for testing",
arg_description = 0x0}, {long_name = 0x0, short_name = 0 '\000', flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0x0, description = 0x0, arg_description = 0x0}}
(gdb) p table->data
$1 = (const gchar *) 0x0
(gdb) quit
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 02_avoid_trivial_segfaults.patch
Type: text/x-diff
Size: 298 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-gnome-maintainers/attachments/20120717/0c90ed5c/attachment.patch>
More information about the pkg-gnome-maintainers
mailing list