Skip to contentSkip to conversation

coremask/individual_coremask: AddressSanitizer DEADLYSIGNAL

Bug 1006 [email protected] 1 participant 4 messages May 9, 2022 – Oct 26, 2022

lore
Share & tools
lore

[email protected]

author Acked-by Jerin Jacob
#0 lore raw

https://bugs.dpdk.org/show_bug.cgi?id=1006

            Bug ID: 1006
           Summary: [dpdk-22.03] [asan] coremask/individual_coremask:
                    AddressSanitizer DEADLYSIGNAL
           Product: DPDK
           Version: 22.03
          Hardware: x86
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: core
          Assignee: [email protected]
          Reporter: [email protected]

Target Milestone: ---

OS: Ubuntu 20.04.4 LTS/5.13.0-30-generic
Compiler: gcc version 9.4.0
Hardware platform: Intel(R) Xeon(R) Platinum 8380 CPU @ 2.30GHz NIC hardware: Ethernet Controller E810-C for SFP 1593 NIC firmware:
driver: vfio-pci
kdriver: ice-1.8.3
firmware:  3.20 0x8000d847 1.3146.0
pkg: ice os default 1.3.28.0

Test Setup
1. Compile dpdk:
rm -rf x86_64-native-linuxapp-gcc
CC=gcc meson -Denable_kmods=True -Dlibdir=lib  -Dbuildtype=debug -Db_lundef=false -Db_sanitize=address --default-library=static x86_64-native-linuxapp-gcc
ninja -C x86_64-native-linuxapp-gcc -j 70
2.blind port to dpdk
usertools/dpdk-devbind.py --force --bind=vfio-pci 0000:31:00.0 0000:31:00.1 0000:31:00.2 0000:31:00.3
echo 0 > /proc/sys/kernel/randomize_va_space ./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x2 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x4 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x8 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x10 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x20 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x40 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x80 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x100 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x200 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x400 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x800 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x1000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x2000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x4000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x8000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x10000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x20000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x40000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x80000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x100000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x200000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x400000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x800000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x1000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x2000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x4000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x8000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x10000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x20000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x40000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x80000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x100000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x200000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x400000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x800000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x1000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x2000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x4000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x8000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x10000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x20000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x40000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x80000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x100000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x200000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x400000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x800000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x1000000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x2000000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x4000000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x8000000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x10000000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x20000000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x40000000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x80000000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x100000000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x200000000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x400000000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x800000000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x1000000000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x2000000000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x4000000000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x8000000000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x10000000000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x20000000000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x40000000000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x80000000000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x100000000000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x200000000000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x400000000000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x800000000000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x1000000000000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x2000000000000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x4000000000000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x8000000000000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x10000000000000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x20000000000000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x40000000000000000000 -n 4 --log-level="lib.eal,8"
quit
./x86_64-native-linuxapp-gcc/app/test/dpdk-test  -c 0x80000000000000000000 -n 4 --log-level="lib.eal,8"
quit

Show the output from the previous commands.

Sometimes, when closing testpmd, the following asan errors will appear

AddressSanitizer:DEADLYSIGNAL
=================================================================

or

AddressSanitizer:DEADLYSIGNAL
=================================================================
==241012==ERROR: AddressSanitizer: SEGV on unknown address 0x7fe77ffb3fe0 (pc 0x555559d32f96 bp 0x7ffff36fc0d0 sp 0x7ffff36fc040 T1) ==241012==The signal is caused by a READ memory access. dut.10.239.251.45: ./x86_64-native-linuxapp-gcc/app/test/dpdk-test -c 0x80000000000000 -n 4 --log-level="lib.eal,8" dut.10.239.251.45: Buffered info: 0 0x555559d32f95 in ice_interrupt_handler ../drivers/net/ice/ice_ethdev.c:1276
    #1 0x5555578e3583 in eal_intr_process_interrupts ../lib/eal/linux/eal_interrupts.c:1025
    #2 0x5555578e3e08 in eal_intr_handle_interrupts ../lib/eal/linux/eal_interrupts.c:1099
    #3 0x5555578e426e in eal_intr_thread_main ../lib/eal/linux/eal_interrupts.c:1171
    #4 0x55555789da81 in ctrl_thread_init ../lib/eal/common/eal_common_thread.c:206
    #5 0x7ffff7020608 in start_thread /build/glibc-sMfBJT/glibc-2.31/nptl/pthread_create.c:477
    #6 0x7ffff6f45162 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x11f162)AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV ../drivers/net/ice/ice_ethdev.c:1276 in ice_interrupt_handler
