Subject: Re: pthread assertion failure
To: Min Sik Kim <minskim@bawi.org>
From: Christian Limpach <chris@pin.lu>
List: current-users
Date: 01/08/2004 18:21:14
Hi!
> I encountered an assertion failure while I was packaging
> gnome-terminal-2.4.2. gnome-terminal tests all possible charsets
> using iconv to figure out which ones are available. After trying
> about 30 charsets, iconv_close() dumps core due to assertion failure
> in pthread codes.
>
> A *streamlined* version of gnome-terminal is at the end of this
> message. It iterates over 32 charsets, calling iconv_open() and
> iconv_close() for each.
_citrus_mapper_close is dead locking (frames 9 and 5):
#0 0x4808c90b in kill () from /usr/lib/libc.so.12
#1 0x4806c5b4 in pthread__assertfunc (file=0xbf000000 "\001",
line=-1090519040, function=0x48120014 "", expr=0x4806764e "[\201รย\215")
at /devel/netbsd/src-current/lib/libpthread-ci1/pthread.c:1029
#2 0x480677d6 in pthread__next (self=0xbf000000)
at /devel/netbsd/src-current/lib/libpthread-ci1/pthread_run.c:130
#3 0x48067660 in pthread__block (self=0xbf000000, queuelock=0x4810e024)
at /devel/netbsd/src-current/lib/libpthread-ci1/pthread_run.c:104
#4 0x48066cb6 in pthread_rwlock_wrlock (rwlock=0x4810e020)
at /devel/netbsd/src-current/lib/libpthread-ci1/pthread_rwlock.c:206
#5 0x480c2bc1 in _citrus_mapper_close (cm=0x804a460)
at /devel/netbsd/src-current/lib/libc/citrus/citrus_mapper.c:377
#6 0x4812fafe in _citrus_mapper_parallel_mapper_getops ()
from /usr/lib/i18n/libmapper_serial.so.4.3
#7 0x4812fd0d in _citrus_mapper_parallel_mapper_getops ()
from /usr/lib/i18n/libmapper_serial.so.4.3
#8 0x480c271a in mapper_close (cm=0x804a420)
at /devel/netbsd/src-current/lib/libc/citrus/citrus_mapper.c:194
#9 0x480c2c28 in _citrus_mapper_close (cm=0x804a420)
at /devel/netbsd/src-current/lib/libc/citrus/citrus_mapper.c:386
#10 0x48121b10 in _citrus_iconv_std_iconv_getops ()
from /usr/lib/i18n/libiconv_std.so.4.3
#11 0x48121ca5 in _citrus_iconv_std_iconv_getops ()
---Type <return> to continue, or q <return> to quit---
from /usr/lib/i18n/libiconv_std.so.4.3
#12 0x48122005 in _citrus_iconv_std_iconv_getops ()
from /usr/lib/i18n/libiconv_std.so.4.3
#13 0x480b767a in close_shared (ci=0x804e340)
at /devel/netbsd/src-current/lib/libc/citrus/citrus_iconv.c:140
#14 0x480b72d1 in release_shared (ci=0x804e340)
at /devel/netbsd/src-current/lib/libc/citrus/citrus_iconv.c:311
#15 0x480b74f6 in _citrus_iconv_close (cv=0x804c090)
at /devel/netbsd/src-current/lib/libc/citrus/citrus_iconv.c:377
#16 0x480a3646 in iconv_close () from /usr/lib/libc.so.12
#17 0x080488fa in main () at terminal.c:51
#18 0x08048612 in ___start ()
christian