DPDK patches and discussions
 help / color / mirror / Atom feed
From: bugzilla@dpdk.org
To: dev@dpdk.org
Subject: [Bug 1006] [dpdk-22.03] [asan] coremask/individual_coremask: AddressSanitizer DEADLYSIGNAL
Date: Mon, 09 May 2022 07:12:21 +0000	[thread overview]
Message-ID: <bug-1006-3@http.bugs.dpdk.org/> (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: dev@dpdk.org
          Reporter: songx.jiale@intel.com
  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 <hkalra@marvell.com>
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")
    Cc: stable@dpdk.org

    Signed-off-by: Harman Kalra <hkalra@marvell.com>
    Acked-by: Jerin Jacob <jerinj@marvell.com>

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

             reply	other threads:[~2022-05-09  7:12 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-09  7:12 bugzilla [this message]
2022-05-10  9:53 ` bugzilla
2022-10-26  4:26 ` bugzilla
2022-10-26  5:30 ` bugzilla

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-1006-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).