Hi Chenmin,

Thanks a lot for digging into this. I found an old issue, VPP-133: 
https://jira.fd.io/browse/VPP-133 <https://jira.fd.io/browse/VPP-133>, that 
looks very similar to this bug.
Increasing the stack size allocated to CLI processes resolves the issue, so it 
looks like the inlining increased DPDK’s stack usage.
I have pushed a patch to gerrit that fixes this bug: 
https://gerrit.fd.io/r/c/vpp/+/22074 <https://gerrit.fd.io/r/c/vpp/+/22074> .

Best,
Aloÿs

> On 16 Sep 2019, at 08:12, Sun, Chenmin <chenmin....@intel.com> wrote:
> 
> Hi, <>
>  
> I've bisected and found this issue is imported by DPDK commit:
>  
> commit 1f4d55be438b428bed74f2e3dc49cfd6efc3e6fd
> Author: Maxime Coquelin <maxime.coque...@redhat.com 
> <mailto:maxime.coque...@redhat.com>>
> Date:   Wed May 29 15:04:20 2019 +0200
>  
>     eal/x86: force inlining of all memcpy and mov helpers
>  
>     Some helpers in the header file are forced inlined other are
>     only inlined, this patch forces inline for all.
>  
>     It will avoid it to be embedded as functions when called multiple
>     times in the same object file. For example, when we added packed
>     ring support in vhost-user library, rte_memcpy_generic got no
>     more inlined.
>  
>     Signed-off-by: Maxime Coquelin <maxime.coque...@redhat.com 
> <mailto:maxime.coque...@redhat.com>>
>     Acked-by: Bruce Richardson <bruce.richard...@intel.com 
> <mailto:bruce.richard...@intel.com>>
>  
> The segment fault disappeared after I reverted this commit.
> I also tried with testpmd, which is a DPDK app integrated in DPDK code, and 
> didn't see this issue.
>  
> That DPDK commit just changed the function declaration from inlie to 
> __rte_always_inline, all seems ok but why brings such a strange issue to 
> VPP(debug mode only).
>  
> -----------------------------
> Best Regards,
> Sun, Chenmin
>  
> From: Yang, Zhiyong 
> Sent: Monday, September 16, 2019 2:08 PM
> To: Sun, Chenmin <chenmin....@intel.com>
> Subject: FW: [vpp-dev] Issue with DPDK 19.08 / i40e driver
>  
>  
>  
>  <>From: vpp-dev@lists.fd.io <mailto:vpp-dev@lists.fd.io> 
> <vpp-dev@lists.fd.io <mailto:vpp-dev@lists.fd.io>> On Behalf Of Damjan Marion 
> via Lists.Fd.Io
> Sent: Thursday, September 12, 2019 9:00 PM
> To: Aloys Augustin (aloaugus) <aloau...@cisco.com <mailto:aloau...@cisco.com>>
> Cc: vpp-dev@lists.fd.io <mailto:vpp-dev@lists.fd.io>
> Subject: Re: [vpp-dev] Issue with DPDK 19.08 / i40e driver
>  
>  
> Florin hit the same issue few weeks ago, don't use debug version of DPDK and 
> it will work OK.
> it is unlikely vpp issue, as it happens only when dpdk is compiled with -g0.
> It looks like stack corruption in dpdk. If somebody have cycles, probably 
> bisecting the dpdk
> between last two releases will give some clue what is wrong.
>  
> 
> On 12 Sep 2019, at 13:55, Aloys Augustin (aloaugus) via Lists.Fd.Io 
> <aloaugus=cisco....@lists.fd.io <mailto:aloaugus=cisco....@lists.fd.io>> 
> wrote:
>  
> Hi Damjan,
>  
> I encountered the same issue on a different host with the same hardware, here 
> is a stack trace:
>  
> DBGvpp# sh int
>               Name               Idx    State  MTU (L3/IP4/IP6/MPLS)     
> Counter          Count
> FortyGigabitEthernet5e/0/0        1     down         9000/0/0/0
> local0                            0     down          0/0/0/0
> DBGvpp# set int state FortyGigabitEthernet5e/0/0 up
>  
> Thread 1 "vpp_main" received signal SIGSEGV, Segmentation fault.
> 0x00007fffb07b9f07 in i40e_asq_send_command (hw=0x7fc1fff9d340, 
> desc=0x7fffb9880cc0, buff=0x7fc2002c3b80, buff_size=16, cmd_details=0x0)
>     at 
> /home/aloaugus/vpp/build-root/build-vpp_debug-native/external/dpdk-19.08/drivers/net/i40e/base/i40e_adminq.c:933
> 933                                     wr32(hw, hw->aq.asq.tail, 
> hw->aq.asq.next_to_use);
> (gdb) bt
> #0  0x00007fffb07b9f07 in i40e_asq_send_command (hw=0x7fc1fff9d340, 
> desc=0x7fffb9880cc0, buff=0x7fc2002c3b80, buff_size=16, cmd_details=0x0)
>     at 
> /home/aloaugus/vpp/build-root/build-vpp_debug-native/external/dpdk-19.08/drivers/net/i40e/base/i40e_adminq.c:933
> #1  0x00007fffb0812e1c in i40e_aq_remove_macvlan (hw=0x7fc1fff9d340, 
> seid=390, mv_list=0x7fc2002c3b80, count=1, cmd_details=0x0)
>     at 
> /home/aloaugus/vpp/build-root/build-vpp_debug-native/external/dpdk-19.08/drivers/net/i40e/base/i40e_common.c:3121
> #2  0x00007fffb0992a10 in i40e_remove_macvlan_filters (vsi=0x7fc1fff1aac0, 
> filter=0x7fc1fff1c280, total=1) at 
> /home/aloaugus/vpp/build-root/build-vpp_debug-native/external/dpdk-19.08/drivers/net/i40e/i40e_ethdev.c:6881
> #3  0x00007fffb09bd4b8 in i40e_vsi_delete_mac (vsi=0x7fc1fff1aac0, 
> addr=0x7fffb98856c0) at 
> /home/aloaugus/vpp/build-root/build-vpp_debug-native/external/dpdk-19.08/drivers/net/i40e/i40e_ethdev.c:7319
> #4  0x00007fffb0a2172b in i40e_set_default_mac_addr (dev=0x7fffb3069d00 
> <rte_eth_devices>, mac_addr=0x7fc1fff1a500) at 
> /home/aloaugus/vpp/build-root/build-vpp_debug-native/external/dpdk-19.08/drivers/net/i40e/i40e_ethdev.c:11962
> #5  0x00007fffaffb3491 in rte_eth_dev_mac_restore (dev=0x7fffb3069d00 
> <rte_eth_devices>, dev_info=0x7fffb9885770) at 
> /home/aloaugus/vpp/build-root/build-vpp_debug-native/external/dpdk-19.08/lib/librte_ethdev/rte_ethdev.c:1357
> #6  0x00007fffaffb35d5 in rte_eth_dev_config_restore (dev=0x7fffb3069d00 
> <rte_eth_devices>, dev_info=0x7fffb9885770, port_id=0)
>     at 
> /home/aloaugus/vpp/build-root/build-vpp_debug-native/external/dpdk-19.08/lib/librte_ethdev/rte_ethdev.c:1388
> #7  0x00007fffaffb37e9 in rte_eth_dev_start (port_id=0) at 
> /home/aloaugus/vpp/build-root/build-vpp_debug-native/external/dpdk-19.08/lib/librte_ethdev/rte_ethdev.c:1435
> #8  0x00007fffb2732604 in dpdk_device_start (xd=0x7fffb9842740) at 
> /home/aloaugus/vpp/src/plugins/dpdk/device/common.c:168
> #9  0x00007fffb274b25d in dpdk_interface_admin_up_down (vnm=0x7ffff7b64520 
> <vnet_main>, hw_if_index=1, flags=1) at 
> /home/aloaugus/vpp/src/plugins/dpdk/device/device.c:483
> #10 0x00007ffff6c71bb4 in vnet_sw_interface_set_flags_helper 
> (vnm=0x7ffff7b64520 <vnet_main>, sw_if_index=1, 
> flags=VNET_SW_INTERFACE_FLAG_ADMIN_UP, helper_flags=(unknown: 0)) at 
> /home/aloaugus/vpp/src/vnet/interface.c:455
> #11 0x00007ffff6c71cde in vnet_sw_interface_set_flags (vnm=0x7ffff7b64520 
> <vnet_main>, sw_if_index=1, flags=VNET_SW_INTERFACE_FLAG_ADMIN_UP) at 
> /home/aloaugus/vpp/src/vnet/interface.c:504
> #12 0x00007ffff6c8d3b1 in set_state (vm=0x7ffff66b5dc0 <vlib_global_main>, 
> input=0x7fffb9885f00, cmd=0x7fffb9534e40) at 
> /home/aloaugus/vpp/src/vnet/interface_cli.c:902
> #13 0x00007ffff63c7085 in vlib_cli_dispatch_sub_commands (vm=0x7ffff66b5dc0 
> <vlib_global_main>, cm=0x7ffff66b5fd0 <vlib_global_main+528>, 
> input=0x7fffb9885f00, parent_command_index=66) at 
> /home/aloaugus/vpp/src/vlib/cli.c:645
> #14 0x00007ffff63c6f1a in vlib_cli_dispatch_sub_commands (vm=0x7ffff66b5dc0 
> <vlib_global_main>, cm=0x7ffff66b5fd0 <vlib_global_main+528>, 
> input=0x7fffb9885f00, parent_command_index=36) at 
> /home/aloaugus/vpp/src/vlib/cli.c:606
> #15 0x00007ffff63c6f1a in vlib_cli_dispatch_sub_commands (vm=0x7ffff66b5dc0 
> <vlib_global_main>, cm=0x7ffff66b5fd0 <vlib_global_main+528>, 
> input=0x7fffb9885f00, parent_command_index=0) at 
> /home/aloaugus/vpp/src/vlib/cli.c:606
> #16 0x00007ffff63c74b0 in vlib_cli_input (vm=0x7ffff66b5dc0 
> <vlib_global_main>, input=0x7fffb9885f00, function=0x7ffff646d6de 
> <unix_vlib_cli_output>, function_arg=0) at 
> /home/aloaugus/vpp/src/vlib/cli.c:746
> #17 0x00007ffff6473514 in unix_cli_process_input (cm=0x7ffff66b67a0 
> <unix_cli_main>, cli_file_index=0) at 
> /home/aloaugus/vpp/src/vlib/unix/cli.c:2525
> #18 0x00007ffff6474086 in unix_cli_process (vm=0x7ffff66b5dc0 
> <vlib_global_main>, rt=0x7fffb9875000, f=0x0) at 
> /home/aloaugus/vpp/src/vlib/unix/cli.c:2641
> #19 0x00007ffff64148e4 in vlib_process_bootstrap (_a=140736284985712) at 
> /home/aloaugus/vpp/src/vlib/main.c:1468
> #20 0x00007ffff5eb7a48 in clib_calljmp () from 
> /home/aloaugus/vpp/build-root/install-vpp_debug-native/vpp/lib/libvppinfra.so.20.01
> #21 0x00007fffb8460940 in ?? ()
> #22 0x00007ffff64149ec in vlib_process_startup (vm=0x7ffff66b5dc0 
> <vlib_global_main>, p=0x259, f=0x0) at /home/aloaugus/vpp/src/vlib/main.c:1490
> Backtrace stopped: previous frame inner to this frame (corrupt stack?)
>  
>  
> Reverting commit b6103105f99e0c7f210a9596f205a1efd21b626f (update of dpdk to 
> 19.08) fixes the issue.
>  
> Thanks,
> Aloÿs
>  
> 
> On 11 Sep 2019, at 21:29, Damjan Marion via Lists.Fd.Io 
> <dmarion=me....@lists.fd.io <mailto:dmarion=me....@lists.fd.io>> wrote:
>  
> 
> 
> 
> On 11 Sep 2019, at 16:43, Mathias Raoul <mathias.ra...@gmail.com 
> <mailto:mathias.ra...@gmail.com>> wrote:
>  
> Hello,
>  
> I have an issue with VPP and i40e driver, when I try to switch the interface 
> to up, the program stop with a segmentation fault. My configuration details 
> are below.
>  
> It might be a compatibility issue, because the DPDK documentation recommend 
> using the firmware v7 for i40E with DPDK v19.08. But the firmware is not yet 
> available for the  Cisco XL710 card.
> vpp stop in this file : dpdk-19.08/drivers/net/i40/base/i40e_adminq.c:933
> When I change dpdk version to 19.05 the bug disappear.
>  
> DBGvpp# show int
>               Name               Idx    State  MTU (L3/IP4/IP6/MPLS)     
> Counter          Count
> FortyGigabitEthernet5e/0/0        1     down         9000/0/0/0
> local0                            0     down          0/0/0/0
> DBGvpp# set interface state FortyGigabitEthernet5e/0/0  up
> vl_msg_api_trace_save:252: Message table length 44998
>  
>  
> Configuration:
> VPP : last commit on master : 1146ff4bcd336d8efc19405f1d83914e6115a01f
>  
> show version verbose
> Version:                  v20.01-rc0~171-g1146ff4bc
> Compiled by:              root
> Compile host:             524b94e75c4d
> Compile date:             Wed Sep 11 12:42:53 UTC 2019
> Compile location:         /home/mraoul/dev/vpp
> Compiler:                 GCC 7.4.0
> Current PID:              19052
>  
> OS : Ubuntu 18.04.2 LTS
>  
> Network card : Intel Corporation Ethernet Controller XL710 for 40GbE QSFP+ 
> (rev 02)\
>  
> There is no enough information in your email to make any conclusion. Can you 
> try to run VPP under gdb and grab traceback, preferably with debug image?
>  
> -- 
> Damjan
>  
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> 
> View/Reply Online (#13964): https://lists.fd.io/g/vpp-dev/message/13964 
> <https://lists.fd.io/g/vpp-dev/message/13964>
> Mute This Topic: https://lists.fd.io/mt/34104216/1643303 
> <https://lists.fd.io/mt/34104216/1643303>
> Group Owner: vpp-dev+ow...@lists.fd.io <mailto:vpp-dev+ow...@lists.fd.io>
> Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub 
> <https://lists.fd.io/g/vpp-dev/unsub>  [aloau...@cisco.com 
> <mailto:aloau...@cisco.com>]
> -=-=-=-=-=-=-=-=-=-=-=-
>  
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> 
> View/Reply Online (#13971): https://lists.fd.io/g/vpp-dev/message/13971 
> <https://lists.fd.io/g/vpp-dev/message/13971>
> Mute This Topic: https://lists.fd.io/mt/34104216/675642 
> <https://lists.fd.io/mt/34104216/675642>
> Group Owner: vpp-dev+ow...@lists.fd.io <mailto:vpp-dev+ow...@lists.fd.io>
> Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub 
> <https://lists.fd.io/g/vpp-dev/unsub>  [dmar...@me.com 
> <mailto:dmar...@me.com>]
> -=-=-=-=-=-=-=-=-=-=-=-

Attachment: smime.p7s
Description: S/MIME cryptographic signature

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#13999): https://lists.fd.io/g/vpp-dev/message/13999
Mute This Topic: https://lists.fd.io/mt/34104216/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to