rte_pktmbuf_alloc( ) returns same mbuf address which is not freed
Stephen Hemminger
stephen at networkplumber.org
Fri Oct 28 17:26:47 CEST 2022
On Tue, 25 Oct 2022 14:11:26 +0530
Gokilavani A <gokilavanianbazhagan at gmail.com> wrote:
> Hi,
>
> We have been blocked by this issue.
>
> Can anyone help us to resolve the issue?
>
> Thanks
> Gokilavani A
>
> On Thu, Oct 13, 2022 at 4:39 PM Gokilavani A <gokilavanianbazhagan at gmail.com>
> wrote:
>
> > Hi,
> >
> >
> >
> > We are using *DPDK-19.11.11* for our application in which 4 construction
> > threads construct packets periodically, place it in a circular queue and
> >
> > a transmission thread pushes that packet by reading that circular queue.
> >
> >
> > In the long run, We are facing a crash in *eth_igb_xmit_pkts() *call
> > which is called during transmission.
> >
> >
> > After an inspect with GDB, we came to know that the non-freed mbuf address
> > is returned by* rte_pktmbuf_alloc() *for another packet during
> > construction, even though that mbuf is still not transmitted by the
> > transmission thread, which makes the corresponding construction thread to
> > update the same memory again.
> >
> >
> > It is not clear why rte_pktmbuf_alloc() returns the mbuf pointer before
> > that pointer is not getting freed by rte_eth_tx_burst() call?.
> >
Off list discussion. This application was using m->next for private data.
Stop, this is not expected to work.
More information about the users
mailing list