spin lock sched lock held for > 5 seconds

John Baldwin jhb at FreeBSD.org
Sat Aug 2 21:31:06 PDT 2003


On 01-Aug-2003 Lars Eggert wrote:
> Hi,
> 
> got the following panic overnight running with all debugging options on
> (WITNESS, MUTEX_DEBUG, DIAGNOSTIC, INVARIANTS; WITNESS_SKIPSPIN off):
> 
> panic: spin lock sched lock held by 0xc658e130 for > 5 seconds
> cpuid = 0; lapic.id = 00000000
> Stack backtrace:
> backtrace(c031d030,0,c031c4c5,df0dab8c,100) at backtrace+0x17
> panic(c031c4c5,c031c62e,c658e130,c036f160,18b) at panic+0x13d
> _mtx_lock_spin(c036f160,2,c031a229,18b,c21b2ab0) at _mtx_lock_spin+0x83
> _mtx_lock_spin_flags(c036f160,2,c031a229,18b,df0dac0c) at
> _mtx_lock_spin_flags+0xb9
> statclock(df0dac00,df0dac44,c02d8a9c,0,c2198d00) at statclock+0x39
> rtcintr(0) at rtcintr+0x4f
> Xfastunpend8(df0dacb8,c02d1f05,8,608,c0372e60) at Xfastunpend8+0x1c
> call_fast_unpend(8,608,c0372e60,ffc00034,0) at call_fast_unpend+0xd
> i386_unpend(c036f160,c21b0790,df0dacd0,c01b1ae0,df0dacec) at
> i386_unpend+0x8d
> cpu_unpend(df0dacec,c01a2534,c036f160,1,c031c2e2) at cpu_unpend+0x2d
> critical_exit(c036f160,1,c031c2e2,1bc,1) at critical_exit+0x2d
> _mtx_unlock_spin_flags(c036f160,0,c031ac9f,7c,c21b2ab0) at
> _mtx_unlock_spin_flags+0xbb
> idle_proc(0,df0dad48,c031ab89,312,c21b2ab0) at idle_proc+0xb0
> fork_exit(c0199972,0,df0dad48) at fork_exit+0xc3
> fork_trampoline() at fork_trampoline+0x1a
> --- trap 0x1, eip = 0, esp = 0xdf0dad7c, ebp = 0 ---
> Debugger("panic")
> timeout stopping cpus
> Stopped at      Debugger+0x4f:  xchgl   %ebx,in_Debugger.0
> db>
> 
> The machine is still in ddb, let me know if I can provide additional info.

Try updating to a more recent current.  I recently added some extra
debugging here that will attempt to better show who owns the lock and
where it was acquired.

-- 

John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/


More information about the freebsd-current mailing list