Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Dec 2012 18:58:14 -0800
From:      Garrett Cooper <yanegomi@gmail.com>
To:        Jack F Vogel <jfv@freebsd.org>
Cc:        freebsd-net@freebsd.org
Subject:   LOR with ixgbe+lagg and panic with ixgbe related to an uninitialized stack variable
Message-ID:  <CAGH67wTqzs9qGXndcNinzbbbZ=ZOiQnmscTJcWaFUnxuOutoFQ@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hi,
    Seeing the following LOR on CURRENT when scping files over two L3
lagged ixgbe interfaces:

lock order reversal:
 1st 0xfffffe000d15a118 ix0:rx(1) (ix0:rx(1)) @
/usr/src/sys/modules/ixgbe/../../dev/ixgbe/ixgbe.c:4353
 2nd 0xfffffe01334ada08 if_lagg rwlock (if_lagg rwlock) @
/usr/src/sys/modules/if_lagg/../../net/if_lagg.c:1276
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xffffff8496fc5740
kdb_backtrace() at kdb_backtrace+0x39/frame 0xffffff8496fc57f0
witness_checkorder() at witness_checkorder+0xc00/frame 0xffffff8496fc5880
__rw_rlock() at __rw_rlock+0x98/frame 0xffffff8496fc5920
lagg_input() at lagg_input+0x38/frame 0xffffff8496fc5960
ether_nh_input() at ether_nh_input+0x171/frame 0xffffff8496fc5990
netisr_dispatch_src() at netisr_dispatch_src+0x90/frame 0xffffff8496fc5a00
tcp_lro_flush() at tcp_lro_flush+0x197/frame 0xffffff8496fc5a20
ixgbe_rxeof() at ixgbe_rxeof+0x5f2/frame 0xffffff8496fc5ad0
ixgbe_msix_que() at ixgbe_msix_que+0x9b/frame 0xffffff8496fc5b20
intr_event_execute_handlers() at
intr_event_execute_handlers+0x90/frame 0xffffff8496fc5b60
ithread_loop() at ithread_loop+0x161/frame 0xffffff8496fc5bb0
fork_exit() at fork_exit+0x84/frame 0xffffff8496fc5bf0
fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8496fc5bf0
--- trap 0, rip = 0, rsp = 0xffffff8496fc5cb0, rbp = 0 ---
lock order reversal:
 1st 0xfffffe000d15a118 ix0:rx(1) (ix0:rx(1)) @
/usr/src/sys/modules/ixgbe/../../dev/ixgbe/ixgbe.c:4353
 2nd 0xfffffe0133003da8 tcpinp (tcpinp) @ /usr/src/sys/netinet/in_pcb.c:1785
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xffffff8496fc5570
kdb_backtrace() at kdb_backtrace+0x39/frame 0xffffff8496fc5620
witness_checkorder() at witness_checkorder+0xc00/frame 0xffffff8496fc56b0
_rw_wlock_cookie() at _rw_wlock_cookie+0x63/frame 0xffffff8496fc56f0
in_pcblookup_hash() at in_pcblookup_hash+0xba/frame 0xffffff8496fc5740
tcp_input() at tcp_input+0x60e/frame 0xffffff8496fc5870
ip_input() at ip_input+0xb2/frame 0xffffff8496fc58c0
netisr_dispatch_src() at netisr_dispatch_src+0x90/frame 0xffffff8496fc5930
ether_demux() at ether_demux+0x143/frame 0xffffff8496fc5960
ether_nh_input() at ether_nh_input+0x325/frame 0xffffff8496fc5990
netisr_dispatch_src() at netisr_dispatch_src+0x90/frame 0xffffff8496fc5a00
tcp_lro_flush() at tcp_lro_flush+0x197/frame 0xffffff8496fc5a20
ixgbe_rxeof() at ixgbe_rxeof+0x5f2/frame 0xffffff8496fc5ad0
ixgbe_msix_que() at ixgbe_msix_que+0x9b/frame 0xffffff8496fc5b20
intr_event_execute_handlers() at
intr_event_execute_handlers+0x90/frame 0xffffff8496fc5b60
ithread_loop() at ithread_loop+0x161/frame 0xffffff8496fc5bb0
fork_exit() at fork_exit+0x84/frame 0xffffff8496fc5bf0
fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8496fc5bf0
--- trap 0, rip = 0, rsp = 0xffffff8496fc5cb0, rbp = 0 ---

