DPDK usage discussions
 help / color / mirror / Atom feed
From: Tiwei Bie <tiwei.bie@intel.com>
To: "Rao, Sanjay" <srao@verisign.com>
Cc: "users@dpdk.org" <users@dpdk.org>
Subject: Re: [dpdk-users] Crash in virtio pmd - dpdk 18.11
Date: Mon, 20 May 2019 17:02:44 +0800	[thread overview]
Message-ID: <20190520090244.GA16837@___> (raw)
In-Reply-To: <B7177BAB-576C-4BCB-A5B4-D26D9785A82E@verisign.com>

Hi Sanjay,

On Mon, May 20, 2019 at 04:30:33AM +0000, Rao, Sanjay wrote:
> I upgraded to dodk 18.11 and still see the crash at the exact same place in the driver code. Greatly appreciate if somebody familiar with the code help me resolve this.

Could you provide some steps about how to reproduce this crash?

Thanks,
Tiwei

> 
> Thread 15 "lcore-slave-3" received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0x7fffda1fc700 (LWP 5881)]
> 0x00000000005b4889 in virtqueue_enqueue_xmit (txvq=0x17ffc3e00, cookie=0x17530be80, needed=1, use_indirect=0, can_push=1, in_order=0)
>     at /home/srao/github/athena-master/source/dpdk/drivers/net/virtio/virtio_rxtx.c:476
> 476         /home/srao/github/athena-master/source/dpdk/drivers/net/virtio/virtio_rxtx.c: No such file or directory.
> (gdb) bt
> #0  0x00000000005b4889 in virtqueue_enqueue_xmit (txvq=0x17ffc3e00, cookie=0x17530be80, needed=1, use_indirect=0, can_push=1, in_order=0)
>     at /home/srao/github/athena-master/source/dpdk/drivers/net/virtio/virtio_rxtx.c:476
> #1  0x00000000005b6e2d in virtio_xmit_pkts (tx_queue=0x17ffc3e00, tx_pkts=0x7fd0fcc0 <lcore_conf+18304>, nb_pkts=25)
>     at /home/srao/github/athena-master/source/dpdk/drivers/net/virtio/virtio_rxtx.c:1423
> #2  0x00000000005fae28 in rte_eth_tx_burst (nb_pkts=<optimized out>, tx_pkts=0x7fd0fcc0 <lcore_conf+18304>, queue_id=0, port_id=1)
>     at /home/srao/github/athena-master/output/RHEL-6/gcc492/mode1/dpdk/include/rte_ethdev.h:4158
> #3  send_burst (port=1 '\001', n=25, qconf=0x7fd0f980 <lcore_conf+17472>) at source/fanout/fastfanout/ffmain.c:559
> #4  worker_loop (lcore_id=<optimized out>) at source/fanout/fastfanout/ffmain.c:2922
> #5  0x00000000004c3255 in eal_thread_loop ()
> #6  0x00007ffff7782aa1 in start_thread () from /lib64/libpthread.so.0
> #7  0x00007ffff6b26bdd in clone () from /lib64/libc.so.6
> (gdb) p head_idx
> $1 = 32768
> (gdb) p vq->vq_descx[idx]
> $2 = {cookie = 0x0, ndescs = 0}
> (gdb) p dxp->cookie
> $3 = (void *) 0x0
> (gdb) p dxp
> $4 = (struct vq_desc_extra *) 0x180043fa0
> (gdb) p *dxp
> $5 = {cookie = 0x0, ndescs = 0}
> (gdb) p cookie
> $6 = (struct rte_mbuf *) 0x17530be80
> 
> 
> From: Rao Sanjay <srao@verisign.com>
> Date: Monday, May 6, 2019 at 5:09 PM
> To: "users@dpdk.org" <users@dpdk.org>
> Subject: Crash in virtio pmd - dpdk 17.11.4
> 
> My apologies if this is already reported. I am seeing a crash in virtqueue_enqueue_xmit() function at line#291 in drivers/net/virtio_rxtx.c. This is in DPDK version 17.11.4 and happens under a sustained heavy traffic.
> 
> static inline void
> virtqueue_enqueue_xmit(struct virtnet_tx *txvq, struct rte_mbuf *cookie,
>                        uint16_t needed, int use_indirect, int can_push)
> {
>         struct virtio_tx_region *txr = txvq->virtio_net_hdr_mz->addr;
>         struct vq_desc_extra *dxp;
>         struct virtqueue *vq = txvq->vq;
>         struct vring_desc *start_dp;
>         uint16_t seg_num = cookie->nb_segs;
>         uint16_t head_idx, idx;
>         uint16_t head_size = vq->hw->vtnet_hdr_size;
>         struct virtio_net_hdr *hdr;
>         int offload;
> 
>        offload = tx_offload_enabled(vq->hw);
>         head_idx = vq->vq_desc_head_idx;
>         idx = head_idx;
>         dxp = &vq->vq_descx[idx];     <-- idx is VQ_RING_DESC_CHAIN_END
> 
>         ---------
> }
> 
> Can somebody familiar with this code let me know if there is any work around for this.
> 
> Thanks
> Sanjay
> 
> 

      reply	other threads:[~2019-05-20  9:03 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-20  4:30 Rao, Sanjay
2019-05-20  9:02 ` Tiwei Bie [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190520090244.GA16837@___ \
    --to=tiwei.bie@intel.com \
    --cc=srao@verisign.com \
    --cc=users@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).