All of lore.kernel.org
 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 ` [Bug 1006] [dpdk-22.03] [asan] coremask/individual_coremask: AddressSanitizer DEADLYSIGNAL 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.