Bug 108967

Summary: sysutils/gnome-control-center 2.16.3 gnome-keyboard-properties dumps core on startup
Product: Ports & Packages Reporter: Mark Evenson <mark.evenson>
Component: Individual Port(s)Assignee: freebsd-gnome (Nobody) <gnome>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   

Description Mark Evenson 2007-02-09 11:30:08 UTC
systutils/gnome-control-center 2.16.3 gnome-keyboard-properties dumps core on startup.

Invoking /usr/local/bin/gnome-keyboard-properties gives the following warnings


** (bug-buddy:17277): WARNING **: Couldn't load icon for Bonobo Component Browser

** (bug-buddy:17277): WARNING **: Couldn't load icon for Menu Editor

** (bug-buddy:17277): WARNING **: Couldn't load icon for Open Folder

and then terminates with a SIGSEGV.  The backtrace from gdb is 

Thread 3 (Thread 0x8069200 (LWP 100217)):
#0  0x290404f7 in pthread_testcancel () from /lib/libpthread.so.2
#1  0x29038ec8 in pthread_mutexattr_init () from /lib/libpthread.so.2
#2  0x29cb2450 in ?? ()

Thread 2 (Thread 0x8069000 (LWP 100113)):
#0  0x28be687e in xkl_read_config_item () from /usr/local/lib/libxklavier.so.11
#1  0x28be6d2a in xkl_config_registry_find_object () from /usr/local/lib/libxklavier.so.11
#2  0x28be72b1 in xkl_config_registry_find_layout () from /usr/local/lib/libxklavier.so.11
#3  0x080566e2 in gconf_property_editor_marshal_VOID__STRING_POINTER ()
#4  0x08057c55 in gconf_property_editor_marshal_VOID__STRING_POINTER ()
#5  0x08051274 in ?? ()
#6  0x081fd660 in ?? ()
#7  0x0820b1d0 in ?? ()
#8  0xbfbfe9c8 in ?? ()
#9  0xbfbfe9cc in ?? ()
#10 0xbfbfe9c0 in ?? ()
#11 0xbfbfe9c4 in ?? ()
#12 0xbfbfe9f8 in ?? ()
#13 0x080511bf in ?? ()
#14 0xbfbfeacc in ?? ()
#15 0x0820b1d0 in ?? ()
#16 0xbfbfe9f8 in ?? ()
#17 0x08051188 in ?? ()
#18 0x0809e3f0 in ?? ()
#19 0x0805b9e4 in ?? ()
#20 0x080508e4 in ?? ()
#21 0x08082660 in ?? ()
#22 0x93460a13 in ?? ()
#23 0x084a47a0 in ?? ()
#24 0x00000014 in ?? ()
#25 0x00000040 in ?? ()
#26 0x080a4c58 in ?? ()
#27 0x08077e38 in ?? ()
#28 0x08077e38 in ?? ()
#29 0x0820c030 in ?? ()
#30 0x081ee020 in ?? ()
#31 0x080a4c58 in ?? ()
#32 0xbfbfea18 in ?? ()
#33 0x0805009b in ?? ()
#34 0x08082660 in ?? ()
#35 0x00000000 in ?? ()
#36 0x08106e30 in ?? ()
#37 0x00000000 in ?? ()
#38 0xbfbfeacc in ?? ()
#39 0x081fd5a0 in ?? ()
#40 0xbfbfea38 in ?? ()
#41 0x0804f8e6 in ?? ()
#42 0x08082660 in ?? ()
#43 0x00000000 in ?? ()
#44 0x081f0478 in ?? ()
#45 0x00000000 in ?? ()
#46 0x081f2aa0 in ?? ()
#47 0x081fd300 in ?? ()
#48 0xbfbfea78 in ?? ()
#49 0x0804fb8a in ?? ()
#50 0x08082660 in ?? ()
#51 0x00000000 in ?? ()
#52 0xbfbfea78 in ?? ()
#53 0x0804fb79 in ?? ()
#54 0x0804f0b8 in ?? ()
#55 0x00000001 in ?? ()
#56 0xbfbfea78 in ?? ()
#57 0x0804f2b9 in ?? ()
#58 0x0805ed28 in __progname ()
#59 0x0805f668 in gdk_display ()
#60 0xbfbfea88 in ?? ()
#61 0x08082660 in ?? ()
#62 0x00000000 in ?? ()
#63 0x0807be88 in ?? ()
#64 0xbfbfeabc in ?? ()
#65 0x0804f22e in ?? ()
#66 0x00000001 in ?? ()
#67 0xbfbfeac4 in ?? ()
#68 0xbfbfeacc in ?? ()
#69 0x0805ed28 in __progname ()
#70 0x0805b004 in gconf_property_editor_marshal_VOID__STRING_POINTER ()
Previous frame inner to this frame (corrupt stack?)
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2007-02-09 11:30:25 UTC
Responsible Changed
From-To: freebsd-ports-bugs->gnome

Over to maintainer
Comment 2 Jeremy Messenger freebsd_committer freebsd_triage 2007-02-20 22:06:32 UTC
State Changed
From-To: open->feedback

