Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Mar 2018 16:55:19 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [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
Message-ID:  <bug-226578-8@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D226578

            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@FreeBSD.org
          Reporter: trasz@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 =3D 3
time =3D 1520959743
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe00265b8=
5e0
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 0xfffffe00265b=
8840
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 =3D 0, rsp =3D 0, rbp =3D 0 ---
KDB: enter: panic

__curthread () at ./machine/pcpu.h:230
230             __asm("movq %%gs:%1,%0" : "=3Dr" (td)
(kgdb) #0  __curthread () at ./machine/pcpu.h:230
#1  doadump (textdump=3D0)
    at /usr/home/trasz/svn-ssh/head/sys/kern/kern_shutdown.c:347
#2  0xffffffff8040acfb in db_dump (dummy=3D<optimized out>,=20
    dummy2=3D<unavailable>, dummy3=3D<unavailable>, dummy4=3D<unavailable>)
    at /usr/home/trasz/svn-ssh/head/sys/ddb/db_command.c:574
#3  0xffffffff8040aac9 in db_command (last_cmdp=3D<optimized out>,=20
    cmd_table=3D<optimized out>, dopager=3D<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=3D<optimized out>, code=3D<optimize=
d out>)
    at /usr/home/trasz/svn-ssh/head/sys/ddb/db_main.c:250
#6  0xffffffff80b192d3 in kdb_trap (type=3D3, code=3D-61456, tf=3D<optimize=
d out>)
    at /usr/home/trasz/svn-ssh/head/sys/kern/subr_kdb.c:697
#7  0xffffffff80f8b868 in trap (frame=3D0xfffffe00265b8510)
    at /usr/home/trasz/svn-ssh/head/sys/amd64/amd64/trap.c:547
#8  <signal handler called>
#9  kdb_enter (why=3D0xffffffff811fcef3 "panic", msg=3D<optimized out>)
    at /usr/home/trasz/svn-ssh/head/sys/kern/subr_kdb.c:479
#10 0xffffffff80ad409a in vpanic (fmt=3D<optimized out>, ap=3D0xfffffe00265=
b8680)
    at /usr/home/trasz/svn-ssh/head/sys/kern/kern_shutdown.c:801
#11 0xffffffff80ad3ef0 in kassert_panic (
    fmt=3D0xffffffff81146b66 "_mtx_lock_sleep: recursed on non-recursive mu=
tex %s
@ %s:%d\n") at /usr/home/trasz/svn-ssh/head/sys/kern/kern_shutdown.c:698
#12 0xffffffff80ab3400 in __mtx_lock_sleep (c=3D0xfffff800054134e8,=20
    v=3D18446735277674057728, opts=3D<optimized out>, file=3D<optimized out=
>,=20
    line=3D32) at /usr/home/trasz/svn-ssh/head/sys/kern/kern_mutex.c:509
#13 0xffffffff80ab2f49 in __mtx_lock_flags (c=3D0xfffff800054134e8,=20
    opts=3D<optimized out>, file=3D<optimized out>, line=3D<optimized out>)
    at /usr/home/trasz/svn-ssh/head/sys/kern/kern_mutex.c:255
#14 0xffffffff80366cf7 in daasync (callback_arg=3D0xfffff80005c76200,=20
    code=3D16384, path=3D<optimized out>, arg=3D0xfffff800037f2800)
    at /usr/home/trasz/svn-ssh/head/sys/cam/scsi/scsi_da.c:2042
#15 0xffffffff80342462 in xpt_async_bcast (async_head=3D<optimized out>,=20
    async_code=3D<optimized out>, path=3D<optimized out>,=20
    async_arg=3D0xfffff800037f2800)
    at /usr/home/trasz/svn-ssh/head/sys/cam/cam_xpt.c:4408
#16 xpt_async_process_dev (device=3D<optimized out>, arg=3D<optimized out>)
    at /usr/home/trasz/svn-ssh/head/sys/cam/cam_xpt.c:4315
#17 0xffffffff80341304 in xptdevicetraverse (target=3D0xfffff80005961300,=20
    start_device=3D<optimized out>, tr_func=3D0xfffff80005a89000,=20
    arg=3D<optimized out>)
    at /usr/home/trasz/svn-ssh/head/sys/cam/cam_xpt.c:2339
#18 0xffffffff8034108b in xpttargettraverse (bus=3D0xfffff80005a05300,=20
    start_target=3D<optimized out>,=20
    tr_func=3D0xffffffff803422a0 <xpt_async_process_tgt>,=20
    arg=3D0xfffff80005a89000)
    at /usr/home/trasz/svn-ssh/head/sys/cam/cam_xpt.c:2300
#19 0xffffffff8033dd44 in xpt_async_process (periph=3D<optimized out>,=20
    ccb=3D0xfffff80005a89000)
    at /usr/home/trasz/svn-ssh/head/sys/cam/cam_xpt.c:4364
#20 0xffffffff8033e700 in xpt_done_process (ccb_h=3D0xfffff80005a89000)
    at /usr/home/trasz/svn-ssh/head/sys/cam/cam_xpt.c:5495
#21 0xffffffff80340786 in xpt_done_td (arg=3D0xffffffff81995000 <cam_doneqs=
>)
    at /usr/home/trasz/svn-ssh/head/sys/cam/cam_xpt.c:5522
#22 0xffffffff80a943d4 in fork_exit (
    callout=3D0xffffffff80340690 <xpt_done_td>,=20
    arg=3D0xffffffff81995000 <cam_doneqs>, frame=3D0xfffffe00265b8ac0)
    at /usr/home/trasz/svn-ssh/head/sys/kern/kern_fork.c:1039
#23 <signal handler called>
(kgdb)=20

The way to reproduce it is to set up an iSCSI session, disconnect it in a l=
oop
("while :; do ctladm isterminate -a; sleep 1; done"), while having "while :=
; do
diskinfo -t /dev/da0; done" running in another session.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-226578-8>