libintl.so.8 causes SIGABORT in update-desktop-database

Pascal Hofstee caelian at gmail.com
Mon Mar 19 06:54:07 UTC 2007


After the recent gettext update ... some ports now refuse to update
because during the port upgrade phase update-desktop-database is
dumping core. I checked that the binary in question is installed by
the gnome-desktop-file-utils ports so i figured i should probably try
to start looking there. The following is a core dump of
update-desktop-database generated during the make reinstall phase:
(this backtrace was built using libthr ... libpthread causes the same
breakage)


Script started on Mon Mar 19 07:13:59 2007
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd"...(no debugging
symbols found)...

warning: core file may not match specified executable file.
Core was generated by `update-desktop-data'.
Program terminated with signal 6, Aborted.
Reading symbols from /usr/local/lib/libglib-2.0.so.0...done.
Loaded symbols for /usr/local/lib/libglib-2.0.so.0
Reading symbols from /usr/local/lib/libicui18n.so.36...done.
Loaded symbols for /usr/local/lib/libicui18n.so.36
Reading symbols from /usr/local/lib/libintl.so.8...done.
Loaded symbols for /usr/local/lib/libintl.so.8
Reading symbols from /usr/local/lib/libiconv.so.3...done.
Loaded symbols for /usr/local/lib/libiconv.so.3
Reading symbols from /lib/libc.so.7...done.
Loaded symbols for /lib/libc.so.7
Reading symbols from /usr/local/lib/libicuuc.so.36...done.
Loaded symbols for /usr/local/lib/libicuuc.so.36
Reading symbols from /usr/local/lib/libicudata.so.36...done.
Loaded symbols for /usr/local/lib/libicudata.so.36
Reading symbols from /usr/lib/libthr.so.2...done.
Loaded symbols for /usr/lib/libthr.so.2
Reading symbols from /usr/lib/libstdc++.so.5...done.
Loaded symbols for /usr/lib/libstdc++.so.5
Reading symbols from /lib/libm.so.4...done.
Loaded symbols for /lib/libm.so.4
Reading symbols from /libexec/ld-elf.so.1...done.
Loaded symbols for /libexec/ld-elf.so.1
#0  0x2841d803 in kill () from /lib/libc.so.7
[New Thread 0x29210200 (LWP 100097)]
(gdb) thread apply all bt full

Thread 1 (Thread 0x29210200 (LWP 100097)):
#0  0x2841d803 in kill () from /lib/libc.so.7
No symbol table info available.
#1  0x2841d7a0 in raise () from /lib/libc.so.7
No symbol table info available.
#2  0x2841c4b0 in abort () from /lib/libc.so.7
No symbol table info available.
#3  0x28258598 in libintl_recursive_lock_init (lock=0x2825ad9c)
    at ../../gettext-runtime/intl/lock.c:266
	attributes = 0x29204250
#4  0x28258602 in libintl_recursive_lock_lock (lock=0x2825ad9c)
    at ../../gettext-runtime/intl/lock.c:280
No locals.
#5  0x28253f72 in _nl_load_domain (domain_file=0x292301f0, domainbinding=0x0)
    at ../../gettext-runtime/intl/loadmsgcat.c:798
	lock = {recmutex = 0x0, guard = 0x29220700, initialized = 0}
	fd = -1
	size = 673521773
	st = {st_dev = 671551768, st_ino = 3217024404, st_mode = 21517,
  st_nlink = 10245, st_uid = 671584704, st_gid = 673557468,
  st_rdev = 3217024452, st_atimespec = {tv_sec = 671437793,
    tv_nsec = 671551768}, st_mtimespec = {tv_sec = 673529648,
    tv_nsec = -1077942844}, st_ctimespec = {tv_sec = 671425859,
---Type <return> to continue, or q <return> to quit---
    tv_nsec = 671569636}, st_size = -4629728510317953023,
  st_blocks = 2950300853740758646, st_blksize = 1, st_flags = 671581696,
  st_gen = 673557436, st_lspare = 0, st_birthtimespec = {tv_sec = 690095424,
    tv_nsec = -1077942712}}
	data = (struct mo_file_header *) 0x1
	use_mmap = 0
	domain = (struct loaded_domain *) 0xbfbfe574
	revision = 0
	nullentry = 0x0
	nullentrylen = 686946900
#6  0x2825374f in _nl_find_domain (dirname=0x0, locale=0xbfbfe670 "en",
    domainname=0xbfbfe690 "LC_MESSAGES/glib20.mo", domainbinding=0x292083e0)
    at ../../gettext-runtime/intl/finddomain.c:172
	cnt = 0
	retval = (struct loaded_l10nfile *) 0x29220540
	language = 0xbfbfe670 "en"
	modifier = 0x0
	territory = 0xbfbfe673 "GB"
	codeset = 0xbfbfe676 "UTF-8"
	normalized_codeset = 0x292021f0 "utf8"
	alias_value = 0x0
	mask = 7
	lock = 0x29208420
#7  0x28256878 in libintl_dcigettext (domainname=0x281166ed "glib20",
---Type <return> to continue, or q <return> to quit---
    msgid1=0x280e2ae8 "Key file does not have key '%s'", msgid2=0x0,
    plural=0, n=0, category=6) at ../../gettext-runtime/intl/dcigettext.c:733
	cnt = -1077942671
	domain = (struct loaded_l10nfile *) 0x29210200
	binding = (struct binding *) 0x292083e0
	categoryname = 0xbfbfe671 "n"
	categoryvalue = 0xbfbfef0b ""
	dirname = 0x282593a5 "/usr/local/share/locale"
	xdomainname = 0xbfbfe690 "LC_MESSAGES/glib20.mo"
	single_locale = 0xbfbfe670 "en"
	retval = 0x29204150 "Desktop Entry"
	retlen = 0
	saved_errno = 2
	search = (struct known_translation_t *) 0xbfbfe671
	foundp = (struct known_translation_t **) 0x0
	msgid_len = 32
	domainname_len = 6
#8  0x28253443 in libintl_dcgettext (domainname=0x0, msgid=0x0, category=0)
    at ../../gettext-runtime/intl/dcgettext.c:49
No locals.
#9  0x2825347c in libintl_dgettext (domainname=0x0, msgid=0x0)
    at ../../gettext-runtime/intl/dgettext.c:52
No locals.
#10 0x280d7a49 in _glib_gettext (str=0x0) at gutils.c:3061
---Type <return> to continue, or q <return> to quit---
	_glib_gettext_initialized = 1
#11 0x280a703e in IA__g_key_file_get_value (key_file=0x292082c0,
    group_name=0x29204150 "Desktop Entry", key=0x804a1c6 "MimeType",
    error=0xbfbfe828) at gkeyfile.c:1211
	group = (GKeyFileGroup *) 0x0
	pair = (GKeyFileKeyValuePair *) 0x0
	value = (gchar *) 0x0
	__PRETTY_FUNCTION__ = "IA__g_key_file_get_value"
#12 0x280a75fa in IA__g_key_file_get_string_list (key_file=0x292082c0,
    group_name=0x7fffffdf <Address 0x7fffffdf out of bounds>,
    key=0x804a1c6 "MimeType", length=0x0, error=0xbfbfe858) at gkeyfile.c:1412
	key_file_error = (GError *) 0x0
	value = (gchar *) 0x138 <Address 0x138 out of bounds>
	string_value = (gchar *) 0x292082c0 "À\003!)`A )`A )°\003!)\r\034"
	values = (gchar **) 0x292082c0
	i = -1077943280
	len = 690487588
	p = (GSList *) 0x7fffffdf
	pieces = (GSList *) 0x0
	__PRETTY_FUNCTION__ = "IA__g_key_file_get_string_list"
#13 0x0804961d in ?? ()
No symbol table info available.
#14 0x292082c0 in ?? ()
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#15 0x29204150 in ?? ()
No symbol table info available.
#16 0x0804a1c6 in ?? ()
No symbol table info available.
#17 0x00000000 in ?? ()
No symbol table info available.
#18 0xbfbfe858 in ?? ()
No symbol table info available.
#19 0x29250380 in ?? ()
No symbol table info available.
#20 0x00000000 in ?? ()
No symbol table info available.
#21 0x29250380 in ?? ()
No symbol table info available.
#22 0x29220240 in ?? ()
No symbol table info available.
#23 0x29280124 in ?? ()
No symbol table info available.
#24 0xbfbfe898 in ?? ()
No symbol table info available.
#25 0x08049821 in ?? ()
No symbol table info available.
#26 0x29220240 in ?? ()
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#27 0x29250380 in ?? ()
No symbol table info available.
#28 0xbfbfe888 in ?? ()
No symbol table info available.
#29 0x2809f048 in IA__g_hash_table_new_full (hash_func=0x29220240,
    key_equal_func=0, key_destroy_func=0, value_destroy_func=0) at ghash.c:147
	hash_table = (GHashTable *) 0x29220240
Previous frame inner to this frame (corrupt stack?)
(gdb)
Script done on Mon Mar 19 07:14:31 2007


If any of you could shed some light on this it would be appreciated
... The system in question installed and ran a full gnome-2.16 desktop
built just a day before the gettext update without any issues. The
system is in fact barely 3 days old, so i am really inclined to
believe it's not bad hardware.

This is observed on a FreeBSD/i386 CURRENT system installed from the
latest CURRENT snapshot.

-- 
  Pascal Hofstee


More information about the freebsd-gnome mailing list