Date: Tue, 24 Apr 2018 17:23:06 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 227749] post-panic assertion failed: panic: Assertion (*xp & ~LK_EXCLUSIVE_SPINNERS) == LK_SHARERS_LOCK(1) failed at /usr/src/sys/kern/kern_lock.c:541 Message-ID: <bug-227749-227@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D227749 Bug ID: 227749 Summary: post-panic assertion failed: panic: Assertion (*xp & ~LK_EXCLUSIVE_SPINNERS) =3D=3D LK_SHARERS_LOCK(1) failed at /usr/src/sys/kern/kern_lock.c:541 Product: Base System Version: CURRENT Hardware: amd64 OS: Any Status: New Severity: Affects Only Me Priority: --- Component: kern Assignee: bugs@FreeBSD.org Reporter: jtl@freebsd.org Running an INVARIANTS kernel, we saw a kernel panic (in tcp_output(), if it matters). Then, we tripped over this assertion. Due to the double-fault, the system rebooted without a coredump. panic: tcp_output: len <=3D tso_segsz cpuid =3D 16 time =3D 1524314516 KDB: stack backtrace: db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe0c1bee5= 1f0 vpanic() at vpanic+0x18d/frame 0xfffffe0c1bee5250 vpanic() at vpanic/frame 0xfffffe0c1bee52d0 tcp_output() at tcp_output+0x1f33/frame 0xfffffe0c1bee5490 tcp_do_segment() at tcp_do_segment+0x23aa/frame 0xfffffe0c1bee5580 tcp_input_with_port() at tcp_input_with_port+0xed7/frame 0xfffffe0c1bee56d0 tcp_input() at tcp_input+0xb/frame 0xfffffe0c1bee56e0 ip_input() at ip_input+0x33c/frame 0xfffffe0c1bee5740 netisr_dispatch_src() at netisr_dispatch_src+0x83/frame 0xfffffe0c1bee57a0 ether_demux() at ether_demux+0x162/frame 0xfffffe0c1bee57d0 ether_nh_input() at ether_nh_input+0x346/frame 0xfffffe0c1bee5810 netisr_dispatch_src() at netisr_dispatch_src+0x83/frame 0xfffffe0c1bee5870 ether_input() at ether_input+0x62/frame 0xfffffe0c1bee58a0 tcp_lro_flush() at tcp_lro_flush+0x217/frame 0xfffffe0c1bee58c0 tcp_lro_flush_all() at tcp_lro_flush_all+0x13b/frame 0xfffffe0c1bee5900 service_iq() at service_iq+0x7d1/frame 0xfffffe0c1bee59c0 t4_intr() at t4_intr+0x30/frame 0xfffffe0c1bee59e0 intr_event_execute_handlers() at intr_event_execute_handlers+0x99/frame 0xfffffe0c1bee5a20 ithread_loop() at ithread_loop+0xb7/frame 0xfffffe0c1bee5a70 fork_exit() at fork_exit+0x84/frame 0xfffffe0c1bee5ab0 fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe0c1bee5ab0 --- trap 0, rip =3D 0, rsp =3D 0, rbp =3D 0 --- panic: Assertion (*xp & ~LK_EXCLUSIVE_SPINNERS) =3D=3D LK_SHARERS_LOCK(1) f= ailed at /usr/src/sys/kern/kern_lock.c:541 cpuid =3D 16 time =3D 1524314516 Uptime: 19m34s Someone needs to modify this code to do the right thing in the post-panic world. For what its worth, ignoring the assert lets a coredump finish correctly, and is probably the "right thing" to do in this case. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-227749-227>