panic: 'Sleeping on "t4slptst" with the following non-sleepable locks held' when using cxgbe+lagg

Garrett Cooper yaneurabeya at gmail.com
Fri Mar 22 19:43:31 UTC 2013


    Unfortunately I don't have swap setup on this machine (not sure
why... I'll remedy that soon). Basically I was tcpdump'ing the
interface that was doing intense NFS I/O at the same time, and I ran
into this crash with cxgbe+lagg. Sources are a bit stale (~1.5 months
old).
Thanks,
-Garrett

PS Please CC me as I don't receive emails from -net at .

db> x/s version
version:        FreeBSD 10.0-CURRENT #2 r+0db561c: Wed Feb  6 22:21:51
PST 2013\012
root at wf158.west.isilon.com:/usr/obj/usr/src/sys/ISI-GENERIC\012
db> show msgbuf
msgbufp = 0xfffffe01bfffffb8
magic = 63062, size = 98232, r= 290850, w = 293687, ptr =
0xfffffe01bffe8000, cksum= 8071666
Sleeping on "t4slptst" with the following non-sleepable locks held:
exclusive rw if_lagg rwlock (if_lagg rwlock) r = 0
(0xfffffe01a66b3608) locked @
/usr/src/sys/modules/if_lagg/../../net/if_lagg.c:1065
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xffffff8498e26490
kdb_backtrace() at kdb_backtrace+0x39/frame 0xffffff8498e26540
witness_warn() at witness_warn+0x4a8/frame 0xffffff8498e26600
_sleep() at _sleep+0x6c/frame 0xffffff8498e26690
begin_synchronized_op() at begin_synchronized_op+0x38/frame 0xffffff8498e266f0
cxgbe_ioctl() at cxgbe_ioctl+0x77/frame 0xffffff8498e26740
if_setflag() at if_setflag+0xe1/frame 0xffffff8498e267b0
ifpromisc() at ifpromisc+0x2c/frame 0xffffff8498e267e0
lagg_setflags() at lagg_setflags+0x65/frame 0xffffff8498e26820
lagg_ioctl() at lagg_ioctl+0x3d0/frame 0xffffff8498e268c0
if_setflag() at if_setflag+0xe1/frame 0xffffff8498e26930
ifpromisc() at ifpromisc+0x2c/frame 0xffffff8498e26960
bpfioctl() at bpfioctl+0x84c/frame 0xffffff8498e269e0
devfs_ioctl_f() at devfs_ioctl_f+0xf0/frame 0xffffff8498e26a40
kern_ioctl() at kern_ioctl+0x1ce/frame 0xffffff8498e26a90
sys_ioctl() at sys_ioctl+0x11f/frame 0xffffff8498e26ae0
amd64_syscall() at amd64_syscall+0x265/frame 0xffffff8498e26bf0
Xfast_syscall() at Xfast_syscall+0xfb/frame 0xffffff8498e26bf0
--- syscall (54, FreeBSD ELF64, sys_ioctl), rip = 0x800fffeca, rsp =
0x7fffffffd3a8, rbp = 0x7fffffffd980 ---
Sleeping thread (tid 100775, pid 64749) owns a non-sleepable lock
KDB: stack backtrace of thread 100775:
sched_switch() at sched_switch+0x481/frame 0xffffff8498e26550
mi_switch() at mi_switch+0x179/frame 0xffffff8498e26590
sleepq_switch() at sleepq_switch+0x18a/frame 0xffffff8498e265d0
sleepq_timedwait() at sleepq_timedwait+0x43/frame 0xffffff8498e26600
_sleep() at _sleep+0x32c/frame 0xffffff8498e26690
begin_synchronized_op() at begin_synchronized_op+0x38/frame 0xffffff8498e266f0
cxgbe_ioctl() at cxgbe_ioctl+0x77/frame 0xffffff8498e26740
if_setflag() at if_setflag+0xe1/frame 0xffffff8498e267b0
ifpromisc() at ifpromisc+0x2c/frame 0xffffff8498e267e0
lagg_setflags() at lagg_setflags+0x65/frame 0xffffff8498e26820
lagg_ioctl() at lagg_ioctl+0x3d0/frame 0xffffff8498e268c0
if_setflag() at if_setflag+0xe1/frame 0xffffff8498e26930
ifpromisc() at ifpromisc+0x2c/frame 0xffffff8498e26960
bpfioctl() at bpfioctl+0x84c/frame 0xffffff8498e269e0
devfs_ioctl_f() at devfs_ioctl_f+0xf0/frame 0xffffff8498e26a40
kern_ioctl() at kern_ioctl+0x1ce/frame 0xffffff8498e26a90
sys_ioctl() at sys_ioctl+0x11f/frame 0xffffff8498e26ae0
amd64_syscall() at amd64_syscall+0x265/frame 0xffffff8498e26bf0
Xfast_syscall() at Xfast_syscall+0xfb/frame 0xffffff8498e26bf0
--- syscall (54, FreeBSD ELF64, sys_ioctl), rip = 0x800fffeca, rsp =
0x7fffffffd3a8, rbp = 0x7fffffffd980 ---
panic: sleeping thread
cpuid = 2


More information about the freebsd-net mailing list