Date: Tue, 21 Jan 2020 17:38:08 +0000 From: Alexander V. Chernikov <melifaro@freebsd.org> To: Nick Hibma <nick@van-laarhoven.org>, "current@freebsd.org" <current@freebsd.org> Subject: Re: panic: Assertion in_epoch(net_epoch_preempt) failed at ... src/sys/net/if.c:3694 Message-ID: <833361579628288@myt4-2943a877c094.qloud-c.yandex.net> In-Reply-To: <83DFEF06-AB56-4F5C-A11C-9888C85A34F5@van-laarhoven.org> References: <20191008121519.GS1263@albert.catwhisker.org> <20191009120451.GK1263@albert.catwhisker.org> <83DFEF06-AB56-4F5C-A11C-9888C85A34F5@van-laarhoven.org>
next in thread | previous in thread | raw e-mail | index | archive | help
------==--bound.83337.myt4-2943a877c094.qloud-c.yandex.net Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=utf-8 21.01.2020, 17:25, "Nick Hibma" <nick@van-laarhoven.org>: > 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? Could you please try to apply an attached patch and try again? > > Thanks in advance for any help. > > Nick Hibma > nick@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@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@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@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. > > _______________________________________________ > freebsd-current@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" ------==--bound.83337.myt4-2943a877c094.qloud-c.yandex.net Content-Disposition: attachment; filename="ipdivert.diff" Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name="ipdivert.diff" SW5kZXg6IHN5cy9uZXRpbmV0L2lwX2RpdmVydC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9uZXRpbmV0 L2lwX2RpdmVydC5jCShyZXZpc2lvbiAzNTY5MzcpCisrKyBzeXMvbmV0aW5ldC9pcF9kaXZlcnQu Ywkod29ya2luZyBjb3B5KQpAQCAtNjAxLDcgKzYwMSwxMCBAQCBzdGF0aWMgaW50CiBkaXZfc2Vu ZChzdHJ1Y3Qgc29ja2V0ICpzbywgaW50IGZsYWdzLCBzdHJ1Y3QgbWJ1ZiAqbSwgc3RydWN0IHNv Y2thZGRyICpuYW0sCiAgICAgc3RydWN0IG1idWYgKmNvbnRyb2wsIHN0cnVjdCB0aHJlYWQgKnRk KQogeworCXN0cnVjdCBlcG9jaF90cmFja2VyIGV0OworCWludCByZXQ7CiAKKwogCS8qIFBhY2tl dCBtdXN0IGhhdmUgYSBoZWFkZXIgKGJ1dCB0aGF0J3MgYWJvdXQgaXQpICovCiAJaWYgKG0tPm1f bGVuIDwgc2l6ZW9mIChzdHJ1Y3QgaXApICYmCiAJICAgIChtID0gbV9wdWxsdXAobSwgc2l6ZW9m IChzdHJ1Y3QgaXApKSkgPT0gTlVMTCkgewpAQCAtNjExLDcgKzYxNCw5IEBAIGRpdl9zZW5kKHN0 cnVjdCBzb2NrZXQgKnNvLCBpbnQgZmxhZ3MsIHN0cnVjdCBtYnVmCiAJfQogCiAJLyogU2VuZCBw YWNrZXQgKi8KLQlyZXR1cm4gZGl2X291dHB1dChzbywgbSwgKHN0cnVjdCBzb2NrYWRkcl9pbiAq KW5hbSwgY29udHJvbCk7CisJTkVUX0VQT0NIX0VOVEVSKGV0KTsKKwlyZXQgPSBkaXZfb3V0cHV0 KHNvLCBtLCAoc3RydWN0IHNvY2thZGRyX2luICopbmFtLCBjb250cm9sKTsKKwlORVRfRVBPQ0hf RVhJVChldCk7CiB9CiAKIHN0YXRpYyB2b2lkCg== ------==--bound.83337.myt4-2943a877c094.qloud-c.yandex.net--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?833361579628288>