[Bug 197059] network locks up with IPv6 udp traffic

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sat Jan 24 23:16:24 UTC 2015


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

            Bug ID: 197059
           Summary: network locks up with IPv6 udp traffic
           Product: Base System
           Version: 10.0-STABLE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: freebsd-bugs at FreeBSD.org
          Reporter: demon at FreeBSD.org
                CC: adrian at freebsd.org, freebsd-net at FreeBSD.org

Hello!

I am using FreeBSD-10/stable.  We have a program at work that transmits data
via UDP.
When I run several instances of this program simultaneously, after a few
seconds network stops working.
If I login from console, I see some network daemons like ntpd, snmpd are in
"*udp" state.

If I try to deal with network interface (ifconfig igb0 for instance), ifconfig
utility stuck in "L" state (Marks a process that is waiting to acquire a
lock.).
I found the only way to fix that: reboot.

What can be the cause for such a behaviour?

lock order reversal:
1st 0xffffffff80ea5588 pcbinfohash (pcbinfohash) @ /opt/WRK/src/sys/netinet6/ud
p6_usrreq.c:1202
2nd 0xffffffff80ea5530 udp (udp) @ /opt/WRK/src/sys/netinet6/in6_pcb.c:614
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe0c581c1270
kdb_backtrace() at kdb_backtrace+0x39/frame 0xfffffe0c581c1320
witness_checkorder() at witness_checkorder+0xc04/frame 0xfffffe0c581c13a0
_rw_wlock_cookie() at _rw_wlock_cookie+0x45/frame 0xfffffe0c581c13e0
in6_pcbnotify() at in6_pcbnotify+0x12e/frame 0xfffffe0c581c1480
udp6_common_ctlinput() at udp6_common_ctlinput+0x111/frame 0xfffffe0c581c14e0
pfctlinput2() at pfctlinput2+0x7d/frame 0xfffffe0c581c1520
ip6_output() at ip6_output+0x15b8/frame 0xfffffe0c581c1780
udp6_send() at udp6_send+0x75c/frame 0xfffffe0c581c1910
sosend_dgram() at sosend_dgram+0x30b/frame 0xfffffe0c581c1980
kern_sendit() at kern_sendit+0x191/frame 0xfffffe0c581c1a30
sendit() at sendit+0x225/frame 0xfffffe0c581c1a80
sys_sendmsg() at sys_sendmsg+0x68/frame 0xfffffe0c581c1ae0
amd64_syscall() at amd64_syscall+0x244/frame 0xfffffe0c581c1bf0
Xfast_syscall() at Xfast_syscall+0xfb/frame 0xfffffe0c581c1bf0
--- syscall (28, FreeBSD ELF64, sys_sendmsg), rip = 0x803ec5eaa, rsp =
0x7fffdf5f6848, rbp = 0x7fffdf5f6880 ---


lock order reversal:
1st 0xffffffff80ea5588 pcbinfohash (pcbinfohash) @
/opt/WRK/src/sys/netinet6/udp6_usrreq.c:1202
2nd 0xffffffff80ea52d8 tcp (tcp) @ /opt/WRK/src/sys/netinet6/in6_pcb.c:614
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe0c581c1240
kdb_backtrace() at kdb_backtrace+0x39/frame 0xfffffe0c581c12f0
witness_checkorder() at witness_checkorder+0xc04/frame 0xfffffe0c581c1370
_rw_wlock_cookie() at _rw_wlock_cookie+0x45/frame 0xfffffe0c581c13b0
in6_pcbnotify() at in6_pcbnotify+0x12e/frame 0xfffffe0c581c1450
tcp6_ctlinput() at tcp6_ctlinput+0x1a5/frame 0xfffffe0c581c14e0
pfctlinput2() at pfctlinput2+0x7d/frame 0xfffffe0c581c1520
ip6_output() at ip6_output+0x15b8/frame 0xfffffe0c581c1780
udp6_send() at udp6_send+0x75c/frame 0xfffffe0c581c1910
sosend_dgram() at sosend_dgram+0x30b/frame 0xfffffe0c581c1980
kern_sendit() at kern_sendit+0x191/frame 0xfffffe0c581c1a30
sendit() at sendit+0x225/frame 0xfffffe0c581c1a80
sys_sendmsg() at sys_sendmsg+0x68/frame 0xfffffe0c581c1ae0
amd64_syscall() at amd64_syscall+0x244/frame 0xfffffe0c581c1bf0
Xfast_syscall() at Xfast_syscall+0xfb/frame 0xfffffe0c581c1bf0
--- syscall (28, FreeBSD ELF64, sys_sendmsg), rip = 0x803ec5eaa, rsp =
0x7fffdf5f6848, rbp = 0x7fffdf5f6880 ---



lock order reversal:
1st 0xffffffff80ea5588 pcbinfohash (pcbinfohash) @
/opt/WRK/src/sys/netinet6/udp6_usrreq.c:1202
2nd 0xffffffff80ea4740 rip (rip) @ /opt/WRK/src/sys/netinet6/in6_pcb.c:614
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe0c581c12b0
kdb_backtrace() at kdb_backtrace+0x39/frame 0xfffffe0c581c1360
witness_checkorder() at witness_checkorder+0xc04/frame 0xfffffe0c581c13e0
_rw_wlock_cookie() at _rw_wlock_cookie+0x45/frame 0xfffffe0c581c1420
in6_pcbnotify() at in6_pcbnotify+0x12e/frame 0xfffffe0c581c14c0
rip6_ctlinput() at rip6_ctlinput+0x70/frame 0xfffffe0c581c14e0
pfctlinput2() at pfctlinput2+0x7d/frame 0xfffffe0c581c1520
ip6_output() at ip6_output+0x15b8/frame 0xfffffe0c581c1780
udp6_send() at udp6_send+0x75c/frame 0xfffffe0c581c1910
sosend_dgram() at sosend_dgram+0x30b/frame 0xfffffe0c581c1980
kern_sendit() at kern_sendit+0x191/frame 0xfffffe0c581c1a30
sendit() at sendit+0x225/frame 0xfffffe0c581c1a80
sys_sendmsg() at sys_sendmsg+0x68/frame 0xfffffe0c581c1ae0
amd64_syscall() at amd64_syscall+0x244/frame 0xfffffe0c581c1bf0
Xfast_syscall() at Xfast_syscall+0xfb/frame 0xfffffe0c581c1bf0
--- syscall (28, FreeBSD ELF64, sys_sendmsg), rip = 0x803ec5eaa, rsp =
0x7fffdf5f6848, rbp = 0x7fffdf5f6880 ---

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


More information about the freebsd-bugs mailing list