Date: Sun, 31 May 1998 11:39:35 +1000 (EST) From: John Birrell <jb@cimlogic.com.au> To: hasty@rah.star-gate.com (Amancio Hasty) Cc: current@FreeBSD.ORG Subject: Re: pthreads and thread-specific? Message-ID: <199805310139.LAA13018@cimlogic.com.au> In-Reply-To: <199805310107.SAA18476@rah.star-gate.com> from Amancio Hasty at "May 30, 98 06:07:06 pm"
next in thread | previous in thread | raw e-mail | index | archive | help
Amancio Hasty wrote: > > I am trying to get ACE up and running on -current/elf and it appears > that the ACE's tests are not able to exit properly. Anyone got any > clues or thread-specific tests to verify the behavior of threads? [...] > #1 0x2819afe7 in _thread_kern_set_timeout (timeout=0x0) > at /usr/src/lib/libc_r/uthread/uthread_kern.c:680 > #2 0x28199f25 in pthread_yield () > at /usr/src/lib/libc_r/uthread/uthread_yield.c:48 > #3 0x2819a0ad in _spinlock (lck=0x281d5c04) > at /usr/src/lib/libc_r/uthread/uthread_spinlock.c:65 > #4 0x2819a221 in _thread_cleanupspecific () > at /usr/src/lib/libc_r/uthread/uthread_spec.c:178 You didn't answer my question (from private mail). What is the value in key_table[key].access_lock in this function? Is it valid (i.e. one of the threads below), or is it bogus? I have test applications that use this stuff and those tests pass, so there must either be a race condition, a corruption or another path thought the code that I haven't tested. You need to answer my question before I can answer yours! > #5 0x2819c7de in pthread_exit () > at /usr/src/lib/libc_r/uthread/uthread_exit.c:180 > #6 0x2816de50 in _thread_start () > at /usr/src/lib/libc_r/uthread/uthread_create.c:205 > > > ============= > ACTIVE THREADS > > -------------------- > Thread 0x8050a00 () prio 64 state Running [/usr/src/lib/libc_r/uthread/uthr > ead_cond.c:331] > -------------------- > Thread 0x8050800 () prio 64 state Running [/usr/src/lib/libc_r/uthread/uthr > ead_cond.c:331] > This is the running thread > -------------------- > Thread 0x8050400 () prio 64 state Running [/usr/src/lib/libc_r/uthread/uthr > ead_cond.c:331] > -------------------- > Thread 0x8050200 () prio 64 state Waiting on a condition variable [/usr/src > /lib/libc_r/uthread/uthread_cond.c:163] > This is the initial thread > > > DEAD THREADS > > Thread 0x8050600 prio 64 [/usr/src/lib/libc_r/uthread/uthread_exit.c:176] > > > ============= > FILE DESCRIPTOR TABLE > > fd[ 5] read owner 0x0 count 0 [/usr/src/lib/libc_r/uthread/uthread_fstat.c: > 49] > write owner 0x0 count 0 [/usr/src/lib/libc_r/uthread/uthread_write.c > :55] > ~ > ~ > ~ > ~ > > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-current" in the body of the message > -- John Birrell - jb@cimlogic.com.au; jb@freebsd.org http://www.cimlogic.com.au/ CIMlogic Pty Ltd, GPO Box 117A, Melbourne Vic 3001, Australia +61 418 353 137 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199805310139.LAA13018>