lock up in 6.2 (procs massively stuck in Giant)

pluknet pluknet at gmail.com
Tue May 12 06:12:29 UTC 2009


2009/5/11 John Baldwin <jhb at freebsd.org>:
> On Monday 04 May 2009 11:41:35 pm pluknet wrote:
>> 2009/5/1 John Baldwin <jhb at freebsd.org>:
>> > On Thursday 30 April 2009 2:36:34 am pluknet wrote:
>> >> Hi folks.
>> >>
>> >> Today I got a new locking issue.
>> >> This is the first time I got it, and it's merely reproduced.
>> >>
>> >> The box has lost both remote connection and local access.
>> >> No SIGINFO output on the local console even.
>> >> Jumping in ddb> shows the next:
>> >>
>> >> 1) first, this is a 8-way web server. No processes on runqueue except one
>> > httpd
>> >> (i.e. ps shows R in its state):
>> >
>> > You need to find who owns Giant and what that thread is doing.  You can
> try
>> > using 'show lock Giant' as well as 'show lockchain 11568'.
>> >
>>
>> Hi, John!
>>
>> Just reproduced now on another box.
>> Hmm.. stack of the process owing Giant looks garbled.
>>
>> db> show lock Giant
>>  class: sleep mutex
>>  name: Giant
>>  flags: {DEF, RECURSE}
>>  state: {OWNED, CONTESTED}
>>  owner: 0xd0d79320 (tid 102754, pid 34594, "httpd")
>>
>> db> show lockchain 34594
>> thread 102754 (pid 34594, httpd) running on CPU 7
>> db> show lockchain 102754
>> thread 102754 (pid 34594, httpd) running on CPU 7
>
> The thread is running, so we don't know what it's top of stack is and you
> can't a good stack trace in that case.
>
> None of your CPUs are idle, so I don't think you have any sort of deadlock.
> You might have a livelock.
>
> --
> John Baldwin
>

I'm curious if it could be caused by heavy load.
I don't know what it might be definitely,
as it's non-trivial for me to determine the reason
of a livelock, and to debug it.

So I think it may have sense to try 7.x, as there
has been done much locking work.


Thank you.

-- 
wbr,
pluknet


More information about the freebsd-stable mailing list