6.2 amd64 hang, continued

Guy Helmer ghelmer at palisadesys.com
Fri Feb 9 21:32:24 UTC 2007

I will not claim to have any kernel locking foo, however it seems odd to 
me that this machine has lots of processes waiting on "allproc" but 
"show alllocks" doesn't show any process having the allproc lock.  Is 
this correct?

db> show alllocks
Process 89731 (perform_ca) thread 0xffffff0128c9fbe0 (100232)
exclusive sx proctree r = 0 (0xffffffff8070dde0) locked @ 
Process 85077 (ph_ thread 0xffffff012e83bbe0 (100182)
exclusive sleep mutex process lock r = 0 (0xffffff01205c1418) locked 
Process 85077 (ph) thread 0xffffff01142e0000 (100133)
exclusive sleep mutex so_rcv r = 0 (0xffffff0126948338) locked @ 
exclusive sleep mutex so_snd r = 0 (0xffffff0126948408) locked @ 
Process 837 (sendmail) thread 0xffffff012efa3260 (100035)
exclusive sx sysctl lock r = 0 (0xffffffff8070e580) locked @ 
db> show sleepchain 843
thread 100055 (pid 843, sendmail) blocked on sx "sysctl lock" XLOCK
thread 100035 (pid 837, sendmail) blocked on lk "allproc" EXCL (count 0)
db> where 89792
Tracing pid 89792 tid 100199 td 0xffffff01251a24c0
sched_switch() at sched_switch+0x13a
mi_switch() at mi_switch+0x1d2
critical_exit() at critical_exit+0xb0
spinlock_exit() at spinlock_exit+0x17
turnstile_unpend() at turnstile_unpend+0x249
vmspace_exit() at vmspace_exit+0x9a
exit1() at exit1+0x38f
sys_exit() at sys_exit+0xe
syscall() at syscall+0x4d1
Xfast_syscall() at Xfast_syscall+0xa8
--- syscall (1, FreeBSD ELF64, sys_exit), rip = 0x48b46c, rsp = 
0x7fffffffeae8, rbp = 0x5fa000 ---

More information about the freebsd-stable mailing list