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.bura...@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.coque...@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.coque...@redhat.com> Reviewed-by: Chenbo Xia <chenbo....@intel.com> Reviewed-by: David Marchand <david.march...@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.