Date: Tue, 21 Jan 2020 21:09:25 +0100 From: Nick Hibma <nick@van-laarhoven.org> To: "Alexander V. Chernikov" <melifaro@freebsd.org> Cc: "current@freebsd.org" <current@freebsd.org>, Cy.Schubert@cschubert.com Subject: Re: panic: Assertion in_epoch(net_epoch_preempt) failed at ... src/sys/net/if.c:3694 Message-ID: <EB09DB96-1717-4560-AFC5-52C8AEB5CC5B@van-laarhoven.org> In-Reply-To: <833361579628288@myt4-2943a877c094.qloud-c.yandex.net> References: <20191008121519.GS1263@albert.catwhisker.org> <20191009120451.GK1263@albert.catwhisker.org> <83DFEF06-AB56-4F5C-A11C-9888C85A34F5@van-laarhoven.org> <833361579628288@myt4-2943a877c094.qloud-c.yandex.net>
next in thread | previous in thread | raw e-mail | index | archive | help
That (with the return added, thanks Cy) worked like a charm. Thanks for the fast response. Nick Hibma nick@van-laarhoven.org -- Open Source: We stand on the shoulders of giants. > On 21 Jan 2020, at 18:38, Alexander V. Chernikov = <melifaro@freebsd.org> wrote: >=20 > 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 >>=20 >> Any pointers as to how to fix this? > Could you please try to apply an attached patch and try again? >>=20 >> Thanks in advance for any help. >>=20 >> Nick Hibma >> nick@van-laarhoven.org >>=20 >> -- Open Source: We stand on the shoulders of giants. >>=20 >> Unread portion of the kernel message buffer: >> panic: Assertion in_epoch(net_epoch_preempt) failed at = /usr/src/sys/netinet/in.c:968 >> cpuid =3D 0 >> time =3D 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 =3D 0xffc01230, esp = =3D 0xffc07fe8, ebp =3D 0xffbfeb68 --- >> KDB: enter: panic >>=20 >> 0x00fd1129 in doadump (textdump=3D0) 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) >>=20 >>> On 9 Oct 2019, at 14:04, David Wolfskill <david@catwhisker.org> = wrote: >>>=20 >>> 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). >>>=20 >>> 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). >>>=20 >>> Then I got a slightly different panic: >>>=20 >>> panic: Assertion in_epoch(net_epoch_preempt) failed at = /usr/src/sys/net/if.c:356 >>>=20 >>> Backtrace: >>>=20 >>> panic: Assertion in_epoch(net_epoch_preempt) failed at = /usr/src/sys/net/if.c:356 >>> cpuid =3D 0 >>> time =3D 1570621553 >>> KDB: stack backtrace: >>> db_trace_self_wrapper() at 0xffffffff8049ebab =3D = db_trace_self_wrapper+0x2b/frame 0xfffffe1072956580 >>> vpanic() at 0xffffffff80b978fd =3D vpanic+0x19d/frame = 0xfffffe10729565d0 >>> panic() at 0xffffffff80b97693 =3D panic+0x43/frame = 0xfffffe1072956630 >>> if_ref() at 0xffffffff80ca1b10 =3D if_ref/frame 0xfffffe1072956650 >>> sysctl_ifdata() at 0xffffffff80cb247d =3D sysctl_ifdata+0x4d/frame = 0xfffffe1072956760 >>> sysctl_root_handler_locked() at 0xffffffff80ba714b =3D = sysctl_root_handler_locked+0x7b/frame 0xfffffe10729567a0 >>> sysctl_root() at 0xffffffff80ba64dc =3D sysctl_root+0x20c/frame = 0xfffffe1072956820 >>> userland_sysctl() at 0xffffffff80ba6bab =3D = userland_sysctl+0x17b/frame 0xfffffe10729568d0 >>> sys___sysctl() at 0xffffffff80ba69ef =3D sys___sysctl+0x5f/frame = 0xfffffe1072956980 >>> amd64_syscall() at 0xffffffff810480f4 =3D amd64_syscall+0x2d4/frame = 0xfffffe1072956ab0 >>> fast_syscall_common() at 0xffffffff8101eaa0 =3D = fast_syscall_common+0x101/frame 0xfffffe1072956ab0 >>> --- syscall (202, FreeBSD ELF64, sys___sysctl), rip =3D = 0x8014d4d2a, rsp =3D 0x7fffffffeaa8, rbp =3D 0x7fffffffeae0 --- >>> KDB: enter: panic >>>=20 >>>> 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/ >>>=20 >>> This one is at = http://www.catwhisker.org/~david/FreeBSD/head/r353336 >>>=20 >>> As before, the (headless) build machine had no issues that I could = see. >>>=20 >>> Peace, >>> david >>> -- >>> David H. Wolfskill david@catwhisker.org >>> I am amazed that anyone would condone what Trunp has publicly = admitted he did. >>>=20 >>> See http://www.catwhisker.org/~david/publickey.gpg for my public = key. >>=20 >> _______________________________________________ >> 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" > <ipdivert.diff>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?EB09DB96-1717-4560-AFC5-52C8AEB5CC5B>