[Bug 226578] panic: _mtx_lock_sleep: recursed on non-recursive mutex CAM device lock @ /usr/home/trasz/svn-ssh/head/sys/cam/scsi/scsi_da.c:2042
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Tue Mar 13 16:55:20 UTC 2018
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=226578
Bug ID: 226578
Summary: panic: _mtx_lock_sleep: recursed on non-recursive
mutex CAM device lock @
/usr/home/trasz/svn-ssh/head/sys/cam/scsi/scsi_da.c:20
42
Product: Base System
Version: CURRENT
Hardware: Any
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: kern
Assignee: freebsd-bugs at FreeBSD.org
Reporter: trasz at FreeBSD.org
The current -CURRENT panics like this:
Unread portion of the kernel message buffer:
WARNING: 127.0.0.1 (iqn.2012-06.com.example:target0): connection error;
reconnecting
panic: _mtx_lock_sleep: recursed on non-recursive mutex CAM device lock @
/usr/home/trasz/svn-ssh/head/sys/cam/scsi/scsi_da.c:2042
cpuid = 3
time = 1520959743
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe00265b85e0
vpanic() at vpanic+0x18d/frame 0xfffffe00265b8640
vpanic() at vpanic/frame 0xfffffe00265b86c0
__mtx_lock_sleep() at __mtx_lock_sleep+0x420/frame 0xfffffe00265b8750
__mtx_lock_flags() at __mtx_lock_flags+0xf9/frame 0xfffffe00265b87a0
daasync() at daasync+0x117/frame 0xfffffe00265b87f0
xpt_async_process_dev() at xpt_async_process_dev+0x162/frame 0xfffffe00265b8840
xptdevicetraverse() at xptdevicetraverse+0xa4/frame 0xfffffe00265b8890
xpttargettraverse() at xpttargettraverse+0x6b/frame 0xfffffe00265b88d0
xpt_async_process() at xpt_async_process+0x114/frame 0xfffffe00265b89e0
xpt_done_process() at xpt_done_process+0x390/frame 0xfffffe00265b8a20
xpt_done_td() at xpt_done_td+0xf6/frame 0xfffffe00265b8a70
fork_exit() at fork_exit+0x84/frame 0xfffffe00265b8ab0
fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe00265b8ab0
--- trap 0, rip = 0, rsp = 0, rbp = 0 ---
KDB: enter: panic
__curthread () at ./machine/pcpu.h:230
230 __asm("movq %%gs:%1,%0" : "=r" (td)
(kgdb) #0 __curthread () at ./machine/pcpu.h:230
#1 doadump (textdump=0)
at /usr/home/trasz/svn-ssh/head/sys/kern/kern_shutdown.c:347
#2 0xffffffff8040acfb in db_dump (dummy=<optimized out>,
dummy2=<unavailable>, dummy3=<unavailable>, dummy4=<unavailable>)
at /usr/home/trasz/svn-ssh/head/sys/ddb/db_command.c:574
#3 0xffffffff8040aac9 in db_command (last_cmdp=<optimized out>,
cmd_table=<optimized out>, dopager=<optimized out>)
at /usr/home/trasz/svn-ssh/head/sys/ddb/db_command.c:481
#4 0xffffffff8040a844 in db_command_loop ()
at /usr/home/trasz/svn-ssh/head/sys/ddb/db_command.c:534
#5 0xffffffff8040da6f in db_trap (type=<optimized out>, code=<optimized out>)
at /usr/home/trasz/svn-ssh/head/sys/ddb/db_main.c:250
#6 0xffffffff80b192d3 in kdb_trap (type=3, code=-61456, tf=<optimized out>)
at /usr/home/trasz/svn-ssh/head/sys/kern/subr_kdb.c:697
#7 0xffffffff80f8b868 in trap (frame=0xfffffe00265b8510)
at /usr/home/trasz/svn-ssh/head/sys/amd64/amd64/trap.c:547
#8 <signal handler called>
#9 kdb_enter (why=0xffffffff811fcef3 "panic", msg=<optimized out>)
at /usr/home/trasz/svn-ssh/head/sys/kern/subr_kdb.c:479
#10 0xffffffff80ad409a in vpanic (fmt=<optimized out>, ap=0xfffffe00265b8680)
at /usr/home/trasz/svn-ssh/head/sys/kern/kern_shutdown.c:801
#11 0xffffffff80ad3ef0 in kassert_panic (
fmt=0xffffffff81146b66 "_mtx_lock_sleep: recursed on non-recursive mutex %s
@ %s:%d\n") at /usr/home/trasz/svn-ssh/head/sys/kern/kern_shutdown.c:698
#12 0xffffffff80ab3400 in __mtx_lock_sleep (c=0xfffff800054134e8,
v=18446735277674057728, opts=<optimized out>, file=<optimized out>,
line=32) at /usr/home/trasz/svn-ssh/head/sys/kern/kern_mutex.c:509
#13 0xffffffff80ab2f49 in __mtx_lock_flags (c=0xfffff800054134e8,
opts=<optimized out>, file=<optimized out>, line=<optimized out>)
at /usr/home/trasz/svn-ssh/head/sys/kern/kern_mutex.c:255
#14 0xffffffff80366cf7 in daasync (callback_arg=0xfffff80005c76200,
code=16384, path=<optimized out>, arg=0xfffff800037f2800)
at /usr/home/trasz/svn-ssh/head/sys/cam/scsi/scsi_da.c:2042
#15 0xffffffff80342462 in xpt_async_bcast (async_head=<optimized out>,
async_code=<optimized out>, path=<optimized out>,
async_arg=0xfffff800037f2800)
at /usr/home/trasz/svn-ssh/head/sys/cam/cam_xpt.c:4408
#16 xpt_async_process_dev (device=<optimized out>, arg=<optimized out>)
at /usr/home/trasz/svn-ssh/head/sys/cam/cam_xpt.c:4315
#17 0xffffffff80341304 in xptdevicetraverse (target=0xfffff80005961300,
start_device=<optimized out>, tr_func=0xfffff80005a89000,
arg=<optimized out>)
at /usr/home/trasz/svn-ssh/head/sys/cam/cam_xpt.c:2339
#18 0xffffffff8034108b in xpttargettraverse (bus=0xfffff80005a05300,
start_target=<optimized out>,
tr_func=0xffffffff803422a0 <xpt_async_process_tgt>,
arg=0xfffff80005a89000)
at /usr/home/trasz/svn-ssh/head/sys/cam/cam_xpt.c:2300
#19 0xffffffff8033dd44 in xpt_async_process (periph=<optimized out>,
ccb=0xfffff80005a89000)
at /usr/home/trasz/svn-ssh/head/sys/cam/cam_xpt.c:4364
#20 0xffffffff8033e700 in xpt_done_process (ccb_h=0xfffff80005a89000)
at /usr/home/trasz/svn-ssh/head/sys/cam/cam_xpt.c:5495
#21 0xffffffff80340786 in xpt_done_td (arg=0xffffffff81995000 <cam_doneqs>)
at /usr/home/trasz/svn-ssh/head/sys/cam/cam_xpt.c:5522
#22 0xffffffff80a943d4 in fork_exit (
callout=0xffffffff80340690 <xpt_done_td>,
arg=0xffffffff81995000 <cam_doneqs>, frame=0xfffffe00265b8ac0)
at /usr/home/trasz/svn-ssh/head/sys/kern/kern_fork.c:1039
#23 <signal handler called>
(kgdb)
The way to reproduce it is to set up an iSCSI session, disconnect it in a loop
("while :; do ctladm isterminate -a; sleep 1; done"), while having "while :; do
diskinfo -t /dev/da0; done" running in another session.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list