DPDK patches and discussions
 help / color / mirror / Atom feed
From: bugzilla@dpdk.org
To: dev@dpdk.org
Subject: [dpdk-dev] [Bug 680] [dpdk-21.05]hotplug_mp/test_attach_detach_dev_primary_cross_loop: Segmentation fault when detach device
Date: Fri, 16 Apr 2021 05:28:18 +0000	[thread overview]
Message-ID: <bug-680-3@http.bugs.dpdk.org/> (raw)

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.yang@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 <xuemingl@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 <xuemingl@nvidia.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
Reviewed-by: Gaetan Rivet <grive@u256.net>

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

                 reply	other threads:[~2021-04-16  5:28 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-680-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).