RE: spin lock sched lock held by 0xc25a8640 for > 5 seconds

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Thu, 20 Nov 2003 14:31:23 -0500 (EST)
On 20-Nov-2003 Kris Kennaway wrote:
> I updated bento last night, and it panicked after a few hours with:
> 
> Fatal trap 12: page fault while in kernel mode
> cpuid = 0; apic id = 01
> fault virtual address   = 0xe5
> fault code              = supervisor read, page not present
> instruction pointer     = 0x8:0xc052e219
> stack pointer           = 0x10:0xe00d2c3c
> frame pointer           = 0x10:0xe00d2c64
> code segment            = base 0x0, limit 0xfffff, type 0x1b
>                         = DPL 0, pres 1, def32 1, gran 1
> processor eflags        = resume, IOPL = 0
> current process         = 40 (irq29: sym0)
> spin lock sched lock held by 0xc25a8640 for > 5 seconds
> panic: spin lock held too long
> cpuid = 1;
> Debugger("panic")
> 
> Unfortunately it hangs there instead of breaking to DDB.
> 
> The instruction pointer is in:
> 
> ...
> c052e000 t propagate_priority
> c052e360 T init_turnstiles
> ...
> 
> I'm currently rebuilding without WITNESS_SKIPSPIN in case this catches it.

Argh, I didn't catch that you trap 12'd before the sched_lock hang.
Do you have INVARIANTS on?  Also, do you possibly have a kernel.debug
around that you could try to figure out what line that IP corresponds to?

-- 

John Baldwin <jhb_at_FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/
Received on Thu Nov 20 2003 - 10:31:28 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:30 UTC