[Bug 237329] Panic in __mtx_lock_sleep() during reboot or shutdown

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Wed Apr 17 10:43:10 UTC 2019


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=237329

--- Comment #2 from Trond.Endrestol at ximalas.info ---
Here are additional details from kgdb:

#9  __mtx_lock_sleep (c=0xfffff800103eb9a0, v=<optimized out>) at
/usr/src/sys/kern/kern_mutex.c:565
565                     if (TD_IS_RUNNING(owner)) {
(kgdb) list
560                     /*
561                      * If the owner is running on another CPU, spin until
the
562                      * owner stops running or the state of the lock
changes.
563                      */
564                     owner = lv_mtx_owner(v);
565                     if (TD_IS_RUNNING(owner)) {
566                             if (LOCK_LOG_TEST(&m->lock_object, 0))
567                                     CTR3(KTR_LOCK,
568                                         "%s: spinning on %p held by %p",
569                                         __func__, m, owner);
(kgdb) print owner
$1 = (struct thread *) 0x0
(kgdb) print v
$2 = <optimized out>
(kgdb) up
#10 0xffffffff80a3ae32 in mld_fasttimo_vnet (inmh=<optimized out>) at
/usr/src/sys/netinet6/mld6.c:1413
1413                    IF_ADDR_WLOCK(ifp);
(kgdb) list
1408                                PR_FASTHZ);
1409                            mbufq_init(&qrq, MLD_MAX_G_GS_PACKETS);
1410                            mbufq_init(&scq, MLD_MAX_STATE_CHANGE_PACKETS);
1411                    }
1412
1413                    IF_ADDR_WLOCK(ifp);
1414                    NET_EPOCH_ENTER_ET(et);
1415                    CK_STAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link)
{
1416                            inm = in6m_ifmultiaddr_get_inm(ifma);
1417                            if (inm == NULL)
(kgdb) print ifp
$3 = (struct ifnet *) 0xfffff800103eb800
(kgdb) print *ifp
$4 = {if_link = {cstqe_next = 0x0}, if_clones = {le_next = 0x0, le_prev =
0xfffff8000b8be728}, if_groups = {cstqh_first = 0xfffff8002ef82b00, cstqh_last
= 0xfffff80013e04308}, if_alloctype = 6 '\006', if_softc = 0xfffff8002e3a1200,
if_llsoftc = 0x0, if_l2com = 0x0,
  if_dname = 0xffffffff80d94b78 "lagg", if_dunit = 0, if_index = 6,
if_index_reserved = 0, if_xname =
"lagg0\000\000\000\000\000\000\000\000\000\000", if_description = 0x0, if_flags
= 34819, if_drv_flags = 64, if_capabilities = 262555, if_capenable = 411,
  if_linkmib = 0x0, if_linkmiblen = 0, if_refcount = 0, if_type = 6 '\006',
if_addrlen = 6 '\006', if_hdrlen = 14 '\016', if_link_state = 2 '\002', if_mtu
= 1500, if_metric = 0, if_baudrate = 4000000000, if_hwassist = 22, if_epoch =
11, if_lastchange = {
    tv_sec = 1552406977, tv_usec = 971493}, if_snd = {ifq_head = 0x0, ifq_tail
= 0x0, ifq_len = 0, ifq_maxlen = 50, ifq_mtx = {lock_object = {lo_name =
0xfffff800103eb858 "lagg0", lo_flags = 16908288, lo_data = 0, lo_witness =
0x0}, mtx_lock = 4}, ifq_drv_head = 0x0,
    ifq_drv_tail = 0x0, ifq_drv_len = 0, ifq_drv_maxlen = 0, altq_type = 0,
altq_flags = 0, altq_disc = 0x0, altq_ifp = 0xfffff800103eb800, altq_enqueue =
0x0, altq_dequeue = 0x0, altq_request = 0x0, altq_clfier = 0x0, altq_classify =
0x0, altq_tbr = 0x0,
    altq_cdnr = 0x0}, if_linktask = {ta_link = {stqe_next = 0x0}, ta_pending =
0, ta_priority = 0, ta_func = 0xffffffff80912410 <do_link_state_change>,
ta_context = 0xfffff800103eb800}, if_addr_lock = {lock_object = {lo_name =
0xffffffff80c2b74c "if_addr_lock",
      lo_flags = 16908288, lo_data = 0, lo_witness = 0x0}, mtx_lock = 4},
if_addrhead = {cstqh_first = 0xfffff8002ebce700, cstqh_last =
0xfffff800130d3e28}, if_multiaddrs = {cstqh_first = 0xfffff8000ab24100,
cstqh_last = 0xfffff800430d7100}, if_amcount = 0,
  if_addr = 0xfffff8002ebce700, if_hw_addr = 0xfffff8002eefa500,
if_broadcastaddr = 0xffffffff80d945c0 <etherbroadcastaddr>
"\377\377\377\377\377\377", if_afdata_lock = {lock_object = {lo_name =
0xffffffff80c73b50 "if_afdata", lo_flags = 16908288, lo_data = 0,
      lo_witness = 0x0}, mtx_lock = 4}, if_afdata = {0x0, 0x0,
0xfffff8002ec26d00, 0x0 <repeats 25 times>, 0xfffff8002eefab00, 0x0 <repeats 13
times>}, if_afdata_initialized = 2, if_fib = 0, if_vnet = 0xfffff80002472900,
if_home_vnet = 0xfffff80002472900,
  if_vlantrunk = 0x0, if_bpf = 0xfffff8002ec62700, if_pcount = 0, if_bridge =
0x0, if_lagg = 0x0, if_pf_kif = 0x0, if_carp = 0x0, if_label = 0x0, if_netmap =
0x0, if_output = 0xffffffff8091d7b0 <ether_output>, if_input =
0xffffffff8091e4f0 <ether_input>,
  if_bridge_input = 0x0, if_bridge_output = 0x0, if_bridge_linkstate = 0x0,
if_start = 0x0, if_ioctl = 0xffffffff80921a30 <lagg_ioctl>, if_init =
0xffffffff809218b0 <lagg_init>, if_resolvemulti = 0xffffffff8091e560
<ether_resolvemulti>,
  if_qflush = 0xffffffff809218a0 <lagg_qflush>, if_transmit =
0xffffffff809216e0 <lagg_transmit>, if_reassign = 0xffffffff8091e750
<ether_reassign>, if_get_counter = 0xffffffff80923980 <lagg_get_counter>,
if_requestencap = 0xffffffff8091e680 <ether_requestencap>,
  if_counters = {0xfffffe0000481b50, 0xfffffe0000481b40, 0xfffffe0000481b30,
0xfffffe0000481b20, 0xfffffe0000481b10, 0xfffffe0000481b00, 0xfffffe0000481af0,
0xfffffe0000481ae0, 0xfffffe0000481ad0, 0xfffffe0000481ac0, 0xfffffe0000481ab0,
0xfffffe0000481aa0},
  if_hw_tsomax = 65518, if_hw_tsomaxsegcount = 35, if_hw_tsomaxsegsize = 2048,
if_snd_tag_alloc = 0x0, if_snd_tag_modify = 0x0, if_snd_tag_query = 0x0,
if_snd_tag_free = 0x0, if_pcp = 255 '\377', if_netdump_methods = 0x0,
if_epoch_ctx = {data = {
      0xffffffff80912910 <if_destroy>, 0x0}}, if_addr_et = {datap = {0x0, 0x0,
0x0}, datai = {0}}, if_maddr_et = {datap = {0x0, 0x0, 0x0}, datai = {0}},
if_ispare = {0, 0, 0, 0}}

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list