dragonwell-project / dragonwell8

Alibaba Dragonwell8 JDK
http://dragonwell-jdk.io
GNU General Public License v2.0
4.19k stars 494 forks source link

[dragonwell8][fastdebug][nightly]runtime/coroutine/JStackWispContainerIdTest.java随机报错assert(_prev_active_event == -1) failed: should have only one active timer #671

Open sendaoYan opened 4 weeks ago

sendaoYan commented 4 weeks ago

https://tone.aliyun-inc.com/ws/xesljfzh/test_result/354703?tab=1
【环境准备】

BINARY_URL=oss://compiler-ci-bucket/dragonwell8/CI/tar/20240808-002915-479-#502-linux.aarch64.fastdebug.master-419cf4b4e4f66bd0d91a4dfa5cf2a5d5eb47291f.tar.gz
JTREG_URL=oss://compiler-ci-bucket/jdk/tools/jtreg5.1-b01.zip
JDK_REPO=https://github.com/dragonwell-project/dragonwell8.git
JDK_BRANCH=master
cd ~/tone/tone-matrix-compiler/common;./ossutil.bin_$(arch) -i;cd -
alias oss="~/tone/tone-matrix-compiler/common/ossutil.bin_$(arch) -e oss-cn-hangzhou.aliyuncs.com -u jvm_dev-b  ~/tone/tone-matrix-compiler/common/ossutil_bin/ossutil -o download -f -r"

部署二进制:
oss $BINARY_URL -l ${BINARY_URL##*/}
mkdir bin-dragonwell8;tar -xf ${BINARY_URL##*/} -C bin-dragonwell8

部署jtreg工具:
oss $JTREG_URL -l ${JTREG_URL##*/};unzip ${JTREG_URL##*/}

部署用例repo
git clone -b $JDK_BRANCH $JDK_REPO jdk-repo-dragonwell8

执行以下命令:
cd bin-dragonwell8/j2sdk-image && export JAVA_HOME=$PWD ; export PATH=$JAVA_HOME/bin:$PATH ; export TEST_JDK_HOME=$JAVA_HOME && cd -
cd jtreg ;export JT_HOME=$PWD ; export PATH=$PWD/bin:$PATH;cd -

jtreg  -nr -v:fail,error -w tmp  -Xmixed  jdk-repo-dragonwell8/hotspot/test/runtime/coroutine/JStackWispContainerIdTest.java

失败率1/3000,openjdk8不涉及该用例,复现命令

[dongzhichun@CompilerTest-aarch64-5 dragonwell8-debug]$ function runJtreg() { jtreg -Xmixed -ea -esa -timeoutFactor:4 -v:fail,error,time,nopass -nr -w $di$dir/$1.log ; if [[ 0 -ne $? ]] ; then echo -n "$1 " ; else rm -rf $dir/index-$1 $dir/$1.log ; fi ; } ; export -f runJtreg ; export dir="tmp-jtreg-"`basena | sed "s|#|_|"` ; rm -rf $dir ; mkdir -p $dir ; time seq 3000 | xargs -i -n 1 -P `nproc` bash -c "runJtreg {}" ; echo total fail number: `ls $dir/*.log awk '{print $1}'`
142
real    32m56.906s
user    826m49.530s
sys     189m36.050s
total fail number: 1

【用例日志】
142.log
index-142.zip

# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc:  SuppressErrorAt=/classLoader.cpp:1765
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/home/admin/workspace/dragonwell8.nightly.pipeline/hotspot/src/share/vm/classfile/classLoader.cpp:1765), pid=4041314, tid=0x0000fffef6acf150
#  assert(_prev_active_event == -1) failed: should have only one active timer
#
# JRE version: OpenJDK Runtime Environment (8.0_372-b01) (build 1.8.0_372-fastdebug-b01)
# Java VM: OpenJDK 64-Bit Server VM (25.372-b01-fastdebug mixed mode linux-aarch64 compressed oops)
# Core dump written. Default location: /home/dongzhichun/working/tone/dragonwell8-debug/tmp-jtreg-JStackWispContainerIdTest/index-142/scratch/core or core.4041314
#
# An error report file with more information is saved as:
# /home/dongzhichun/working/tone/dragonwell8-debug/tmp-jtreg-JStackWispContainerIdTest/index-142/scratch/hs_err_pid4041314.log
#
# If you would like to submit a bug report, please visit:
#   mailto:dragonwell_use@googlegroups.com
#

【版本信息】

[dongzhichun@CompilerTest-aarch64-5 dragonwell8-debug]$ uname -a ; cat /etc/os-release ; free -h ; lscpu | head -n 25 ; java -version ; java -Xinternalversion
Linux CompilerTest-aarch64-5 5.10.134-16.1.al8.aarch64 #1 SMP Thu Dec 7 22:04:51 CST 2023 aarch64 aarch64 aarch64 GNU/Linux
NAME="Alibaba Cloud Linux"
VERSION="3 (Soaring Falcon)"
ID="alinux"
ID_LIKE="rhel fedora centos anolis"
VERSION_ID="3"
UPDATE_ID="9"
PLATFORM_ID="platform:al8"
PRETTY_NAME="Alibaba Cloud Linux 3 (Soaring Falcon)"
ANSI_COLOR="0;31"
HOME_URL="https://www.aliyun.com/"

              total        used        free      shared  buff/cache   available
Mem:          122Gi       1.4Gi       120Gi        26Mi       407Mi       120Gi
Swap:            0B          0B          0B
Architecture:        aarch64
Byte Order:          Little Endian
CPU(s):              32
On-line CPU(s) list: 0-31
Thread(s) per core:  1
Core(s) per socket:  32
Socket(s):           1
NUMA node(s):        1
Vendor ID:           ARM
Model:               0
Model name:          Neoverse-N2
Stepping:            r0p0
CPU MHz:             3000.000
CPU max MHz:         3000.0000
CPU min MHz:         3000.0000
BogoMIPS:            100.00
L1d cache:           64K
L1i cache:           64K
L2 cache:            1024K
L3 cache:            65536K
NUMA node0 CPU(s):   0-31
Flags:               fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm ssbs sb dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh
openjdk version "1.8.0_372-fastdebug"
OpenJDK Runtime Environment (Alibaba Dragonwell Extended Edition 8.19.20) (build 1.8.0_372-fastdebug-b01)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell Extended Edition 8.19.20) (build 25.372-b01-fastdebug, mixed mode)
OpenJDK 64-Bit Server VM (25.372-b01-fastdebug) for linux-aarch64 JRE (1.8.0_372-b01), built on Aug  7 2024 16:32:46 by "" with gcc 4.8.5 20150623 (Red Hat 4.8.5-44)
sendaoYan commented 4 weeks ago

https://code.alibaba-inc.com/os-quality/tone-matrix-compiler/codereview/17975848