threads/121343: pthread_cond_wait hanging in libthr
David Xu
davidxu at FreeBSD.org
Wed Mar 5 03:20:04 UTC 2008
The following reply was made to PR threads/121343; it has been noted by GNATS.
From: David Xu <davidxu at FreeBSD.org>
To: josh.carroll at gmail.com
Cc: freebsd-gnats-submit at FreeBSD.org
Subject: Re: threads/121343: pthread_cond_wait hanging in libthr
Date: Wed, 05 Mar 2008 11:14:56 +0800
Josh Carroll wrote:
>> This should not happen, I am not sure if there is memory problem in the
>> program.
>>
>> Regards,
>> David Xu
>>
>
> Here is what I see when gdb first starts, libthr/error emphasized by
> inserting blank lines around those parts of the gdb output:
>
> Attaching to program: /usr/local/bin/ushare, process 68900
> Reading symbols from /usr/local/lib/libupnp.so.3...done.
> Loaded symbols for /usr/local/lib/libupnp.so.3
> Reading symbols from /usr/local/lib/libthreadutil.so.4...done.
> Loaded symbols for /usr/local/lib/libthreadutil.so.4
> Reading symbols from /usr/local/lib/libixml.so.2...done.
> Loaded symbols for /usr/local/lib/libixml.so.2
> Reading symbols from /lib/libc.so.7...done.
> Loaded symbols for /lib/libc.so.7
>
> Reading symbols from /lib/libthr.so.3...done.
> [New Thread 0x40e01290 (LWP 100363)]
> Error while reading shared library symbols:
> Cannot get thread info: invalid key
>
> Reading symbols from /usr/lib/liblwres.so.30...done.
> Loaded symbols for /usr/lib/liblwres.so.30
> Reading symbols from /libexec/ld-elf.so.1...done.
> Loaded symbols for /libexec/ld-elf.so.1
> 0x00000000409d08da in _umtx_op () from /lib/libc.so.7
>
> Perhaps I need to rebuild libthr?
>
> Josh
>
I don't know what really happened, but if your program is using
threads, it is better to link it with thread library directly.
Can you dump ldd result ?
ldd /usr/local/bin/ushare
I have ushare up and running:
apple# ps xaHl | grep ushare
0 5235 1 0 8 0 5560 1768 nanslp Ss ?? 0:00.01
/usr/local/bin/ushare --daemon
0 5235 1 0 60 0 5560 1768 ucond Ss ?? 0:00.00
/usr/local/bin/ushare --daemon
0 5235 1 0 47 0 5560 1768 ucond Ss ?? 0:00.00
/usr/local/bin/ushare --daemon
0 5235 1 0 47 0 5560 1768 ucond Ss ?? 0:00.00
/usr/local/bin/ushare --daemon
0 5235 1 0 61 0 5560 1768 select Ss ?? 0:00.00
/usr/local/bin/ushare --daemon
0 5235 1 0 48 0 5560 1768 ucond Ss ?? 0:00.00
/usr/local/bin/ushare --daemon
0 5235 1 0 55 0 5560 1768 ucond Ss ?? 0:00.00
/usr/local/bin/ushare --daemon
apple# sockstat -4l
USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN
ADDRESS
root ushare 5235 4 tcp4 *:49152 *:*
root ushare 5235 5 udp4 127.0.0.1:62809 *:*
root ushare 5235 6 udp4 *:* *:*
root ushare 5235 7 udp4 *:1900 *:*
...
Regards,
David Xu
More information about the freebsd-threads
mailing list