Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Apr 2019 10:43:07 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 237329] Panic in __mtx_lock_sleep() during reboot or shutdown
Message-ID:  <bug-237329-227-KPtNnwyvUd@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-237329-227@https.bugs.freebsd.org/bugzilla/>
References:  <bug-237329-227@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D237329

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

#9  __mtx_lock_sleep (c=3D0xfffff800103eb9a0, v=3D<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 unt=
il
the
562                      * owner stops running or the state of the lock
changes.
563                      */
564                     owner =3D 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 =3D (struct thread *) 0x0
(kgdb) print v
$2 =3D <optimized out>
(kgdb) up
#10 0xffffffff80a3ae32 in mld_fasttimo_vnet (inmh=3D<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_PACKE=
TS);
1411                    }
1412
1413                    IF_ADDR_WLOCK(ifp);
1414                    NET_EPOCH_ENTER_ET(et);
1415                    CK_STAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_l=
ink)
{
1416                            inm =3D in6m_ifmultiaddr_get_inm(ifma);
1417                            if (inm =3D=3D NULL)
(kgdb) print ifp
$3 =3D (struct ifnet *) 0xfffff800103eb800
(kgdb) print *ifp
$4 =3D {if_link =3D {cstqe_next =3D 0x0}, if_clones =3D {le_next =3D 0x0, l=
e_prev =3D
0xfffff8000b8be728}, if_groups =3D {cstqh_first =3D 0xfffff8002ef82b00, cst=
qh_last
=3D 0xfffff80013e04308}, if_alloctype =3D 6 '\006', if_softc =3D 0xfffff800=
2e3a1200,
if_llsoftc =3D 0x0, if_l2com =3D 0x0,
  if_dname =3D 0xffffffff80d94b78 "lagg", if_dunit =3D 0, if_index =3D 6,
if_index_reserved =3D 0, if_xname =3D
"lagg0\000\000\000\000\000\000\000\000\000\000", if_description =3D 0x0, if=
_flags
=3D 34819, if_drv_flags =3D 64, if_capabilities =3D 262555, if_capenable =
=3D 411,
  if_linkmib =3D 0x0, if_linkmiblen =3D 0, if_refcount =3D 0, if_type =3D 6=
 '\006',
if_addrlen =3D 6 '\006', if_hdrlen =3D 14 '\016', if_link_state =3D 2 '\002=
', if_mtu
=3D 1500, if_metric =3D 0, if_baudrate =3D 4000000000, if_hwassist =3D 22, =
if_epoch =3D
11, if_lastchange =3D {
    tv_sec =3D 1552406977, tv_usec =3D 971493}, if_snd =3D {ifq_head =3D 0x=
0, ifq_tail
=3D 0x0, ifq_len =3D 0, ifq_maxlen =3D 50, ifq_mtx =3D {lock_object =3D {lo=
_name =3D
0xfffff800103eb858 "lagg0", lo_flags =3D 16908288, lo_data =3D 0, lo_witnes=
s =3D
0x0}, mtx_lock =3D 4}, ifq_drv_head =3D 0x0,
    ifq_drv_tail =3D 0x0, ifq_drv_len =3D 0, ifq_drv_maxlen =3D 0, altq_typ=
e =3D 0,
altq_flags =3D 0, altq_disc =3D 0x0, altq_ifp =3D 0xfffff800103eb800, altq_=
enqueue =3D
0x0, altq_dequeue =3D 0x0, altq_request =3D 0x0, altq_clfier =3D 0x0, altq_=
classify =3D
0x0, altq_tbr =3D 0x0,
    altq_cdnr =3D 0x0}, if_linktask =3D {ta_link =3D {stqe_next =3D 0x0}, t=
a_pending =3D
0, ta_priority =3D 0, ta_func =3D 0xffffffff80912410 <do_link_state_change>,
ta_context =3D 0xfffff800103eb800}, if_addr_lock =3D {lock_object =3D {lo_n=
ame =3D
0xffffffff80c2b74c "if_addr_lock",
      lo_flags =3D 16908288, lo_data =3D 0, lo_witness =3D 0x0}, mtx_lock =
=3D 4},
if_addrhead =3D {cstqh_first =3D 0xfffff8002ebce700, cstqh_last =3D
0xfffff800130d3e28}, if_multiaddrs =3D {cstqh_first =3D 0xfffff8000ab24100,
cstqh_last =3D 0xfffff800430d7100}, if_amcount =3D 0,
  if_addr =3D 0xfffff8002ebce700, if_hw_addr =3D 0xfffff8002eefa500,
if_broadcastaddr =3D 0xffffffff80d945c0 <etherbroadcastaddr>
"\377\377\377\377\377\377", if_afdata_lock =3D {lock_object =3D {lo_name =3D
0xffffffff80c73b50 "if_afdata", lo_flags =3D 16908288, lo_data =3D 0,
      lo_witness =3D 0x0}, mtx_lock =3D 4}, if_afdata =3D {0x0, 0x0,
0xfffff8002ec26d00, 0x0 <repeats 25 times>, 0xfffff8002eefab00, 0x0 <repeat=
s 13
times>}, if_afdata_initialized =3D 2, if_fib =3D 0, if_vnet =3D 0xfffff8000=
2472900,
if_home_vnet =3D 0xfffff80002472900,
  if_vlantrunk =3D 0x0, if_bpf =3D 0xfffff8002ec62700, if_pcount =3D 0, if_=
bridge =3D
0x0, if_lagg =3D 0x0, if_pf_kif =3D 0x0, if_carp =3D 0x0, if_label =3D 0x0,=
 if_netmap =3D
0x0, if_output =3D 0xffffffff8091d7b0 <ether_output>, if_input =3D
0xffffffff8091e4f0 <ether_input>,
  if_bridge_input =3D 0x0, if_bridge_output =3D 0x0, if_bridge_linkstate =
=3D 0x0,
if_start =3D 0x0, if_ioctl =3D 0xffffffff80921a30 <lagg_ioctl>, if_init =3D
0xffffffff809218b0 <lagg_init>, if_resolvemulti =3D 0xffffffff8091e560
<ether_resolvemulti>,
  if_qflush =3D 0xffffffff809218a0 <lagg_qflush>, if_transmit =3D
0xffffffff809216e0 <lagg_transmit>, if_reassign =3D 0xffffffff8091e750
<ether_reassign>, if_get_counter =3D 0xffffffff80923980 <lagg_get_counter>,
if_requestencap =3D 0xffffffff8091e680 <ether_requestencap>,
  if_counters =3D {0xfffffe0000481b50, 0xfffffe0000481b40, 0xfffffe0000481b=
30,
0xfffffe0000481b20, 0xfffffe0000481b10, 0xfffffe0000481b00, 0xfffffe0000481=
af0,
0xfffffe0000481ae0, 0xfffffe0000481ad0, 0xfffffe0000481ac0, 0xfffffe0000481=
ab0,
0xfffffe0000481aa0},
  if_hw_tsomax =3D 65518, if_hw_tsomaxsegcount =3D 35, if_hw_tsomaxsegsize =
=3D 2048,
if_snd_tag_alloc =3D 0x0, if_snd_tag_modify =3D 0x0, if_snd_tag_query =3D 0=
x0,
if_snd_tag_free =3D 0x0, if_pcp =3D 255 '\377', if_netdump_methods =3D 0x0,
if_epoch_ctx =3D {data =3D {
      0xffffffff80912910 <if_destroy>, 0x0}}, if_addr_et =3D {datap =3D {0x=
0, 0x0,
0x0}, datai =3D {0}}, if_maddr_et =3D {datap =3D {0x0, 0x0, 0x0}, datai =3D=
 {0}},
if_ispare =3D {0, 0, 0, 0}}

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-237329-227-KPtNnwyvUd>