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>