[Bug 275169] Panic: rw_rlock: wlock already held for tcpinp @ /usr/src/sys/netinet/in_pcb.c:2529
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 275169] Panic: rw_rlock: wlock already held for tcpinp @ /usr/src/sys/netinet/in_pcb.c:2529"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 275169] Panic: rw_rlock: wlock already held for tcpinp @ /usr/src/sys/netinet/in_pcb.c:2529"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 275169] Panic: rw_rlock: wlock already held for tcpinp @ /usr/src/sys/netinet/in_pcb.c:2529"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 275169] Panic: rw_rlock: wlock already held for tcpinp @ /usr/src/sys/netinet/in_pcb.c:2529"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 275169] Panic: rw_rlock: wlock already held for tcpinp @ /usr/src/sys/netinet/in_pcb.c:2529"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 275169] Panic: rw_rlock: wlock already held for tcpinp @ /usr/src/sys/netinet/in_pcb.c:2529"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 275169] Panic: rw_rlock: wlock already held for tcpinp @ /usr/src/sys/netinet/in_pcb.c:2529"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 275169] Panic: rw_rlock: wlock already held for tcpinp @ /usr/src/sys/netinet/in_pcb.c:2529"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 275169] Panic: rw_rlock: wlock already held for tcpinp @ /usr/src/sys/netinet/in_pcb.c:2529"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 275169] Panic: rw_rlock: wlock already held for tcpinp @ /usr/src/sys/netinet/in_pcb.c:2529"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 275169] Panic: rw_rlock: wlock already held for tcpinp @ /usr/src/sys/netinet/in_pcb.c:2529"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 275169] Panic: rw_rlock: wlock already held for tcpinp @ /usr/src/sys/netinet/in_pcb.c:2529"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 275169] Panic: rw_rlock: wlock already held for tcpinp @ /usr/src/sys/netinet/in_pcb.c:2529"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 275169] Panic: rw_rlock: wlock already held for tcpinp @ /usr/src/sys/netinet/in_pcb.c:2529"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 275169] Panic: rw_rlock: wlock already held for tcpinp @ /usr/src/sys/netinet/in_pcb.c:2529"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 275169] Panic: rw_rlock: wlock already held for tcpinp @ /usr/src/sys/netinet/in_pcb.c:2529"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 275169] Panic: rw_rlock: wlock already held for tcpinp @ /usr/src/sys/netinet/in_pcb.c:2529"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 275169] Panic: rw_rlock: wlock already held for tcpinp @ /usr/src/sys/netinet/in_pcb.c:2529"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 275169] Panic: rw_rlock: wlock already held for tcpinp @ /usr/src/sys/netinet/in_pcb.c:2529"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 275169] Panic: rw_rlock: wlock already held for tcpinp @ /usr/src/sys/netinet/in_pcb.c:2529"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 275169] Panic: rw_rlock: wlock already held for tcpinp @ /usr/src/sys/netinet/in_pcb.c:2529"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 275169] Panic: rw_rlock: wlock already held for tcpinp @ /usr/src/sys/netinet/in_pcb.c:2529"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 275169] Panic: rw_rlock: wlock already held for tcpinp @ /usr/src/sys/netinet/in_pcb.c:2529"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 275169] Panic: rw_rlock: wlock already held for tcpinp @ /usr/src/sys/netinet/in_pcb.c:2529"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 275169] Panic: rw_rlock: wlock already held for tcpinp @ /usr/src/sys/netinet/in_pcb.c:2529"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 275169] Panic: rw_rlock: wlock already held for tcpinp @ /usr/src/sys/netinet/in_pcb.c:2529"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 275169] Panic: rw_rlock: wlock already held for tcpinp @ /usr/src/sys/netinet/in_pcb.c:2529"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 275169] Panic: rw_rlock: wlock already held for tcpinp @ /usr/src/sys/netinet/in_pcb.c:2529"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 275169] Panic: rw_rlock: wlock already held for tcpinp @ /usr/src/sys/netinet/in_pcb.c:2529"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 18 Nov 2023 15:00:14 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=275169 Bug ID: 275169 Summary: Panic: rw_rlock: wlock already held for tcpinp @ /usr/src/sys/netinet/in_pcb.c:2529 Product: Base System Version: 13.2-RELEASE Hardware: amd64 OS: Any Status: New Severity: Affects Some People Priority: --- Component: kern Assignee: bugs@FreeBSD.org Reporter: i.dani@outlook.com Created attachment 246389 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=246389&action=edit Kernel config After we upgraded some of our hosts from FreeBSD 12.4 to 13.2 we started seeing some of our physical hosts freezing randomly and without panicing. We were able to narrow it down to some IPFW rules. The setup is the following: - Host A: Recently upgraded physical host with FreeBSD 13.2 - Host B: Also a physical host with FreeBSD 13.2 which runs a webserver, serving our own pkg-repos (10.1.1.20). Webserver doesn't matter - we tried Apache, nginx, thttpd. Filetype also doesn't matter (.pkg, .txt, whatever :)). We also tried with multiple hosts. Host A has following IPFW rule: ipfw add 1000 allow ip from me to 10.1.1.20/32 uid 0 Host B has the following IPFW rule: ipfw add 2000 allow tcp from any to 10.1.1.20 80,443 keep-state We can reproduce the freeze by repeatedly fetching a file on Host A from Host B (we initially triggered the bug when running "pkg upgrade"): [root@host-a] $ while true; do curl -v http://10.1.1.20/test.txt --output /dev/null; done Sometimes immediately, sometimes after a few seconds the network connection of Host A is lost. Sometimes we are still able to log in through a local shell. Sometimes after a few seconds, sometimes after 1-2 minutes the host freezes completely. There is no kernel panic and nothing in the logs. Host B is still running fine and doesn't freeze. Whats interesting: - Freezes do NOT happen if the "uid 0" selector from Host A's rule is removed. - Freezes do NOT happen if the "keep-state" of Host B's rule is removed. - Freezes do NOT happen with our virtual servers - only physical hosts are affected. After building and installing the kernel with debug options, we were finally able to cause a panic and get some more informations. The Kernel has been built with the following options: makeoptions DEBUG=-g options INVARIANTS options INVARIANT_SUPPORT options WITNESS options WITNESS_SKIPSPIN options DIAGNOSTIC You can find the full kernel config attached (config.txt). PANIC: rw_rlock: wlock already held for tcpinp @ /usr/src/sys/netinet/in_pcb.c:2529 Attached you find: - HW-Info.txt: Hardware information of one of the hosts that freezes. Other hosts that freeze (and also Host B of the example abvoe) are physical too and also use the same NIC-Driver (ix). - info.txt: File written @ Panic - Contains FreeBSD version info and so on. - config.txt: Kernel config (see above). - ddb.txt: Contains the ddb-Dump - reduced to the relevant stuff (panic, backtrace, locks). The full ddb-Dump (containing all procs) can be provided if needed. Any help in further debuging or fixing this would be highly appreciated! -- You are receiving this mail because: You are the assignee for the bug.