Bug 938 - [TAP] testpmd crashed after stopping ports
Summary: [TAP] testpmd crashed after stopping ports
Status: UNCONFIRMED
Alias: None
Product: DPDK
Classification: Unclassified
Component: ethdev (show other bugs)
Version: 21.11
Hardware: All All
: Normal normal
Target Milestone: ---
Assignee: dev
URL:
Depends on:
Blocks:
 
Reported: 2022-02-24 17:21 CET by Subhi Masri
Modified: 2022-03-07 13:36 CET (History)
1 user (show)



Attachments

Description Subhi Masri 2022-02-24 17:21:02 CET
To reproduce : 

./build-meson/app/dpdk-testpmd -n -4 -a 0002:00:02.0 -- -i

testpmd> port stop all

Result : 

tap_lsc_intr_handle_set(): intr callback unregister failed: -2
*** Error in `./build-meson/app/dpdk-testpmd': free(): invalid pointer: 0x0000000100395400 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x81429)[0x7f18879df429]
./build-meson/app/dpdk-testpmd(tap_rx_intr_vec_set+0x47)[0x177b527]
./build-meson/app/dpdk-testpmd[0x1771c2e]
./build-meson/app/dpdk-testpmd(rte_eth_dev_stop+0x80)[0x1087650]
./build-meson/app/dpdk-testpmd[0x139fa3d]
./build-meson/app/dpdk-testpmd(rte_eth_dev_stop+0x80)[0x1087650]
./build-meson/app/dpdk-testpmd(stop_port+0x250)[0xf030c0]
./build-meson/app/dpdk-testpmd(cmdline_parse+0x369)[0x1080809]
./build-meson/app/dpdk-testpmd[0x107f790]
./build-meson/app/dpdk-testpmd(rdline_char_in+0xf4)[0x10829f4]
./build-meson/app/dpdk-testpmd(cmdline_in+0x77)[0x107f867]
./build-meson/app/dpdk-testpmd(cmdline_interact+0x30)[0x107fa20]
./build-meson/app/dpdk-testpmd(main+0x83e)[0x5a538e]
/lib64/libc.so.6(__libc_start_main+0xf5)[0x7f18879803d5]
./build-meson/app/dpdk-testpmd[0xeb7852]
======= Memory map: ========
00400000-01d4d000 r-xp 00000000 08:03 600613                             /root/dpdk-22.03-rc1/build-meson/app/dpdk-testpmd
01f4d000-01f7c000 r--p 0194d000 08:03 600613                             /root/dpdk-22.03-rc1/build-meson/app/dpdk-testpmd
01f7c000-021af000 rw-p 0197c000 08:03 600613                             /root/dpdk-22.03-rc1/build-meson/app/dpdk-testpmd
021af000-027bb000 rw-p 00000000 00:00 0 
03671000-036f9000 rw-p 00000000 00:00 0                                  [heap]
100000000-100007000 rw-s 00000000 00:13 23207                            /run/dpdk/rte/config
100007000-100035000 rw-s 00000000 00:13 21644                            /run/dpdk/rte/fbarray_memzone
100035000-100096000 rw-s 00000000 00:13 21645                            /run/dpdk/rte/fbarray_memseg-2048k-0-0
100200000-100400000 rw-s 00000000 00:24 25487                            /dev/hugepages/rtemap_0
100400000-100600000 rw-s 00000000 00:24 25557                            /dev/hugepages/rtemap_1
100600000-100800000 rw-s 00000000 00:24 25558                            /dev/hugepages/rtemap_2
100800000-100a00000 rw-s 00000000 00:24 25559                            /dev/hugepages/rtemap_3
100a00000-100c00000 rw-s 00000000 00:24 25560                            /dev/hugepages/rtemap_4
100c00000-100e00000 rw-s 00000000 00:24 25561                            /dev/hugepages/rtemap_5
100e00000-101000000 rw-s 00000000 00:24 25562                            /dev/hugepages/rtemap_6
101000000-101200000 rw-s 00000000 00:24 25564                            /dev/hugepages/rtemap_7
101200000-101400000 rw-s 00000000 00:24 25565                            /dev/hugepages/rtemap_8
101400000-101600000 rw-s 00000000 00:24 25566                            /dev/hugepages/rtemap_9
101600000-101800000 rw-s 00000000 00:24 25567                            /dev/hugepages/rtemap_10
101800000-101a00000 rw-s 00000000 00:24 25568                            /dev/hugepages/rtemap_11
101a00000-101c00000 rw-s 00000000 00:24 25569                            /dev/hugepages/rtemap_12
101c00000-101e00000 rw-s 00000000 00:24 25570                            /dev/hugepages/rtemap_13
101e00000-102000000 rw-s 00000000 00:24 25571                            /dev/hugepages/rtemap_14
102000000-102200000 rw-s 00000000 00:24 25572                            /dev/hugepages/rtemap_15
102200000-102400000 rw-s 00000000 00:24 25573                            /dev/hugepages/rtemap_16
102400000-102600000 rw-s 00000000 00:24 25574                            /dev/hugepages/rtemap_17
102600000-102800000 rw-s 00000000 00:24 25575                            /dev/hugepages/rtemap_18
102800000-102a00000 rw-s 00000000 00:24 25576                            /dev/hugepages/rtemap_19
102a00000-102c00000 rw-s 00000000 00:24 25577                            /dev/hugepages/rtemap_20
102c00000-102e00000 rw-s 00000000 00:24 25578                            /dev/hugepages/rtemap_21
102e00000-103000000 rw-s 00000000 00:24 25579                            /dev/hugepages/rtemap_22
103000000-103200000 rw-s 00000000 00:24 25580                            /dev/hugepages/rtemap_23
103200000-103400000 rw-s 00000000 00:24 25581                            /dev/hugepages/rtemap_24
103400000-103600000 rw-s 00000000 00:24 25582                            /dev/hugepages/rtemap_25
103600000-103800000 rw-s 00000000 00:24 25583                            /dev/hugepages/rtemap_26
103800000-103a00000 rw-s 00000000 00:24 25584                            /dev/hugepages/rtemap_27
103a00000-103c00000 rw-s 00000000 00:24 25585                            /dev/hugepages/rtemap_28
103c00000-103e00000 rw-s 00000000 00:24 25586                            /dev/hugepages/rtemap_29
103e00000-104000000 rw-s 00000000 00:24 25587                            /dev/hugepages/rtemap_30
104000000-104200000 rw-s 00000000 00:24 25588                            /dev/hugepages/rtemap_31
104200000-104400000 rw-s 00000000 00:24 25589                            /dev/hugepages/rtemap_32
104400000-104600000 rw-s 00000000 00:24 25590                            /dev/hugepages/rtemap_33
104600000-104800000 rw-s 00000000 00:24 25591                            /dev/hugepages/rtemap_34
104800000-104a00000 rw-s 00000000 00:24 25592                            /dev/hugepages/rtemap_35
104a00000-104c00000 rw-s 00000000 00:24 25593                            /dev/hugepages/rtemap_36
104c00000-104e00000 rw-s 00000000 00:24 25594                            /dev/hugepages/rtemap_37
104e00000-105000000 rw-s 00000000 00:24 25595                            /dev/hugepages/rtemap_38
105000000-105200000 rw-s 00000000 00:24 25596                            /dev/hugepages/rtemap_39
105200000-105400000 rw-s 00000000 00:24 25597                            /dev/hugepages/rtemap_40
105400000-105600000 rw-s 00000000 00:24 25598                            /dev/hugepages/rtemap_41
105600000-105800000 rw-s 00000000 00:24 25599                            /dev/hugepages/rtemap_42
105800000-105a00000 rw-s 00000000 00:24 25600                            /dev/hugepages/rtemap_43
105a00000-105c00000 rw-s 00000000 00:24 25601                            /dev/hugepages/rtemap_44
105c00000-105e00000 rw-s 00000000 00:24 25602                            /dev/hugepages/rtemap_45Aborted (core dumped)


Setup details : 
Hypervisor : Windows Server AH2021
WinOF2 version 2.62

Guest host : Redhat 7.5
Guest gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28) 
Guest Kernel :  3.10.0-862.el7.x86_64
Comment 1 Raslan Darawsheh 2022-03-07 13:36:52 CET
this issue casused by this change:

d61138d4f0e2927cc1d0fef6d810fa7f5d1161a1 is the first bad commit
commit d61138d4f0e2927cc1d0fef6d810fa7f5d1161a1
Author: Harman Kalra <hkalra@marvell.com>
Date:   Sat Oct 23 02:19:32 2021 +0530

    drivers: remove direct access to interrupt handle

    Removing direct access to interrupt handle structure fields,
    rather use respective get set APIs for the same.
    Making changes to all the drivers access the interrupt handle fields.

    Signed-off-by: Harman Kalra <hkalra@marvell.com>
    Acked-by: Hyong Youb Kim <hyonkim@cisco.com>
    Signed-off-by: David Marchand <david.marchand@redhat.com>
    Tested-by: Raslan Darawsheh <rasland@nvidia.com>

Note You need to log in before you can comment on or make changes to this bug.