Still em(4) broken with epoch changes

Konstantin Belousov kostikbel at gmail.com
Wed Oct 23 09:09:36 UTC 2019


On Wed, Oct 23, 2019 at 09:39:36AM +0200, Hans Petter Selasky wrote:
> On 2019-10-23 09:33, Konstantin Belousov wrote:
> > I tried to netboot my test box today with r353914 kernel, and still I get
> > the following panic on machine attempt to start multiuser:
> > 
> > Feeding entropy: .
> > lo0: link state changed to UP
> > uhub0: 3 ports with 3 removable, self powered
> > uhub1: 3 ports with 3 removable, self powered
> > panic: sleeping in an epoch section
> > cpuid = 7
> > time = 1571815747
> > KDB: stack backtrace:
> > db_trace_self_wrapper() at 0xffffffff802d070b = db_trace_self_wrapper+0x2b/frame 0xfffffe000ee9fba0
> > vpanic() at 0xffffffff803b79bd = vpanic+0x19d/frame 0xfffffe000ee9fbf0
> > panic() at 0xffffffff803b7753 = panic+0x43/frame 0xfffffe000ee9fc50
> > _sleep() at 0xffffffff803c38b5 = _sleep+0x4a5/frame 0xfffffe000ee9fcf0
> > pause_sbt() at 0xffffffff803c3cff = pause_sbt+0x10f/frame 0xfffffe000ee9fd30
> > e1000_write_phy_reg_mdic() at 0xffffffff80d1332e = e1000_write_phy_reg_mdic+0xee/frame 0xfffffe000ee9fd70
> > e1000_enable_phy_wakeup_reg_access_bm() at 0xffffffff80d16b6b = e1000_enable_phy_wakeup_reg_access_bm+0x2b/frame 0xfffffe000ee9fd90
> > e1000_update_mc_addr_list_pch2lan() at 0xffffffff80d3119a = e1000_update_mc_addr_list_pch2lan+0x3a/frame 0xfffffe000ee9fdd0
> > em_if_multi_set() at 0xffffffff80d0cb49 = em_if_multi_set+0x1c9/frame 0xfffffe000ee9fe20
> > iflib_if_ioctl() at 0xffffffff80d87b70 = iflib_if_ioctl+0x100/frame 0xfffffe000ee9fe90
> > if_addmulti() at 0xffffffff804b1e9f = if_addmulti+0x2af/frame 0xfffffe000ee9ff30
> > in6_joingroup_locked() at 0xffffffff8058094e = in6_joingroup_locked+0x2ee/frame 0xfffffe000eea0030
> > in6_joingroup() at 0xffffffff80580634 = in6_joingroup+0x44/frame 0xfffffe000eea0060
> > in6_update_ifa() at 0xffffffff80579c4c = in6_update_ifa+0x177c/frame 0xfffffe000eea0210
> > nd6_ra_input() at 0xffffffff8059fd7f = nd6_ra_input+0x108f/frame 0xfffffe000eea04b0
> > icmp6_input() at 0xffffffff8057359a = icmp6_input+0x69a/frame 0xfffffe000eea0640
> > ip6_input() at 0xffffffff8058b63e = ip6_input+0xb2e/frame 0xfffffe000eea0720
> > netisr_dispatch_src() at 0xffffffff804bb84a = netisr_dispatch_src+0x9a/frame 0xfffffe000eea0790
> > ether_demux() at 0xffffffff804b6d0f = ether_demux+0x15f/frame 0xfffffe000eea07c0
> > ether_nh_input() at 0xffffffff804b814f = ether_nh_input+0x39f/frame 0xfffffe000eea0810
> > netisr_dispatch_src() at 0xffffffff804bb84a = netisr_dispatch_src+0x9a/frame 0xfffffe000eea0880
> > ether_input() at 0xffffffff804b71d8 = ether_input+0x58/frame 0xfffffe000eea08d0
> > _task_fn_rx() at 0xffffffff80d83610 = _task_fn_rx+0xb20/frame 0xfffffe000eea09e0
> > gtaskqueue_run_locked() at 0xffffffff80402819 = gtaskqueue_run_locked+0xf9/frame 0xfffffe000eea0a30
> > gtaskqueue_thread_loop() at 0xffffffff804025d8 = gtaskqueue_thread_loop+0x88/frame 0xfffffe000eea0a60
> > fork_exit() at 0xffffffff8037b31c = fork_exit+0xcc/frame 0xfffffe000eea0ab0
> > fork_trampoline() at 0xffffffff8063114e = fork_trampoline+0xe/frame 0xfffffe000eea0ab0
> > --- trap 0, rip = 0, rsp = 0, rbp = 0 ---
> > KDB: enter: panic
> > [ thread pid 0 tid 100024 ]
> > Stopped at      0xffffffff80403cfb = kdb_enter+0x3b:    movq    $0,0xffffffff808e3968 = kdb_why
> > 
> > Can we please get this sorted out ?
> 
> PR is here:
> 
> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=241223
> 
The PR is closed, but for me the issue is not fixed, and sure
my backtrace is different and is not related to if_attach().
It is multicast join in nd6 RA processing, it seems.


More information about the freebsd-net mailing list