[prev in list] [next in list] [prev in thread] [next in thread] 

List:       dpdk-users
Subject:    Re: [dpdk-users] Crash in virtio pmd - dpdk 18.11
From:       Tiwei Bie <tiwei.bie () intel ! com>
Date:       2019-05-20 9:02:44
Message-ID: 20190520090244.GA16837 () ___
[Download RAW message or body]

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
> 
> 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic