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.
next 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.