Skip site navigation (1)Skip section navigation (2)
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>