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 <[email protected]>
> Date: Monday, May 6, 2019 at 5:09 PM
> To: "[email protected]" <[email protected]>
> 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 via email to