Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 07 Jan 2020 12:05:07 +0000
From:      bugzilla-noreply@freebsd.org
To:        net@FreeBSD.org
Subject:   [Bug 243126] Assertion fl->ifl_cidx == cidx failed at /usr/src/sys/net/iflib.c:2531
Message-ID:  <bug-243126-7501-7ocrVaP577@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-243126-7501@https.bugs.freebsd.org/bugzilla/>
References:  <bug-243126-7501@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=3D243126

--- Comment #2 from Andriy Gapon <avg@FreeBSD.org> ---
Looking at vmxnet3_isc_rxd_pkt_get, I see that both iri_cidx and ifr_cq_cidx
will be set to cqidx after the last fragment.  irf_idx of each fragment is =
set
to rxd_idx of the rspective descriptor.

Getting back to the assertion in rxd_frag_to_sd():

(kgdb) p *ri
$4 =3D {iri_qsidx =3D 0, iri_vtag =3D 0, iri_len =3D 1514, iri_cidx =3D 477=
, iri_ifp =3D
0xfffff80002d1a800, iri_frags =3D 0xfffffe00003fe140, iri_flowid =3D 600473=
664,
iri_csum_flags =3D 251658240, iri_csum_data =3D 65535, iri_flags =3D 0 '\00=
0',
  iri_nfrags =3D 1 '\001', iri_rsstype =3D 130 '\202', iri_pad =3D 0 '\000'}

(kgdb) p ri->iri_frags[0]
$13 =3D {irf_flid =3D 0 '\000', irf_idx =3D 142, irf_len =3D 1514}

So, irf_idx =3D 142 in the first and the only fragment.
irf_flid  is zero, so:

$15 =3D {ifl_cidx =3D 141, ifl_pidx =3D 140, ifl_credits =3D 254, ifl_gen =
=3D 1 '\001',
ifl_rxd_size =3D 0 '\000', ifl_rx_bitmap =3D 0xfffff80002daa8c0, ifl_fragid=
x =3D 139,
ifl_size =3D 256, ifl_buf_size =3D 2048, ifl_cltype =3D 1,=20
  ifl_zone =3D 0xfffff80002957000, ifl_sds =3D {ifsd_map =3D 0xfffff80002d2=
d800,
ifsd_m =3D 0xfffff80002d1b800, ifsd_cl =3D 0xfffff80002d1b000, ifsd_ba =3D
0xfffff80002d1e000}, ifl_rxq =3D 0xfffffe00003fe000, ifl_id =3D 0 '\000',=20
  ifl_buf_tag =3D 0xfffff80002cf8100, ifl_ifdi =3D 0xfffff80002d17da8,
ifl_bus_addrs =3D {32051296256, 32050450432, 31627747328, 31625582592,
31637278720, 6269554688, 6269536256, 6272448512, 6512416768, 6269433856,
5922217984,=20
    6273015808, 31638720512, 6261741568, 6268790784, 29797609472, 627156992=
0,
6271576064, 6271574016, 6271580160, 6271578112, 6271584256, 6271582208,
6271588352, 6271739904, 6271733760, 6271735808, 6271729664, 6271731712,=20
    6271725568, 6271727616, 6271721472}, ifl_vm_addrs =3D {0xfffff8077667f8=
00 ...

So, ifl_cidx is 141 and that's the actual problem.
477 that I mentioned in the previous comment is irrelevant.
The real problem is ifl_cidx !=3D irf_idx, 141 !=3D 142.

Still no clue how that could happen.

--=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-243126-7501-7ocrVaP577>