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

From: Artem Belevich <fbsdlist_at_src.cx>
Date: Tue, 16 Dec 2008 15:56:54 -0800
Freshly CVSupped -current/amd64 crashes on boot due to a locking issue
in sys/cam.

The crash may be related to this commit:

http://svn.freebsd.org/viewvc/base?view=revision&revision=186186
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

--Artem

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

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 _at_
/usr/src-8-mq/src/sys/cam/cam_xpt.c:7137

--Artem
Received on Tue Dec 16 2008 - 22:56:55 UTC

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