Your backtrace is useless, you will have to follow this: 

http://www.freebsd.org/gnome/docs/bugging.html 

If you still have the problem then be sure to recompile several of your 
installed ports with the debug (WITH_DEBUG=yes). After that, your backtraces 
might be a bit more useful (depend on).
Comment 3 mark.evenson 2007-02-22 11:37:28 UTC
Resolved upstream at gnome.org at=20

  http://bugzilla.gnome.org/show_bug.cgi?id=3D370038

This is really a bug in x11/libxklavier for which the following patch
needs to be applied:

--- libxklavier/xklavier_config.c.orig	Sun Apr 16 04:04:38 2006
+++ libxklavier/xklavier_config.c	Thu Feb 22 12:14:41 2007
@@ -243,7 +243,7 @@
 		return FALSE;
=20
 	nodes =3D xpath_obj->nodesetval;
-	if (nodes !=3D NULL && nodes->nodeTab !=3D NULL) {
+	if (nodes !=3D NULL && nodes->nodeTab !=3D NULL && *nodes->nodeTab !=3D
NULL) {
 		rv =3D xkl_read_config_item(*nodes->nodeTab, pitem);
 		if (pnode !=3D NULL) {
 			*pnode =3D *nodes->nodeTab;
@@ -275,7 +275,11 @@
 gchar *
 xkl_strings_concat_comma_separated(gchar ** array)
 {
-	return g_strjoinv(",", array);
+	if (array) {
+		return g_strjoinv(",", array);
+	} else {
+		return g_strdup("");
+	}
 }
=20
 void


=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
A more informative stacktrace is=20


(gdb) thread apply all bt full
[New Thread 0x8069200 (LWP 100250)]

Thread 3 (Thread 0x8069200 (LWP 100250)):
#0  0x290414f7 in pthread_testcancel () from /lib/libpthread.so.2
No symbol table info available.
#1  0x29039ec8 in pthread_mutexattr_init () from /lib/libpthread.so.2
No symbol table info available.
#2  0x29cb3450 in ?? ()
No symbol table info available.

Thread 2 (Thread 0x8069000 (LWP 100259)):
#0  xkl_read_config_item (iptr=3D0x0, item=3D0x805f680) at
xklavier_config.c:52
	name_element =3D 0x8215000
	nptr =3D 0x82102c0
	ptr =3D 0x82102c0
	desc_element =3D 0x0
	short_desc_element =3D 0x0
	nt_desc_element =3D 0x0
	nt_short_desc_element =3D 0x0
	max_desc_priority =3D -1
	max_short_desc_priority =3D -1
#1  0x28be6e96 in xkl_config_registry_find_object (config=3D0x8215000,
format=3D0x28bee9a8 "/xkbConfigRegistry/layoutList/layout[configItem/name
=3D '%s%s']", arg1=3D0x28bedaec "", pitem=3D0x805f680, pnode=3D0x0) at
xklavier_config.c:247
	xpath_obj =3D 0x8215000
	nodes =3D 0x82102c0
	rv =3D 0
	xpath_expr =3D "/xkbConfigRegistry/layoutList/layout[configItem/name =3D
'en']\000\201\003)\000\220\006\bH\220\006\b", '\0' <repeats 12 times>,
"=B4D\004\001\230%\b(:w\003)", '\0' <repeats 12 times>, "X\207=C2(\001\000
\000\000\000n\037\b8=E6=BF=BFw=F9=C0(=D4\211=C2(\001\000\000\000\000\035\03=
0(\t=F0=C0(=B9
\004\004\n=BDB=A1(\200Q=CB(\b=E6=BF=BF\200Q=CB(\200Q=CB(\b=E6=BF=BF\200Q=CB=
(\000=E6=BF=BF=E0=E5=BF=BF\017\000
\000\000 W=CB(@\002!\b\026\000\000\000\210=E5=BF=BF"...
#2  0x28be748e in xkl_config_registry_find_layout (config=3D0x8203660,
pitem=3D0x805f680) at xklavier_config.c:483
No locals.
#3  0x080562fb in gswitchit_kbd_config_get_lv_descriptions
(config_registry=3D0x8203660, layout_name=3D0x8210220 "en",
variant_name=3D0x0, layout_short_descr=3D0xbfbfe980,
layout_descr=3D0xbfbfe984, variant_short_descr=3D0xbfbfe988,
variant_descr=3D0xbfbfe98c) at gswitchit-config.c:116
	litem =3D {parent =3D {g_type_instance =3D {g_class =3D 0x0}, ref_count =
=3D 0,
qdata =3D 0x0}, name =3D "\000n", '\0' <repeats 29 times>, short_descriptio=
n
=3D '\0' <repeats 191 times>, description =3D '\0' <repeats 191 times>}
	vitem =3D {parent =3D {g_type_instance =3D {g_class =3D 0x0}, ref_count =
=3D 0,
qdata =3D 0x0}, name =3D '\0' <repeats 31 times>, short_description =3D '\0=
'
<repeats 191 times>, description =3D '\0' <repeats 191 times>}
#4  0x08057929 in gswitchit_kbd_config_get_descriptions
(config_registry=3D0x8203660, name=3D0x8210210 "en",
layout_short_descr=3D0xbfbfe980, layout_descr=3D0xbfbfe984,
variant_short_descr=3D0xbfbfe988, variant_descr=3D0xbfbfe98c) at
gswitchit-config.c:1003
	layout_name =3D 0x805fa40 "en"
	variant_name =3D 0x0
#5  0x08050d74 in xkb_layouts_fill_selected_tree (dialog=3D0x8083660) at
gnome-keyboard-properties-xkblt.c:347
	iter =3D {stamp =3D -19819737, user_data =3D 0x8498ce0, user_data2 =3D 0x1=
4,
user_data3 =3D 0x40}
	l =3D 0x805ba70 "toggled"
	sl =3D 0x80a03f0 ""
	v =3D 0x8083660 "\200M\f\b\001"
	sv =3D 0x80505b8 "U\211=E5VS\203=EC\f=FFu\f=E8=F4=DD=FF=FF\211=C3=BE=FF=FF=
=FF=FF\203=C4\004=FFu\b=E8\222=E4=FF=FF
\203=C4\020\205=C0u\017\203=EC\fS=E8\"=DA=FF=FF\2130\203=C4\020\220\203=EC\=
fV=E8\177=FF=FF=FF\211
\034$=E8=AB=D8=FF=FF\215e=F8[^=C9=C3U\211=E5WVS\203=EC8=FFu\020=E8C=EB=FF=
=FF\211=C6\203=C4\020\2038\002
\017\205=C9"
	visible =3D 0x8210210 "en"
	gce =3D (GConfEntry *) 0x0
	layouts =3D (GSList *) 0x8077e38
	cur_layout =3D (GSList *) 0x8077e38
	list_store =3D (GtkListStore *) 0x80a6c58
#6  0x0804feaf in setup_xkb_tabs (dialog=3D0x8083660, changeset=3D0x0) at
gnome-keyboard-properties-xkb.c:183
	peditor =3D (GObject *) 0x0
#7  0x0804f83a in setup_dialog (dialog=3D0x8083660, changeset=3D0x0) at
gnome-keyboard-properties.c:172
	peditor =3D (GObject *) 0x8203300
#8  0x0804fa8e in main (argc=3D1, argv=3D0xbfbfea8c) at
gnome-keyboard-properties.c:252
	client =3D (GConfClient *) 0x8083660
	dialog =3D (GladeXML *) 0x8083660
	apply_only =3D 0
	get_legacy =3D 0
	switch_to_typing_break_page =3D 0
	cap_options =3D {{longName =3D 0x805b3d1 "apply", shortName =3D 0 '\0',
argInfo =3D 0, arg =3D 0x805f620, val =3D 0, descrip =3D 0x805b838 "Just ap=
ply
settings and quit (compatibility only; now handled by daemon)",
argDescrip =3D 0x0}, {longName =3D 0x805b3d7 "init-session-settings",
shortName =3D 0 '\0', argInfo =3D 0, arg =3D 0x805f620, val =3D 0, descrip =
=3D
0x805b838 "Just apply settings and quit (compatibility only; now handled
by daemon)", argDescrip =3D 0x0}, {longName =3D 0x805b3ed "get-legacy",
shortName =3D 0 '\0', argInfo =3D 0, arg =3D 0x805f624, val =3D 0, descrip =
=3D
0x805b884 "Retrieve and store legacy settings", argDescrip =3D 0x0},
{longName =3D 0x805b3f8 "typing-break", shortName =3D 0 '\0', argInfo =3D 0=
,
arg =3D 0x805f628, val =3D 0, descrip =3D 0x805b8a8 "Start the page with th=
e
typing break settings showing", argDescrip =3D 0x0}, {longName =3D 0x0,
shortName =3D 0 '\0', argInfo =3D 0, arg =3D 0x0, val =3D 0, descrip =3D 0x=
0,
argDescrip =3D 0x0}}
(gdb)=20
Comment 4 dfilter service freebsd_committer freebsd_triage 2007-02-27 21:03:08 UTC
mezz        2007-02-27 21:02:53 UTC

  FreeBSD ports repository

  Modified files:
    x11/libxklavier      Makefile 
    x11/libxklavier/files patch-libxklavier_xklavier_config.c 
  Log:
  Fix the crash when navigate in System->Preferences->Keyboard. Bump the
  PORTREVISION.
  
  PR:             ports/108967
  Bugzilla:       http://bugzilla.gnome.org/show_bug.cgi?id=370038
  Obtained from:  fd.org CVS
  Submitted by:   Mark Evenson <mark.evenson@gmx.at>
  
  Revision  Changes    Path
  1.31      +1 -1      ports/x11/libxklavier/Makefile
  1.2       +11 -2     ports/x11/libxklavier/files/patch-libxklavier_xklavier_config.c
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
Comment 5 Jeremy Messenger freebsd_committer freebsd_triage 2007-02-28 18:55:35 UTC
State Changed
From-To: feedback->closed

Committed, thanks!