page fault with the following non-sleepable locks held: exclusive sleep mutex ATA state lock

James R. Van Artsdalen james-freebsd-current at
Sun Jun 20 18:36:53 UTC 2010

FreeBSD 9.0-CURRENT #1 r209275: Fri Jun 18 08:15:15 CDT 2010
    root at CLANK.housenet.jrv:/usr/obj/usr/src/sys/GENERIC amd64

June 17 -CURRENT

This panic was seen under VirtualBox on a Windows host.  The VM has 2
cores (the host is a Core i7).
I this infrequently under a VM.  I have yet to see it on real hardware.
ahcich0: AHCI reset...
ahcich0: SATA connect time=0ms status=00000123
ahcich0: ready wait time=0ms
ahcich0: AHCI reset done: device found
(aprobe0:ahcich0:0:0:0): SIGNATURE: 0000
ugen0.1: <Apple> at usbus0
uhub0: <Apple OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0
ugen1.1: <Intel> at usbus1
uhub1: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus1
ahcich1: AHCI reset...
Kernel page fault with the following non-sleepable locks held:
exclusive sleep mutex ATA state lock (ATA state lock) r = 0
(0xffffff0002a922c0) locked @ /usr/src/sys/dev/ata/ata-all.c:503
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
_witness_debugger() at _witness_debugger+0x2e
witness_warn() at witness_warn+0x2d2
trap() at trap+0x2ee
calltrap() at calltrap+0x8
--- trap 0xc, rip = 0xffffffff805d8ef1, rsp = 0xffffff80000f6b30, rbp =
0xffffff80000f6b70 ---
device_get_softc() at device_get_softc+0x1
ata_interrupt() at ata_interrupt+0x9d
intr_event_execute_handlers() at intr_event_execute_handlers+0x66
ithread_loop() at ithread_loop+0xb2
fork_exit() at fork_exit+0x12a
fork_trampoline() at fork_trampoline+0xe
--- trap 0, rip = 0, rsp = 0xffffff80000f6d30, rbp = 0 ---

Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address   = 0x80
fault code              = supervisor read data, page not present
instruction pointer     = 0x20:0xffffffff805d8ef1
stack pointer           = 0x28:0xffffff80000f6b30
frame pointer           = 0x28:0xffffff80000f6b70
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 12 (irq15: ata1)
[ thread pid 12 tid 100025 ]
Stopped at      device_get_softc+0x1:   movq    0x80(%rdi),%rax

More information about the freebsd-current mailing list