DPDK patches and discussions
 help / color / mirror / Atom feed
From: bugzilla@dpdk.org
To: dev@dpdk.org
Subject: [dpdk-dev] [Bug 633] Secondary process crash with virtio PMD
Date: Wed, 03 Feb 2021 13:01:14 +0000	[thread overview]
Message-ID: <bug-633-3@http.bugs.dpdk.org/> (raw)

https://bugs.dpdk.org/show_bug.cgi?id=633

            Bug ID: 633
           Summary: Secondary process crash with virtio PMD
           Product: DPDK
           Version: unspecified
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: vhost/virtio
          Assignee: dev@dpdk.org
          Reporter: anatoly.burakov@intel.com
  Target Milestone: ---

This issue looks to be similar to bug 631, but it is not fixed as of latest
main or next-net. Spinning up a VM with DPDK as vhost and legacy virtio device,
and running testpmd as primary, and pdump as secondary results in the following
crash:

```
Thread 1 "dpdk-pdump" received signal SIGSEGV, Segmentation fault.
0x0000555555a12cc8 in rte_pci_ioport_map (dev=0x555556442bb0, bar=0,
p=0x5555562b9ec0 <virtio_pci_internal>) at ../drivers/bus/pci/linux/pci.c:751
751             switch (dev->kdrv) {
(gdb) bt
#0  0x0000555555a12cc8 in rte_pci_ioport_map (dev=0x555556442bb0, bar=0,
p=0x5555562b9ec0 <virtio_pci_internal>) at ../drivers/bus/pci/linux/pci.c:751
#1  0x0000555555a9cada in vtpci_legacy_ioport_map (hw=0x1003b2dc0) at
../drivers/net/virtio/virtio_pci.c:882
#2  0x0000555555a9558a in virtio_remap_pci (pci_dev=0x5555562e5ba0,
dev=0x1003b2dc0) at ../drivers/net/virtio/virtio_pci_ethdev.c:63
#3  0x0000555555a956e2 in eth_virtio_pci_init (eth_dev=0x555556232540
<rte_eth_devices>) at ../drivers/net/virtio/virtio_pci_ethdev.c:90
#4  0x0000555555a95488 in rte_eth_dev_pci_generic_probe
(pci_dev=0x5555562e5ba0, private_data_size=128, dev_init=0x555555a9559c
<eth_virtio_pci_init>)
    at ../lib/librte_ethdev/ethdev_pci.h:129
#5  0x0000555555a95a91 in eth_virtio_pci_probe (pci_drv=0x555555ce4600
<rte_virtio_net_pci_pmd>, pci_dev=0x5555562e5ba0) at
../drivers/net/virtio/virtio_pci_ethdev.c:192
#6  0x0000555555a0f72c in rte_pci_probe_one_driver (dr=0x555555ce4600
<rte_virtio_net_pci_pmd>, dev=0x5555562e5ba0) at
../drivers/bus/pci/pci_common.c:243
#7  0x0000555555a0f92b in pci_probe_all_drivers (dev=0x5555562e5ba0) at
../drivers/bus/pci/pci_common.c:318
#8  0x0000555555a0f9b4 in pci_probe () at ../drivers/bus/pci/pci_common.c:345
#9  0x00005555559c9573 in rte_bus_probe () at
../lib/librte_eal/common/eal_common_bus.c:72
#10 0x00005555559f720a in rte_eal_init (argc=8, argv=0x7fffffffe230) at
../lib/librte_eal/linux/eal.c:1281
#11 0x0000555555592222 in main (argc=8, argv=0x7fffffffe3d8) at
../app/pdump/main.c:989 
```

Offending commit:

```
commit c8d4b02f72aefda2dbe2895cd661c29161a6770d
Author: Maxime Coquelin <maxime.coquelin@redhat.com>
Date:   Tue Jan 26 11:16:12 2021 +0100

    net/virtio: move legacy IO to virtio PCI

    This patch moves Virtio PCI legacy IO handling to
    virtio_pci.c. Two functions are created so that
    virtio_pci_ethdev does not have to care about it.

    Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
    Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
    Reviewed-by: David Marchand <david.marchand@redhat.com>
```

VM setup command is as follows:

```
/home/QEMU/qemu-4.2.1/bin/qemu-system-x86_64  -name vm0 -enable-kvm -pidfile
/tmp/.vm0.pid -daemonize -monitor unix:/tmp/vm0_monitor.sock,server,nowait
-netdev user,id=nttsip1,hostfwd=tcp:10.240.183.212:6000-:22 -device
e1000,netdev=nttsip1  -chardev socket,id=char0,path=/root/dpdk/vhost-net0
-netdev type=vhost-user,id=netdev0,chardev=char0,vhostforce -device
virtio-net-pci,netdev=netdev0,mac=52:54:00:00:00:01,disable-modern=true,mrg_rxbuf=on,csum=on,gso=on,guest_csum=on,host_tso4=on,guest_tso4=on,guest_ecn=on
-cpu host -smp 8 -m 8192 -object
memory-backend-file,id=mem,size=8192M,mem-path=/mnt/huge,share=on -numa
node,memdev=mem -mem-prealloc -chardev
socket,path=/tmp/vm0_qga0.sock,server,nowait,id=vm0_qga0 -device virtio-serial
-device virtserialport,chardev=vm0_qga0,name=org.qemu.guest_agent.0 -vnc :4
-drive file=/home/image/ubuntu2004.img
```

Test-pmd and pdump can be run without any parameters, so:

```
# app/dpdk-testpmd
# ...in another window...
# app/dpdk-pdump
```

-- 
You are receiving this mail because:
You are the assignee for the bug.

                 reply	other threads:[~2021-02-03 13:01 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=bug-633-3@http.bugs.dpdk.org/ \
    --to=bugzilla@dpdk.org \
    --cc=dev@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).