[Bug 219846] [panic] mutex nm_kn_lock not owned, netmap LOR

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Wed Jun 7 16:24:10 UTC 2017


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219846

            Bug ID: 219846
           Summary: [panic] mutex nm_kn_lock not owned, netmap LOR
           Product: Base System
           Version: 11.0-STABLE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: kern
          Assignee: freebsd-bugs at FreeBSD.org
          Reporter: bugzilla.freebsd at omnilan.de

The following panic happens on stable/11, r319654, after creating a vale(4)
port as byhve(8)-virtio backend, but only if kernel was compiled with WITNESS
and INVARIANTS options:

panic: mutex nm_kn_lock not owned at
/usr/local/share/deploy-tools/RELENG_11/src/sys/kern/kern_event.c:2169
cpuid = 6
KDB: stack backtrace:
#0 0xffffffff805bf327 at kdb_backtrace+0x67
#1 0xffffffff8057f266 at vpanic+0x186
#2 0xffffffff8057f2e3 at panic+0x43
#3 0xffffffff805603d4 at __mtx_assert+0xb4
#4 0xffffffff805395f0 at knlist_add+0x20
#5 0xffffffff80418d80 at netmap_kqfilter+0x110
#6 0xffffffff8045a667 at devfs_kqfilter_f+0x77
#7 0xffffffff8053787b at kqueue_register+0x78b
#8 0xffffffff805382a2 at kqueue_kevent+0x92
#9 0xffffffff805381a6 at kern_kevent_fp+0x96
#10 0xffffffff805380bf at kern_kevent+0x9f
#11 0xffffffff80537ec8 at sys_kevent+0x138
#12 0xffffffff80875b7a at amd64_syscall+0x57a
#13 0xffffffff8085965b at Xfast_syscall+0xfb

(kgdb) bt
#0  doadump (textdump=<value optimized out>) at pcpu.h:222
#1  0xffffffff8057ece0 in kern_reboot (howto=260) at
/usr/local/share/deploy-tools/RELENG_11/src/sys/kern/kern_shutdown.c:366
#2  0xffffffff8057f2a0 in vpanic (fmt=<value optimized out>, ap=<value
optimized out>)
    at /usr/local/share/deploy-tools/RELENG_11/src/sys/kern/kern_shutdown.c:759
#3  0xffffffff8057f2e3 in panic (fmt=<value optimized out>) at
/usr/local/share/deploy-tools/RELENG_11/src/sys/kern/kern_shutdown.c:690
#4  0xffffffff805603d4 in __mtx_assert (c=0x0, what=0, file=0x0, line=0) at
/usr/local/share/deploy-tools/RELENG_11/src/sys/kern/kern_mutex.c:1000
#5  0xffffffff805395f0 in knlist_add (knl=0xfffffe0008a6c448,
kn=0xfffff801be72ee80, islocked=1)
    at /usr/local/share/deploy-tools/RELENG_11/src/sys/kern/kern_event.c:2089
#6  0xffffffff80418d80 in netmap_kqfilter (dev=<value optimized out>,
kn=0xfffff801be72ee80)
    at
/usr/local/share/deploy-tools/RELENG_11/src/sys/dev/netmap/netmap_freebsd.c:781
#7  0xffffffff8045a667 in devfs_kqfilter_f (fp=0xfffff8002441d3c0,
kn=0xfffff801be72ee80)
    at
/usr/local/share/deploy-tools/RELENG_11/src/sys/fs/devfs/devfs_vnops.c:837
#8  0xffffffff8053787b in kqueue_register (kq=0xfffff8001a65ba00,
kev=0xfffffe0446ceb650, td=0xfffff8003d11e560, waitok=<value optimized out>)
    at /usr/local/share/deploy-tools/RELENG_11/src/sys/kern/kern_event.c:1334
#9  0xffffffff805382a2 in kqueue_kevent (kq=0xfffff8001a65ba00,
td=0xfffff8003d11e560, nchanges=4, nevents=<value optimized out>,
k_ops=0xfffffe0446ceb8a0, 
    timeout=<value optimized out>) at
/usr/local/share/deploy-tools/RELENG_11/src/sys/kern/kern_event.c:1019
#10 0xffffffff805381a6 in kern_kevent_fp (td=0xfffff8003d11e560, fp=<value
optimized out>, nchanges=4, nevents=<value optimized out>, 
    k_ops=<value optimized out>, timeout=<value optimized out>) at
/usr/local/share/deploy-tools/RELENG_11/src/sys/kern/kern_event.c:1050
#11 0xffffffff805380bf in kern_kevent (td=0xfffff8003d11e560, fd=7, nchanges=4,
nevents=0, k_ops=0xfffffe0446ceb8a0, timeout=0x0)
    at /usr/local/share/deploy-tools/RELENG_11/src/sys/kern/kern_event.c:993
#12 0xffffffff80537ec8 in sys_kevent (td=0xfffff8003d11e560,
uap=0xfffffe0446ceba30) at
/usr/local/share/deploy-tools/RELENG_11/src/sys/kern/kern_event.c:925
#13 0xffffffff80875b7a in amd64_syscall (td=0xfffff8003d11e560, traced=0) at
subr_syscall.c:135
#14 0xffffffff8085965b in Xfast_syscall () at
/usr/local/share/deploy-tools/RELENG_11/src/sys/amd64/amd64/exception.S:396
#15 0x000000080122713a in ?? ()
Previous frame inner to this frame (corrupt stack?)

Without WITNESS and INVARIANTS, the bhyve guest gets booted and runs fine up to
some point.

Reported via ML also for HEAD netmap code merged to stable, but this trace is
from stable/11 netmap code!
(https://lists.freebsd.org/pipermail/freebsd-net/2017-June/048124.html)

-harry

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


More information about the freebsd-bugs mailing list