Bug 240917 - panic: (scsi_da.c:2128, 12.1-BETA1) _mtx_lock_sleep: recursed on non-recursive mutex CAM device lock
Summary: panic: (scsi_da.c:2128, 12.1-BETA1) _mtx_lock_sleep: recursed on non-recursiv...
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 12.1-RELEASE
Hardware: Any Any
: --- Affects Some People
Assignee: freebsd-scsi mailing list
URL:
Keywords: panic
Depends on:
Blocks:
 
Reported: 2019-09-29 10:33 UTC by Harald Schmalzbauer
Modified: 2019-10-08 14:51 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Harald Schmalzbauer 2019-09-29 10:33:40 UTC
Hello,

I'm getting a very similar panic on 12.1-BETA1 like this one:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=226578

panic: _mtx_lock_sleep: recursed on non-recursive mutex CAM device lock @ /usr/local/share/deploy-tools/RELENG_12_1/src/sys/cam/scsi/scs
i_da.c:2128                                   
                                                  
cpuid = 0                               
time = 1569751253                                  
KDB: stack backtrace:                    
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe0041383610                                          
vpanic() at vpanic+0x19d/frame 0xfffffe0041383660
panic() at panic+0x43/frame 0xfffffe00413836c0
__mtx_lock_sleep() at __mtx_lock_sleep+0x4e1/frame 0xfffffe0041383750
__mtx_lock_flags() at __mtx_lock_flags+0xee/frame 0xfffffe00413837a0
daasync() at daasync+0x187/frame 0xfffffe00413837f0
xpt_async_process_dev() at xpt_async_process_dev+0x152/frame 0xfffffe0041383840    
xptdevicetraverse() at xptdevicetraverse+0x13f/frame 0xfffffe0041383890
xpttargettraverse() at xpttargettraverse+0x6b/frame 0xfffffe00413838d0           
xpt_async_process() at xpt_async_process+0x2d4/frame 0xfffffe00413839e0
xpt_done_process() at xpt_done_process+0x388/frame 0xfffffe0041383a20             
xpt_done_td() at xpt_done_td+0xf6/frame 0xfffffe0041383a70
fork_exit() at fork_exit+0x84/frame 0xfffffe0041383ab0
fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe0041383ab0       
--- trap 0, rip = 0, rsp = 0, rbp = 0 ---                                   
KDB: enter: panic


#0  doadump (textdump=0) at RELENG_12_1/src/sys/amd64/include/pcpu.h:234
:
:
:
#9  0xffffffff805cf53a in vpanic (fmt=<value optimized out>, ap=<value optimized out>)                                                 
    at /usr/local/share/deploy-tools/RELENG_12_1/src/sys/kern/kern_shutdown.c:869                                                      
#10 0xffffffff805cf2e3 in panic (fmt=<value optimized out>)
    at /usr/local/share/deploy-tools/RELENG_12_1/src/sys/kern/kern_shutdown.c:807                                                      
#11 0xffffffff805b52d1 in __mtx_lock_sleep (c=<value optimized out>, v=<value optimized out>, opts=<value optimized out>,              
    file=<value optimized out>, line=<value optimized out>) at /usr/local/share/deploy-tools/RELENG_12_1/src/sys/kern/kern_mutex.c:523 
#12 0xffffffff805b4d7e in __mtx_lock_flags (c=0xfffff8000296ece8, opts=0,                                                              
    file=0xffffffff80a68048 "/usr/local/share/deploy-tools/RELENG_12_1/src/sys/cam/scsi/scsi_da.c", line=2128)                         
    at /usr/local/share/deploy-tools/RELENG_12_1/src/sys/kern/kern_mutex.c:255                                                         
#13 0xffffffff8033b947 in daasync (callback_arg=0xfffff80003af2400, code=16384, path=0xfffff8000276ab80, arg=0xfffff800037ea000)       
    at /usr/local/share/deploy-tools/RELENG_12_1/src/sys/cam/scsi/scsi_da.c:2128                                                       
#14 0xffffffff802e48a2 in xpt_async_process_dev (device=0xfffff8000296e800, arg=<value optimized out>)                                 
    at /usr/local/share/deploy-tools/RELENG_12_1/src/sys/cam/cam_xpt.c:4426                                                            
#15 0xffffffff802e37bf in xptdevicetraverse (target=<value optimized out>, start_device=<value optimized out>,                         
    tr_func=0xfffff80048287000, arg=0xfffff80048287000) at /usr/local/share/deploy-tools/RELENG_12_1/src/sys/cam/cam_xpt.c:2355        
#16 0xffffffff802e34ab in xpttargettraverse (bus=0xfffff8000234ac00, start_target=<value optimized out>,                               
    tr_func=0xffffffff802e46f0 <xpt_async_process_tgt>, arg=0xfffff80048287000)                                                        
    at /usr/local/share/deploy-tools/RELENG_12_1/src/sys/cam/cam_xpt.c:2316                                                            
#17 0xffffffff802e02c4 in xpt_async_process (periph=<value optimized out>, ccb=0xfffff80048287000)                                     
    at /usr/local/share/deploy-tools/RELENG_12_1/src/sys/cam/cam_xpt.c:4382                                                            
#18 0xffffffff802e0a88 in xpt_done_process (ccb_h=0xfffff80048287000)                                                                  
    at /usr/local/share/deploy-tools/RELENG_12_1/src/sys/cam/cam_xpt.c:5516                                                            
#19 0xffffffff802e2ba6 in xpt_done_td (arg=0xffffffff80d45300) at /usr/local/share/deploy-tools/RELENG_12_1/src/sys/cam/cam_xpt.c:5543 
#20 0xffffffff805962e4 in fork_exit (callout=0xffffffff802e2ab0 <xpt_done_td>, arg=0xffffffff80d45300, frame=0xfffffe0041383ac0)       
    at /usr/local/share/deploy-tools/RELENG_12_1/src/sys/kern/kern_fork.c:1065                                                         
---Type <return> to continue, or q <return> to quit---
#21 0xffffffff80912e9e in fork_trampoline () at /usr/local/share/deploy-tools/RELENG_12_1/src/sys/amd64/amd64/exception.S:1077
#22 0x0000000000000000 in ?? ()

This bug report doesn't reference any commit.
https://svnweb.freebsd.org/base?view=revision&revision=331097 seems to be the corresponding commit, and looking at the code, the proposed fix isn't applicable anymore.

panic was cause by "camcontrol rescan 40" (scbus40 is on isp0 / FC).

Thanks for taking care in advacnde.

-Harry