ports/108967: sysutils/gnome-control-center 2.16.3 gnome-keyboard-properties dumps core on startup

Mark Evenson mark.evenson at gmx.at
Thu Feb 22 11:20:11 UTC 2007


Attached is a coredump with libklavier symbols and my ports are current 
wrt. cvsup.

It seems that this problem has been resolved upstream as the GNOME 
bug-buddy filed this report with gnome.org as

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

So I have attached a patch for x11/libxklavier until the upstream 
changes make it into FreeBSD.  Can you forward this to the 
x11/libxklavier maintainer?
-------------- next part --------------

(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=0x0, item=0x805f680) at xklavier_config.c:52
	name_element = 0x8215000
	nptr = 0x82102c0
	ptr = 0x82102c0
	desc_element = 0x0
	short_desc_element = 0x0
	nt_desc_element = 0x0
	nt_short_desc_element = 0x0
	max_desc_priority = -1
	max_short_desc_priority = -1
#1  0x28be6e96 in xkl_config_registry_find_object (config=0x8215000, format=0x28bee9a8 "/xkbConfigRegistry/layoutList/layout[configItem/name = '%s%s']", arg1=0x28bedaec "", pitem=0x805f680, pnode=0x0) at xklavier_config.c:247
	xpath_obj = 0x8215000
	nodes = 0x82102c0
	rv = 0
	xpath_expr = "/xkbConfigRegistry/layoutList/layout[configItem/name = 'en']\000\201\003)\000\220\006\bH\220\006\b", '\0' <repeats 12 times>, "´D\004\001\230%\b(:w\003)", '\0' <repeats 12 times>, "X\207Â(\001\000\000\000\000n\037\b8æ¿¿wùÀ(Ô\211Â(\001\000\000\000\000\035\030(\tðÀ(¹\004\004\n½B¡(\200QË(\bæ¿¿\200QË(\200QË(\bæ¿¿\200QË(\000æ¿¿àå¿¿\017\000\000\000 WË(@\002!\b\026\000\000\000\210å¿¿"...
#2  0x28be748e in xkl_config_registry_find_layout (config=0x8203660, pitem=0x805f680) at xklavier_config.c:483
No locals.
#3  0x080562fb in gswitchit_kbd_config_get_lv_descriptions (config_registry=0x8203660, layout_name=0x8210220 "en", variant_name=0x0, layout_short_descr=0xbfbfe980, layout_descr=0xbfbfe984, variant_short_descr=0xbfbfe988, variant_descr=0xbfbfe98c) at gswitchit-config.c:116
	litem = {parent = {g_type_instance = {g_class = 0x0}, ref_count = 0, qdata = 0x0}, name = "\000n", '\0' <repeats 29 times>, short_description = '\0' <repeats 191 times>, description = '\0' <repeats 191 times>}
	vitem = {parent = {g_type_instance = {g_class = 0x0}, ref_count = 0, qdata = 0x0}, name = '\0' <repeats 31 times>, short_description = '\0' <repeats 191 times>, description = '\0' <repeats 191 times>}
#4  0x08057929 in gswitchit_kbd_config_get_descriptions (config_registry=0x8203660, name=0x8210210 "en", layout_short_descr=0xbfbfe980, layout_descr=0xbfbfe984, variant_short_descr=0xbfbfe988, variant_descr=0xbfbfe98c) at gswitchit-config.c:1003
	layout_name = 0x805fa40 "en"
	variant_name = 0x0
#5  0x08050d74 in xkb_layouts_fill_selected_tree (dialog=0x8083660) at gnome-keyboard-properties-xkblt.c:347
	iter = {stamp = -19819737, user_data = 0x8498ce0, user_data2 = 0x14, user_data3 = 0x40}
	l = 0x805ba70 "toggled"
	sl = 0x80a03f0 ""
	v = 0x8083660 "\200M\f\b\001"
	sv = 0x80505b8 "U\211åVS\203ì\fÿu\fèôÝÿÿ\211þÿÿÿÿ\203Ä\004ÿu\bè\222äÿÿ\203Ä\020\205Àu\017\203ì\fSè\"Úÿÿ\2130\203Ä\020\220\203ì\fVè\177ÿÿÿ\211\034$è«Øÿÿ\215eø[^ÉÃU\211åWVS\203ì8ÿu\020èCëÿÿ\211Æ\203Ä\020\2038\002\017\205É"
	visible = 0x8210210 "en"
	gce = (GConfEntry *) 0x0
	layouts = (GSList *) 0x8077e38
	cur_layout = (GSList *) 0x8077e38
	list_store = (GtkListStore *) 0x80a6c58
#6  0x0804feaf in setup_xkb_tabs (dialog=0x8083660, changeset=0x0) at gnome-keyboard-properties-xkb.c:183
	peditor = (GObject *) 0x0
#7  0x0804f83a in setup_dialog (dialog=0x8083660, changeset=0x0) at gnome-keyboard-properties.c:172
	peditor = (GObject *) 0x8203300
#8  0x0804fa8e in main (argc=1, argv=0xbfbfea8c) at gnome-keyboard-properties.c:252
	client = (GConfClient *) 0x8083660
	dialog = (GladeXML *) 0x8083660
	apply_only = 0
	get_legacy = 0
	switch_to_typing_break_page = 0
	cap_options = {{longName = 0x805b3d1 "apply", shortName = 0 '\0', argInfo = 0, arg = 0x805f620, val = 0, descrip = 0x805b838 "Just apply settings and quit (compatibility only; now handled by daemon)", argDescrip = 0x0}, {longName = 0x805b3d7 "init-session-settings", shortName = 0 '\0', argInfo = 0, arg = 0x805f620, val = 0, descrip = 0x805b838 "Just apply settings and quit (compatibility only; now handled by daemon)", argDescrip = 0x0}, {longName = 0x805b3ed "get-legacy", shortName = 0 '\0', argInfo = 0, arg = 0x805f624, val = 0, descrip = 0x805b884 "Retrieve and store legacy settings", argDescrip = 0x0}, {longName = 0x805b3f8 "typing-break", shortName = 0 '\0', argInfo = 0, arg = 0x805f628, val = 0, descrip = 0x805b8a8 "Start the page with the typing break settings showing", argDescrip = 0x0}, {longName = 0x0, shortName = 0 '\0', argInfo = 0, arg = 0x0, val = 0, descrip = 0x0, argDescrip = 0x0}}
(gdb) 
-------------- next part --------------
--- 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;
 
 	nodes = xpath_obj->nodesetval;
-	if (nodes != NULL && nodes->nodeTab != NULL) {
+	if (nodes != NULL && nodes->nodeTab != NULL && *nodes->nodeTab != NULL) {
 		rv = xkl_read_config_item(*nodes->nodeTab, pitem);
 		if (pnode != NULL) {
 			*pnode = *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("");
+	}
 }
 
 void


More information about the freebsd-gnome mailing list