https://bugs.dpdk.org/show_bug.cgi?id=680
Bug ID: 680 Summary: [dpdk-21.05]hotplug_mp/test_attach_detach_dev_primary_ cross_loop: Segmentation fault when detach device Product: DPDK Version: unspecified Hardware: All OS: All Status: UNCONFIRMED Severity: normal Priority: Normal Component: examples Assignee: dev@dpdk.org Reporter: leweix.y...@intel.com Target Milestone: --- Environment DPDK version: Use make showversion or for a non-released version: git remote -v && git show-ref --heads 21.05.0-rc0:89813a522e68076e6f50ec18b075fa57cc5ae937 Other software versions: name/version for QEMU, OVS, etc. Repeat as required. OS: CentOS Stream 8 4.18.0-269.el8.x86_64 Compiler: gcc (GCC) 8.4.1 20200928 (Red Hat 8.4.1-1) Hardware platform: Intel(R) Xeon(R) Gold 6252N CPU @ 2.30GHz NIC hardware: XXV710 for 25GbE SFP28 158b Driver version: 2.8.20-k NIC firmware: 8.00 0x80008bb1 1.2766.0 Test Setup Steps to reproduce List the steps to reproduce the issue. 1. build dpdk # rm -rf x86_64-native-linuxapp-gcc # CC=gcc meson --werror -Denable_kmods=True -Dlibdir=lib -Dc_args='-DRTE_EAL_IGB_UIO=1' --default-library=static x86_64-native-linuxapp-gcc # ninja -C x86_64-native-linuxapp-gcc -j 70 # meson configure -Dexamples=multi_process/hotplug_mp x86_64-native-linuxapp-gcc # ninja -C x86_64-native-linuxapp-gcc 2. lanch app # Open three dut terminals # terminal1:x86_64-native-linuxapp-gcc/examples/dpdk-hotplug_mp --proc-type=auto # terminal2:x86_64-native-linuxapp-gcc/examples/dpdk-hotplug_mp --proc-type=auto # terminal3:x86_64-native-linuxapp-gcc/examples/dpdk-hotplug_mp --proc-type=auto # terminal1:list # terminal2:list # terminal3:list # terminal1:attach 0000:18:00.0 # terminal1:list # terminal2:list # terminal3:list # terminal3: detach 0000:18:00.0 Show the output from the previous commands: Output of Terninal3: Failed to send hotplug request to primary. example> detach 0000:18:00.0 detaching... EAL: Releasing PCI mapped resource for 0000:18:00.0 EAL: Calling pci_unmap_resource for 0000:18:00.0 at 0x2200000000 EAL: Calling pci_unmap_resource for 0000:18:00.0 at 0x2201000000 EAL: Fail to recv reply for request /var/run/dpdk/rte/mp_socket:eal_dev_mp_request EAL: Cannot send request to primary EAL: Failed to send hotplug request to primary failed to dettach device 0000:18:00.0 Output of Terninal2: example> list list all etherdev 0 0000:18:00.0 example> EAL: Releasing PCI mapped resource for 0000:18:00.0 EAL: Calling pci_unmap_resource for 0000:18:00.0 at 0x2200000000 EAL: Calling pci_unmap_resource for 0000:18:00.0 at 0x2201000000 example> list list all etherdev example> Output of Terninal1: will shouw "segmentation fault" example> EAL: Releasing PCI mapped resource for 0000:18:00.0 EAL: Calling pci_unmap_resource for 0000:18:00.0 at 0x2200000000 EAL: Calling pci_unmap_resource for 0000:18:00.0 at 0x2201000000 Segmentation fault (core dumped) Expected Result Explain what is the expected result in text or as an example output: detaching... EAL: Releasing PCI mapped resource for 0000:18:00.0 EAL: Calling pci_unmap_resource for 0000:18:00.0 at 0x2200000000 EAL: Calling pci_unmap_resource for 0000:18:00.0 at 0x2201000000 detached device 0000:18:00.0 Regression Is this issue a regression: (Y/N) Y Bad commitid : 64051bb1f144c418f3fc76e6d0973337b05d5886 git show 64051bb1f144c418f3fc76e6d0973337b05d5886 commit 64051bb1f144c418f3fc76e6d0973337b05d5886 (HEAD) Author: Xueming Li <xuemi...@nvidia.com> Date: Tue Apr 13 03:14:08 2021 +0000 devargs: unify scratch buffer storage In current design, legacy parser rte_devargs_parse() saved scratch buffer to devargs.args while new parser rte_devargs_layers_parse() saved to devargs.data. Code using devargs had to know the difference and cleaned up memory accordingly - error prone. This patch unifies scratch buffer to data field, introduces rte_devargs_reset() function to wrap the memory clean up logic. Signed-off-by: Xueming Li <xuemi...@nvidia.com> Acked-by: Ray Kinsella <m...@ashroe.eu> Reviewed-by: Gaetan Rivet <gr...@u256.net> -- You are receiving this mail because: You are the assignee for the bug.