lock up in 6.2 (procs massively stuck in Giant)
pluknet
pluknet at gmail.com
Tue May 5 03:41:38 UTC 2009
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
db> bt 102754
Tracing pid 34594 tid 102754 td 0xd0d79320
sched_switch(2,2,1,f1a3fb3c,c08a55d9,...) at sched_switch+0x143
MAXCPU(e5895590,62e85356,e8000110,ffffa3d5,ffb988e8,...) at 0xf7
*** error reading from address f8658d94 ***
What can I do else?
db> show allpcpu
Current CPU: 1
cpuid = 0
curthread = 0xcd963960: pid 95678 "httpd"
curpcb = 0xf0593d90
fpcurthread = none
idlethread = 0xc7cfeaf0: pid 17 "idle: cpu0"
APIC ID = 0
currentldt = 0x50
cpuid = 1
curthread = 0xc7dfaaf0: pid 40 "swi0: sio"
curpcb = 0xe82ebd90
fpcurthread = none
idlethread = 0xc7cfe000: pid 16 "idle: cpu1"
APIC ID = 1
currentldt = 0x50
cpuid = 2
curthread = 0xca8aa640: pid 31167 "httpd"
curpcb = 0xf1279d90
fpcurthread = none
idlethread = 0xc7cfde10: pid 15 "idle: cpu2"
APIC ID = 2
currentldt = 0x50
cpuid = 3
curthread = 0xc8b62e10: pid 17221 "httpd"
curpcb = 0xee951d90
fpcurthread = none
idlethread = 0xc7cfdc80: pid 14 "idle: cpu3"
APIC ID = 3
currentldt = 0x50
cpuid = 4
curthread = 0xca1f2c80: pid 39078 "httpd"
curpcb = 0xeec17d90
fpcurthread = none
idlethread = 0xc7cfdaf0: pid 13 "idle: cpu4"
APIC ID = 4
currentldt = 0x50
cpuid = 5
curthread = 0xcd423af0: pid 74960 "httpd"
curpcb = 0xf03f2d90
fpcurthread = none
idlethread = 0xc7cfd960: pid 12 "idle: cpu5"
APIC ID = 5
currentldt = 0x50
cpuid = 6
curthread = 0xcaa89c80: pid 23426 "httpd"
curpcb = 0xef1aed90
fpcurthread = none
idlethread = 0xc7cfd7d0: pid 11 "idle: cpu6"
APIC ID = 6
currentldt = 0x50
cpuid = 7
curthread = 0xd0d79320: pid 34594 "httpd"
curpcb = 0xf1a3fd90
fpcurthread = none
idlethread = 0xc7cfd640: pid 10 "idle: cpu7"
APIC ID = 7
currentldt = 0x50
--
wbr,
pluknet
More information about the freebsd-stable
mailing list