threads/119920: fork broken in libpthread
Daniel Eischen
deischen at freebsd.org
Thu Jan 24 14:38:51 PST 2008
On Thu, 24 Jan 2008, Alfred Perlstein wrote:
> * Daniel Eischen <deischen at freebsd.org> [080124 14:28] wrote:
>> On Thu, 24 Jan 2008, Alfred Perlstein wrote:
>>
>>> * Julian Elischer <julian at elischer.org> [080124 01:17] wrote:
>>>> Gary Stanley wrote:
>>>>> The following reply was made to PR threads/119920; it has been noted by
>>>>> GNATS.
>>>>>
>>>>> From: Gary Stanley <gary at velocity-servers.net>
>>>>> To: bug-followup at FreeBSD.org
>>>>> Cc:
>>>>> Subject: Re: threads/119920: fork broken in libpthread
>>>>> Date: Thu, 24 Jan 2008 03:24:47 -0500
>>>>>
>>>>> I also have this problem, see threads/118715
>>>>>
>>>>> I was able to grab some ktrace info, but most of the time the process
>>>>> is stuck, and ktrace doesn't display any data.
>>>>>
>>>>> _______________________________________________
>>>>> freebsd-threads at freebsd.org mailing list
>>>>> http://lists.freebsd.org/mailman/listinfo/freebsd-threads
>>>>> To unsubscribe, send any mail to
>>>>> "freebsd-threads-unsubscribe at freebsd.org"
>>>>
>>>> dan what IS the fix for this? I assume you must have fixed it in
>>>> -current/7
>>>>
>>>> what was YOUR fix alfred?
>>>
>>> Attached.
>>
>> Which isn't a correct fix, BTW. It is possible that the unlock
>> can try to give the lock to a non-existent thread.
>
> Yes, I understand that problem, but it's not clear to my why/how it can happen.
>
> I guess because another thread could put itself on the "blocked queue"
> for that lock? Is there a way to prevent that or to clear the lock
> afterward?
Well, you don't have to worry about this if you use my
fix. The thread locks are reinitialized and the KCB
and TCB are reset after the fork.
--
DE
More information about the freebsd-threads
mailing list