# uname -a
FreeBSD wf158.west.isilon.com 10.0-CURRENT FreeBSD 10.0-CURRENT #3
r+5a05236: Wed Dec 12 17:35:14 PST 2012
root@wf158.west.isilon.com:/usr/obj/usr/src/sys/ISI-GENERIC  amd64

    I ran into a panic under similar conditions with a slightly older
kernel (12/05):

Kernel page fault with the following non-sleepable locks held:
exclusive sleep mutex ix1:rx(0) (ix1:rx(0)) r = 0 (0xfffffe000d14e808)
locked @ /usr/src/sys/modules/ixgbe/../../dev/ixgbe/ixgbe.c:4353
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xffffff849702d530
kdb_backtrace() at kdb_backtrace+0x39/frame 0xffffff849702d5e0
witness_warn() at witness_warn+0x4a3/frame 0xffffff849702d6a0
trap_pfault() at trap_pfault+0x5a/frame 0xffffff849702d750
trap() at trap+0x659/frame 0xffffff849702d960
calltrap() at calltrap+0x8/frame 0xffffff849702d960
--- trap 0xc, rip = 0xffffffff8185a82f, rsp = 0xffffff849702da20, rbp
= 0xffffff849702dad0 ---
ixgbe_rxeof() at ixgbe_rxeof+0x20f/frame 0xffffff849702dad0
ixgbe_msix_que() at ixgbe_msix_que+0x9b/frame 0xffffff849702db20
intr_event_execute_handlers() at
intr_event_execute_handlers+0x90/frame 0xffffff849702db60
ithread_loop() at ithread_loop+0x161/frame 0xffffff849702dbb0
fork_exit() at fork_exit+0x84/frame 0xffffff849702dbf0
fork_trampoline() at fork_trampoline+0xe/frame 0xffffff849702dbf0
--- trap 0, rip = 0, rsp = 0xffffff849702dcb0, rbp = 0 ---


Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address   = 0x18
fault code              = supervisor write data, page not present
instruction pointer     = 0x20:0xffffffff8185a82f
stack pointer           = 0x28:0xffffff849702da20
frame pointer           = 0x28:0xffffff849702dad0
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
db> x/s version
version:        FreeBSD 10.0-CURRENT #3 r+5a05236: Wed Dec 12 17:35:14
PST 2012\012
root@wf158.west.isilon.com:/usr/obj/usr/src/sys/ISI-GENERIC\012
db> show alllocks
Process 1052 (syslogd) thread 0xfffffe000adfe000 (100180)
exclusive lockmgr bufwait (bufwait) r = 0 (0xffffff8454152ba0) locked
@ /usr/src/sys/kern/vfs_bio.c:2633
exclusive lockmgr ufs (ufs) r = 0 (0xfffffe015d0e9668) locked @
/usr/src/sys/kern/vfs_syscalls.c:3438
Process 12 (intr) thread 0xfffffe000adcf900 (100208)
exclusive sleep mutex ix1:rx(0) (ix1:rx(0)) r = 0 (0xfffffe000d14e808)
locked @ /usr/src/sys/modules/ixgbe/../../dev/ixgbe/ixgbe.c:4353

    I don't have much to go off of for the panic, but I figured I
should just post these "in case" these are potentially known issues,
or if they aren't known, potential items to watch for.
Thoughts?
-Garrett



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGH67wTqzs9qGXndcNinzbbbZ=ZOiQnmscTJcWaFUnxuOutoFQ>