Thread T1 created by T0 here:
    #0 0x7ffff75c9805 in pthread_create (/lib/x86_64-linux-gnu/libasan.so.5+0x3a805)
    #1 0x55555789dbc5 in rte_ctrl_thread_create ../lib/eal/common/eal_common_thread.c:227
    #2 0x5555578e4339 in rte_eal_intr_init ../lib/eal/linux/eal_interrupts.c:1199
    #3 0x5555578d3299 in rte_eal_init ../lib/eal/linux/eal.c:1042 #4 0x555555e7503e in main ../app/test/test.c:146
    #5 0x7ffff6e4a0b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x240b2)==241012==ABORTING

Expected Result:
no Asan errors

Regression

Is this issue a regression: (Y/N)Y

bad commit:

dpdk-22.03: 89d3557c8de36a40266ddfbfbaa73adcda97c8f4

[root@carlsville_210 ~/dpdk]# git show 89d3557c8de36a40266ddfbfbaa73adcda97c8f4

commit 89d3557c8de36a40266ddfbfbaa73adcda97c8f4
Author: Harman Kalra <[email protected]>
Date:   Fri Jan 21 17:34:19 2022 +0530

    common/cnxk: always use single interrupt ID with NIX

    An errata exists whereby, in certain cases NIX may use an incorrect QINT_IDX for SQ interrupts. As a result, the interrupt may not be delivered to software, or may not be associated with the correct SQ.
    When NIX uses an incorrect QINT_IDX :
    1. NIX_LF_QINT(0..63)_CNT[COUNT] will be incremented for incorrect QINT.
    2. NIX_LF_QINT(0..63)_INT[INTR] will be set for incorrect QINT.

Fixes ae06070901ab ("common/cnxk: add NIX Tx queue management API")
Signature · 2 lines
You are receiving this mail because:
You are the assignee for the bug.
#1 lore raw

https://bugs.dpdk.org/show_bug.cgi?id=1006

Jiale Song ([email protected]) changed:

What |Removed |Added
----------------------------------------------------------------------------

             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |INVALID

--- Comment #2 from Jiale Song ([email protected]) ---
it's difficult to biscet commit. Due to the randomness of this problem. we will tract internally.

Signature · 2 lines
You are receiving this mail because:
You are the assignee for the bug.
#2 lore raw
In reply to [email protected]

https://bugs.dpdk.org/show_bug.cgi?id=1006

jiang,yu ([email protected]) changed:

What |Removed |Added
----------------------------------------------------------------------------
Resolution|INVALID |FIXED

--- Comment #4 from jiang,yu ([email protected]) --- Fixed in dpdk22.11rc1
http://git.dpdk.org/dpdk/commit/?id=d5c398741dd243f737654d06d510be6b10385088

Signature · 2 lines
You are receiving this mail because:
You are the assignee for the bug.
#3 lore raw
In reply to [email protected]

https://bugs.dpdk.org/show_bug.cgi?id=1006

David Marchand ([email protected]) changed:

What |Removed |Added
----------------------------------------------------------------------------

         Resolution|FIXED                       |---
           Assignee|[email protected]                |[email protected]
             Status|RESOLVED                    |UNCONFIRMED
                 CC|                            |[email protected]

--- Comment #5 from David Marchand ([email protected]) --- The mentionned commit is not related.

Please double check, maybe you did not update the correct bz.

Signature · 2 lines
You are receiving this mail because:
You are the assignee for the bug.