How to reproduce: 1. Define RTE_LIBRTE_MBUF_DEBUG 2. MALLOC_PERTURB_=178 DPDK_TEST=mbuf_autotest gdb --args obj-x86_64-linux-gnu/app/test/dpdk-test --file-prefix=mbuf_autotest
PANIC in rte_mbuf_sanity_check(): bad pkt_len ... #6 0x00007ffff7d3d4cc in rte_mbuf_sanity_check (m=m@entry=0x17f8c3400, is_header=is_header@entry=1) at ../lib/mbuf/rte_mbuf.c:384 #7 0x0000555555653d57 in rte_pktmbuf_free (m=0x17f8c3400) at ../lib/mbuf/rte_mbuf.h:1385 #8 0x000055555565c7a6 in test_nb_segs_and_next_reset () at ../app/test/test_mbuf.c:2752 #9 test_mbuf () at ../app/test/test_mbuf.c:2967 ... (gdb) frame 6 #6 0x00007ffff7d3d4cc in rte_mbuf_sanity_check (m=m@entry=0x17f8c3400, is_header=is_header@entry=1) at ../lib/mbuf/rte_mbuf.c:384 384 rte_panic("%s\n", reason); (gdb) p/d m->pkt_len $4 = 1500 Fixes: efc6f9104c80 ("mbuf: fix reset on mbuf free") Cc: sta...@dpdk.org Signed-off-by: Pavel Ivashchenko <pivashche...@nfware.com> --- app/test/test_mbuf.c | 1 + 1 file changed, 1 insertion(+) diff --git a/app/test/test_mbuf.c b/app/test/test_mbuf.c index 6cbb03b0af..d471a23805 100644 --- a/app/test/test_mbuf.c +++ b/app/test/test_mbuf.c @@ -2744,6 +2744,7 @@ test_nb_segs_and_next_reset(void) /* split m0 chain in two, between m1 and m2 */ m0->nb_segs = 2; + m0->pkt_len -= 500; m1->next = NULL; m2->nb_segs = 1; -- 2.39.0