Infinite loop bug in libc_r on 4.x with condition variables a nd signals

Julian Elischer julian at elischer.org
Thu Oct 28 15:49:30 PDT 2004


re, how about it?


David Xu wrote:

> Here is the cvs log:
>
> Revision  Changes    Path
>   1.58      +1 -0      src/lib/libpthread/thread/thr_create.c
>   1.14      +1 -1      src/lib/libpthread/thread/thr_find_thread.c
>   1.115     +27 -10    src/lib/libpthread/thread/thr_kern.c
>   1.119     +15 -11    src/lib/libpthread/thread/thr_private.h
>   1.81      +1 -2      src/lib/libpthread/thread/thr_sig.c
>
> Julian Elischer wrote:
>
>> David, do you have revision numbers of what needs to be MFC'd?
>>
>>
>> David Xu wrote:
>>
>>
>>> Daniel Eischen wrote:
>>>
>>>
>>>>> FWIW, we are having (I think) the same problem on 5.3 with 
>>>>> libpthread. The
>>>>>
>>>>> panic there is in the mutex code about an assertion failing 
>>>>> because a thread
>>>>> is on a syncq when it is not supposed to be.
>>>>>  
>>>>
>>>>
>>>>
>>>> David and I recently fixed some races in pthread_join() and
>>>> pthread_exit() in -current libpthread.  Don't know if those
>>>> were responsible...
>>>>
>>>>
>>>>
>>>
>>> That fix should be MFCed ASAP.
>>>
>>>
>>>> Here's a test program that shows correct behavior with both
>>>> libc_r and libpthread in -current.
>>>>



More information about the freebsd-threads mailing list