Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 May 2005 11:38:35 GMT
From:      Jens Nilsson <jnilsson@ludd.luth.se>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   threads/81258: Thread specific data is sometimes assigned to multiple keys and/or threads
Message-ID:  <200505191138.j4JBcZCM040531@www.freebsd.org>
Resent-Message-ID: <200505191140.j4JBe80s003099@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         81258
>Category:       threads
>Synopsis:       Thread specific data is sometimes assigned to multiple keys and/or threads
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-threads
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu May 19 11:40:05 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Jens Nilsson
>Release:        FreeBSD 5.4-RELEASE i386
>Organization:
>Environment:
System: FreeBSD jalle.isg.local 5.4-RELEASE FreeBSD 5.4-RELEASE #0: Wed May 11 09:32:42 CE
ST 2005 root@jalle.isg.local:/usr/src/sys/i386/compile/SMP i386

I've seen the same problem in 5.3 too, but not in 4.10.

>Description:
Thread specific data is sometimes assinged to multiple keys
and/or threads. In the attached test program two threads getting
the same tsd for the same key seems to be the most usual.

>How-To-Repeat:
Run the attached test program a couple of times. One of the
threads will wait for input, the bug is most likely to show up if
enter is pressed in about half a second after the thread asked
for data.

I ran into the bug some time ago while developing a bit more
complex application that involved a couple of threads all of them
with TSD and some doing RPC-calls. In that application I had the
same problem with any of the thread libs libpthread, libthr, and
libc_r. This test program only seems to be able to repeat the
problem with libpthread.

uuencoded tared test program follows:
begin 644 pthread_tsd_bug.tar.gz
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
8MP8G>JL3NM"%+G2A.T'N?PM`VHL`>```
`
end




>Fix:
None known at the moment.      
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200505191138.j4JBcZCM040531>