panic: _mtx_lock_sleep: recursed on non-recursive mutex sbp @ /usr/src-8-mq/src/sys/cam/cam_periph.h:182

Artem Belevich fbsdlist at
Tue Dec 16 23:56:55 UTC 2008

Freshly CVSupped -current/amd64 crashes on boot due to a locking issue
in sys/cam.

The crash may be related to this commit:
Author:	trasz
Date:	Tue Dec 16 17:01:52 2008 UTC (6 hours, 37 minutes ago)
Log Message:	Fix locking in periph drivers - don't try to unlock periph
that was already deallocated.

Reviewed by:	scottl
Approved by:	rwatson (mentor)
Sponsored by:	FreeBSD Foundation


panic: _mtx_lock_sleep: recursed on non-recursive mutex sbp @

cpuid = 0
KDB: enter: panic
[thread pid 12 tid 100026 ]
Stopped at      kdb_enter+0x3d: movq    $0,0x487294(%rip)
db> trace
Tracing pid 12 tid 100026 td 0xffffff0004543720
kdb_enter() at kdb_enter+0x3d
panic() at panic+0x176
_mtx_lock_flags() at _mtx_lock_flags
_mtx_lock_flags() at _mtx_lock_flags+0xc3
xpt_remove_periph() at xpt_remove_periph+0x25
camperiphfree() at camperiphfree+0xbf
cam_periph_release() at cam_periph_release+0x43
probedone() at probedone+0x459
camisr_runqueue() at camisr_runqueue+0x1b4
camisr() at camisr+0xc0
intr_event_execute_handlers() at intr_event_execute_handlers+0x68
ithread_loop() at ithread_loop+0xae
fork_exit() at fork_exit+0x12a
fork_trampoline() at fork_trampoline+0xe
--- trap 0, rip = 0, rsp = 0xfffffff8000a2d40, rbp = 0 ---
db> show locks
exclusive sleep mutex sbp (sbp) r = 0 (0xffffff00045a1ec8) locked @


More information about the freebsd-current mailing list