Re: panic: Assertion in_epoch(net_epoch_preempt) failed at ... src/sys/net/if.c:3694

From: Nick Hibma <nick_at_van-laarhoven.org>
Date: Tue, 21 Jan 2020 18:24:39 +0100
When using a trivial program to read from the divert socket and post back the machine panics instantly when a packet is sent to userland and back again (incoming packet for the interface, so ifname is set). This is current from today with no changes

Any pointers as to how to fix this?

Thanks in advance for any help.

Nick Hibma
nick_at_van-laarhoven.org

-- Open Source: We stand on the shoulders of giants.


Unread portion of the kernel message buffer:
panic: Assertion in_epoch(net_epoch_preempt) failed at /usr/src/sys/netinet/in.c:968
cpuid = 0
time = 1579626632
KDB: stack backtrace:
db_trace_self_wrapper(3836393a,1a9000a,0,1fdc088c,bd5320,...) at db_trace_self_wrapper+0x2a/frame 0x1fdc0860
kdb_backtrace(2,1e03ebc,1fdc08e8,14683a4,20b72500,...) at kdb_backtrace+0x2e/frame 0x1fdc08c0
vpanic(1461278,1fdc0904,1fdc0904,1fdc0918,11355ac,...) at vpanic+0x11f/frame 0x1fdc08e4
panic(1461278,1512573,154b440,3c8,20b72500,...) at panic+0x14/frame 0x1fdc08f8
in_broadcast(f02000a,94df400,20b72594,1dc0ae8,2001be24,...) at in_broadcast+0x8c/frame 0x1fdc0918
div_send(2001bcc0,0,20b72500,9082e10,0,177f1a80) at div_send+0x1bd/frame 0x1fdc0958
sosend_generic(2001bcc0,9082e10,1fdc0a18,0,0,0,177f1a80) at sosend_generic+0x3c5/frame 0x1fdc09b4
sosend(2001bcc0,9082e10,1fdc0a18,0,0,...) at sosend+0x50/frame 0x1fdc09e4
kern_sendit(177f1a80,3,1fdc0aa0,0,0,0) at kern_sendit+0x1b4/frame 0x1fdc0a50
sendit(1fdc0aa0,0) at sendit+0x196/frame 0x1fdc0a88
sys_sendto(177f1a80,177f1d0c) at sys_sendto+0x50/frame 0x1fdc0ac8
syscall(1fdc0ba8,3b,3b,3b,54,...) at syscall+0x2db/frame 0x1fdc0b9c
Xint0x80_syscall() at 0xffc033c9/frame 0x1fdc0b9c
--- syscall (133, FreeBSD ELF32, sys_sendto), eip = 0xffc01230, esp = 0xffc07fe8, ebp = 0xffbfeb68 ---
KDB: enter: panic

0x00fd1129 in doadump (textdump=0) at /usr/src/sys/kern/kern_shutdown.c:392
392		savectx(&dumppcb);
(kgdb) quit
{e}nick_at_fimkjecurrent:/home/nick % svn info /usr/src
Path: /usr/src
Working Copy Root Path: /usr/src
URL: svn+ssh://repo.freebsd.org/base/head
Relative URL: ^/head
Repository Root: svn+ssh://repo.freebsd.org/base
Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Revision: 356907
Node Kind: directory
Schedule: normal
Last Changed Author: jhibbits
Last Changed Rev: 356904
Last Changed Date: 2020-01-20 05:01:35 +0100 (Mon, 20 Jan 2020)



> On 9 Oct 2019, at 14:04, David Wolfskill <david_at_catwhisker.org> wrote:
> 
> On Tue, Oct 08, 2019 at 05:15:19AM -0700, David Wolfskill wrote:
>> This was on my laptop (build machine, which was updated in parallel,
>> but uses a different NIC, had no issues) after a src update from
>> r353176 to r353298; laptop's NIC is wlan(4) (which is iwn(4), in
>> this case).
> 
> After restoring the /boot/*.old set, I was able to reboot & update from
> r353298 to r353336.  The subsequent reboot seemed OK ... until the
> keyboard & mouse were enabled (under X11; I use xdm on the laptop).
> 
> Then I got a slightly different panic:
> 
> panic: Assertion in_epoch(net_epoch_preempt) failed at /usr/src/sys/net/if.c:356
> 
> Backtrace:
> 
> panic: Assertion in_epoch(net_epoch_preempt) failed at /usr/src/sys/net/if.c:356
> cpuid = 0
> time = 1570621553
> KDB: stack backtrace:
> db_trace_self_wrapper() at 0xffffffff8049ebab = db_trace_self_wrapper+0x2b/frame 0xfffffe1072956580
> vpanic() at 0xffffffff80b978fd = vpanic+0x19d/frame 0xfffffe10729565d0
> panic() at 0xffffffff80b97693 = panic+0x43/frame 0xfffffe1072956630
> if_ref() at 0xffffffff80ca1b10 = if_ref/frame 0xfffffe1072956650
> sysctl_ifdata() at 0xffffffff80cb247d = sysctl_ifdata+0x4d/frame 0xfffffe1072956760
> sysctl_root_handler_locked() at 0xffffffff80ba714b = sysctl_root_handler_locked+0x7b/frame 0xfffffe10729567a0
> sysctl_root() at 0xffffffff80ba64dc = sysctl_root+0x20c/frame 0xfffffe1072956820
> userland_sysctl() at 0xffffffff80ba6bab = userland_sysctl+0x17b/frame 0xfffffe10729568d0
> sys___sysctl() at 0xffffffff80ba69ef = sys___sysctl+0x5f/frame 0xfffffe1072956980
> amd64_syscall() at 0xffffffff810480f4 = amd64_syscall+0x2d4/frame 0xfffffe1072956ab0
> fast_syscall_common() at 0xffffffff8101eaa0 = fast_syscall_common+0x101/frame 0xfffffe1072956ab0
> --- syscall (202, FreeBSD ELF64, sys___sysctl), rip = 0x8014d4d2a, rsp = 0x7fffffffeaa8, rbp = 0x7fffffffeae0 ---
> KDB: enter: panic
> 
>> The ddb "dump" command recorded a dump, which I managed to capture; the
>> information may be found at
>> http://www.catwhisker.org/~david/FreeBSD/head/r353298/
> 
> This one is at http://www.catwhisker.org/~david/FreeBSD/head/r353336
> 
> As before, the (headless) build machine had no issues that I could see.
> 
> Peace,
> david
> -- 
> David H. Wolfskill				david_at_catwhisker.org
> I am amazed that anyone would condone what Trunp has publicly admitted he did.
> 
> See http://www.catwhisker.org/~david/publickey.gpg for my public key.
Received on Tue Jan 21 2020 - 16:24:50 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:22 UTC