dragonwell-project / dragonwell8

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

[dragonwell8][nightly][fastdebug]jdk/jfr/event/os/TestCPUTimeStampCounter.java小概率随机assert(wf.check_method_context(ctxk, m)) failed: proper context #656

Closed sendaoYan closed 3 months ago

sendaoYan commented 3 months ago

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

BINARY_URL=oss://compiler-ci-bucket/dragonwell8/CI/tar/20240712-144239-511-#464-linux.x86_64.fastdebug.master-f827bf4b420f88370908728a3e4c0e67b07d6132.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/jdk/test/jdk/jfr/event/os/TestCPUTimeStampCounter.java

复现率1/3w
复现job:https://tone.aliyun-inc.com/ws/xesljfzh/test_result/344620
hs_err_pid3437878.log
【用例日志】

STDOUT:
Dependency method not found in the associated context:
  context = java.lang.Exception
  method =  java.lang.Throwable::toString
  found =  java.lang.Throwable::toString
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc:  SuppressErrorAt=/dependencies.cpp:1582
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/home/admin/workspace/dragonwell8.nightly.pipeline/hotspot/src/share/vm/code/dependencies.cpp:1582), pid=3437878, tid=0x00007fce2a0e0640
#  assert(wf.check_method_context(ctxk, m)) failed: proper context
#
# 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-amd64 compressed oops)
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /var/tmp/tone/run/jtreg/jt-work/index-19169/jdk/jfr/event/os/TestCPUTimeStampCounter/hs_err_pid3437878.log
#
# Compiler replay data is saved as:
# /var/tmp/tone/run/jtreg/jt-work/index-19169/jdk/jfr/event/os/TestCPUTimeStampCounter/replay_pid3437878.log
#
# If you would like to submit a bug report, please visit:
#   mailto:dragonwell_use@googlegroups.com
#
Current thread is 140523445552704
Dumping core ...

【版本信息】

$ uname -a ; cat /etc/os-release ; free -h ; lscpu | head -n 25 ; java -version ; java -Xinternalversion
Linux CompilerTest-x64-3 5.10.134-16.1.al8.x86_64 #1 SMP Thu Dec 7 14:11:24 UTC 2023 x86_64 x86_64 x86_64 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:          123Gi       5.5Gi       117Gi       3.0Mi       989Mi       117Gi
Swap:            0B          0B          0B
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              32
On-line CPU(s) list: 0-31
Thread(s) per core:  2
Core(s) per socket:  16
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               106
Model name:          Intel(R) Xeon(R) Platinum 8369B CPU @ 2.70GHz
Stepping:            6
CPU MHz:             3548.377
BogoMIPS:            5399.99
Hypervisor vendor:   KVM
Virtualization type: full
L1d cache:           48K
L1i cache:           32K
L2 cache:            1280K
L3 cache:            49152K
NUMA node0 CPU(s):   0-31
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq monitor ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single ibrs_enhanced fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves wbnoinvd arat avx512vbmi pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq rdpid fsrm arch_capabilities
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-amd64 JRE (1.8.0_372-b01), built on Jul 12 2024 06:46:24 by "" with gcc 4.8.2 20140120 (Red Hat 4.8.2-15)
sendaoYan commented 3 months ago

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

D-D-H commented 3 months ago

从 stack trace 上看不像是 jfr 引起的问题。

kuaiwei commented 3 months ago

It's similar with https://bugs.openjdk.org/browse/JDK-6563994 . JFR redefine class and cause trouble. Port https://hg.openjdk.org/jdk9/jdk9/hotspot/rev/f645d100b058 may resolve it.