dragonwell-project / dragonwell8

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

[regress]sanity.system多个用例报错java.lang.BootstrapMethodError: java.lang.ExceptionInInitializerError #603

Closed sendaoYan closed 11 months ago

sendaoYan commented 1 year ago

测试结果: image

上一个dragonwell8 release,本地temurin 8均没有问题

image

image

测试命令: java -Dlog4j.skipJansi=true -Djava.system.class.loader=net.adoptopenjdk.stf.runner.StfClassLoader -classpath /home/admin/workspace-issue309/Test_openjdk8_dragonwell_sanity.system_x86-64_linux/aqa-tests/TKG/../../jvmtest/system/mathLoadTest/..//systemtest_prereqs/log4j/log4j-api.jar:/home/admin/workspace-issue309/Test_openjdk8_dragonwell_sanity.system_x86-64_linux/aqa-tests/TKG/../../jvmtest/system/mathLoadTest/..//systemtest_prereqs/log4j/log4j-core.jar:/home/admin/workspace-issue309/Test_openjdk8_dragonwell_sanity.system_x86-64_linux/jvmtest/system/STF/stf.core/scripts/../bin net.adoptopenjdk.stf.runner.StfRunner -properties "Test_openjdk8_dragonwell_sanity.system_x86-64_linux/aqa-tests/TKG/output_1700815712197/MathLoadTest_autosimd_5m_0/20231124-164836-MathLoadTest/stf_parameters.properties , , /home/admin/workspace-issue309/Test_openjdk8_dragonwell_sanity.system_x86-64_linux/jvmtest/system/STF/stf.core/config/stf.properties" -testDir "/home/admin/workspace-issue309/Test_openjdk8_dragonwell_sanity.system_x86-64_linux/aqa-tests/TKG/../TKG/output_16993530724451/MathLoadTest_autosimd_5m_0/20231107-183113-MathLoadTest"

测试环境: 8.208.101.159 /home/admin/workspace-issue309

【环境准备】

BINARY_URL=https://dragonwell.oss-cn-shanghai.aliyuncs.com/test-54/OpenJDK8U-jdk_x64_linux_dragonwell_2023-11-07-09-10.tar.gz BINARY_URL=https://dragonwell.oss-cn-shanghai.aliyuncs.com/test-54/OpenJDK8U-jdk_aarch64_linux_dragonwell_2023-11-07-09-10.tar.gz

【当前失败】

sanity.system当前测试
x86: http://ci.dragonwell-jdk.io/job/Test_openjdk8_dragonwell_sanity.system_x86-64_linux/352/ arm: http://ci.dragonwell-jdk.io/job/Test_openjdk8_dragonwell_sanity.system_aarch64_linux/259/ extended.system当前测试 x86: http://ci.dragonwell-jdk.io/job/Test_openjdk8_dragonwell_extended.system_x86-64_linux/353/ arm: http://ci.dragonwell-jdk.io/job/Test_openjdk8_dragonwell_extended.system_aarch64_linux/258/

【对比测试】

dragonwell8 release版本没有问题. https://dragonwell.oss-cn-shanghai.aliyuncs.com/8.16.17/Alibaba_Dragonwell_Extended_8.16.17_x64_linux.tar.gz https://dragonwell.oss-cn-shanghai.aliyuncs.com/8.16.17/Alibaba_Dragonwell_Extended_8.16.17_aarch64_linux.tar.gz

上个版本任务链接: sanity.system测试 x86: http://ci.dragonwell-jdk.io/job/Test_openjdk8_dragonwell_sanity.system_x86-64_linux/357/ arm: extended.system测试 x86: http://ci.dragonwell-jdk.io/job/Test_openjdk8_dragonwell_extended.system_x86-64_linux/358/ arm:

[root@VM20190228-137 dragonwell-8.16.17]# java -version; java -Xinternalversion
openjdk version "1.8.0_382"
OpenJDK Runtime Environment (Alibaba Dragonwell Extended Edition 8.16.17) (build 1.8.0_382-b01)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell Extended Edition 8.16.17) (build 25.382-b01, mixed mode)
OpenJDK 64-Bit Server VM (25.382-b01) for linux-amd64 JRE (1.8.0_382-b01), built on Aug  4 2023 07:24:01 by "jenkins" with gcc 7.5.0

temurin8 上游没有问题. https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u392-b08/OpenJDK8U-jdk_aarch64_linux_hotspot_8u392b08.tar.gz https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u392-b08/OpenJDK8U-jdk_x64_alpine-linux_hotspot_8u392b08.tar.gz

上游任务链接: sanity.system上游测试
x86: http://ci.dragonwell-jdk.io/job/Test_openjdk8_dragonwell_sanity.system_x86-64_linux/355/ arm: http://ci.dragonwell-jdk.io/job/Test_openjdk8_dragonwell_sanity.system_aarch64_linux/261/ extended.system上游测试 x86: http://ci.dragonwell-jdk.io/job/Test_openjdk8_dragonwell_extended.system_x86-64_linux/356/ arm: http://ci.dragonwell-jdk.io/job/Test_openjdk8_dragonwell_extended.system_aarch64_linux/260/

[root@VM20190228-137 jdk8u392-b08]# java -version; java -Xinternalversion
openjdk version "1.8.0_392"
OpenJDK Runtime Environment (Temurin)(build 1.8.0_392-b08)
OpenJDK 64-Bit Server VM (Temurin)(build 25.392-b08, mixed mode)
OpenJDK 64-Bit Server VM (25.392-b08) for linux-amd64 JRE (1.8.0_392-b08), built on Oct 18 2023 00:06:46 by "jenkins" with gcc 7.5.0

【用例日志】

 STF 18:38:18.900 - Starting process to generate scripts: /home/admin/workspace/Test_openjdk8_dragonwell_sanity.system_aarch64_linux/jdkbinary/j2sdk-image/bin/java  -Dlog4j.skipJansi=true -Djava.system.class.loader=net.adoptopenjdk.stf.runner.StfClassLoader -classpath /home/admin/workspace/Test_openjdk8_dragonwell_sanity.system_aarch64_linux/aqa-tests/TKG/../../jvmtest/system/jlm/..//systemtest_prereqs/log4j/log4j-api.jar:/home/admin/workspace/Test_openjdk8_dragonwell_sanity.system_aarch64_linux/aqa-tests/TKG/../../jvmtest/system/jlm/..//systemtest_prereqs/log4j/log4j-core.jar:/home/admin/workspace/Test_openjdk8_dragonwell_sanity.system_aarch64_linux/jvmtest/system/STF/stf.core/scripts/../bin net.adoptopenjdk.stf.runner.StfRunner -properties "/home/admin/workspace/Test_openjdk8_dragonwell_sanity.system_aarch64_linux/aqa-tests/TKG/../TKG/output_16993534925637/TestJlmRemoteClassNoAuth_0/20231107-183818-TestJlmRemoteClassNoAuth/stf_parameters.properties, , /home/admin/workspace/Test_openjdk8_dragonwell_sanity.system_aarch64_linux/jvmtest/system/STF/stf.core/config/stf.properties" -testDir "/home/admin/workspace/Test_openjdk8_dragonwell_sanity.system_aarch64_linux/aqa-tests/TKG/../TKG/output_16993534925637/TestJlmRemoteClassNoAuth_0/20231107-183818-TestJlmRemoteClassNoAuth"
18:38:19  GEN Error occurred during initialization of VM
18:38:19  GEN java.lang.BootstrapMethodError: java.lang.ExceptionInInitializerError
18:38:19  GEN   at java.lang.ClassLoader.definePackage(ClassLoader.java:1716)
18:38:19  GEN   at java.net.URLClassLoader.definePackageInternal(URLClassLoader.java:500)
18:38:19  GEN   at java.net.URLClassLoader.defineClassInternal(URLClassLoader.java:552)
18:38:19  GEN   at java.net.URLClassLoader.defineClass(URLClassLoader.java:520)
18:38:19  GEN   at java.net.URLClassLoader.access$200(URLClassLoader.java:72)
18:38:19  GEN   at java.net.URLClassLoader$1.run(URLClassLoader.java:382)
18:38:19  GEN   at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
18:38:19  GEN   at java.security.AccessController.doPrivileged(Native Method)
18:38:19  GEN   at java.net.URLClassLoader.findClassInternal(URLClassLoader.java:368)
18:38:19  GEN   at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
18:38:19  GEN   at java.lang.ClassLoader.loadClass(ClassLoader.java:427)
18:38:19  GEN   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
18:38:19  GEN   at java.lang.ClassLoader.loadClass(ClassLoader.java:360)
18:38:19  GEN   at java.lang.Class.forName0(Native Method)
18:38:19  GEN   at java.lang.Class.forName(Class.java:348)
18:38:19  GEN   at java.lang.SystemClassLoaderAction.run(ClassLoader.java:2310)
18:38:19  GEN   at java.lang.SystemClassLoaderAction.run(ClassLoader.java:2296)
18:38:19  GEN   at java.security.AccessController.doPrivileged(Native Method)
18:38:19  GEN   at java.lang.ClassLoader.initSystemClassLoader(ClassLoader.java:1573)
18:38:19  GEN   at java.lang.ClassLoader.getSystemClassLoader(ClassLoader.java:1553)
18:38:19  GEN Caused by: java.lang.ExceptionInInitializerError
18:38:19  GEN   at java.lang.invoke.BoundMethodHandle.<clinit>(BoundMethodHandle.java:830)
18:38:19  GEN   at java.lang.invoke.LambdaForm.createIdentityForms(LambdaForm.java:1778)
18:38:19  GEN   at java.lang.invoke.LambdaForm.<clinit>(LambdaForm.java:1833)
18:38:19  GEN   at java.lang.invoke.DirectMethodHandle.makePreparedLambdaForm(DirectMethodHandle.java:231)
18:38:19  GEN   at java.lang.invoke.DirectMethodHandle.preparedLambdaForm(DirectMethodHandle.java:194)
18:38:19  GEN   at java.lang.invoke.DirectMethodHandle.preparedLambdaForm(DirectMethodHandle.java:183)
18:38:19  GEN   at java.lang.invoke.DirectMethodHandle.make(DirectMethodHandle.java:89)
18:38:19  GEN   at java.lang.invoke.MethodHandles$Lookup.getDirectMethodCommon(MethodHandles.java:1660)
18:38:19  GEN   at java.lang.invoke.MethodHandles$Lookup.getDirectMethodNoSecurityManager(MethodHandles.java:1617)
18:38:19  GEN   at java.lang.invoke.MethodHandles$Lookup.getDirectMethodForConstant(MethodHandles.java:1802)
18:38:19  GEN   at java.lang.invoke.MethodHandles$Lookup.linkMethodHandleConstant(MethodHandles.java:1751)
18:38:19  GEN   at java.lang.invoke.MethodHandleNatives.linkMethodHandleConstant(MethodHandleNatives.java:477)
18:38:19  GEN   at java.lang.ClassLoader.definePackage(ClassLoader.java:1716)
18:38:19  GEN   at java.net.URLClassLoader.definePackageInternal(URLClassLoader.java:500)
18:38:19  GEN   at java.net.URLClassLoader.defineClassInternal(URLClassLoader.java:552)
18:38:19  GEN   at java.net.URLClassLoader.defineClass(URLClassLoader.java:520)
18:38:19  GEN   at java.net.URLClassLoader.access$200(URLClassLoader.java:72)
18:38:19  GEN   at java.net.URLClassLoader$1.run(URLClassLoader.java:382)
18:38:19  GEN   at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
18:38:19  GEN   at java.security.AccessController.doPrivileged(Native Method)
18:38:19  GEN   at java.net.URLClassLoader.findClassInternal(URLClassLoader.java:368)
18:38:19  GEN   at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
18:38:19  GEN   at java.lang.ClassLoader.loadClass(ClassLoader.java:427)
18:38:19  GEN   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
18:38:19  GEN   at java.lang.ClassLoader.loadClass(ClassLoader.java:360)
18:38:19  GEN   at java.lang.Class.forName0(Native Method)
18:38:19  GEN   at java.lang.Class.forName(Class.java:348)
18:38:19  GEN   at java.lang.SystemClassLoaderAction.run(ClassLoader.java:2310)
18:38:19  GEN   at java.lang.SystemClassLoaderAction.run(ClassLoader.java:2296)
18:38:19  GEN   at java.security.AccessController.doPrivileged(Native Method)
18:38:19  GEN   at java.lang.ClassLoader.initSystemClassLoader(ClassLoader.java:1573)
18:38:19  GEN   at java.lang.ClassLoader.getSystemClassLoader(ClassLoader.java:1553)
18:38:19  GEN Caused by: java.lang.IllegalStateException: recursive invocation
18:38:19  GEN   at java.lang.ClassLoader.initSystemClassLoader(ClassLoader.java:1567)
18:38:19  GEN   at java.lang.ClassLoader.getSystemClassLoader(ClassLoader.java:1553)
18:38:19  GEN   at sun.invoke.util.BytecodeDescriptor.parseMethod(BytecodeDescriptor.java:47)
18:38:19  GEN   at sun.invoke.util.BytecodeDescriptor.parseMethod(BytecodeDescriptor.java:41)
18:38:19  GEN   at java.lang.invoke.MethodType.fromMethodDescriptorString(MethodType.java:1068)
18:38:19  GEN   at java.lang.invoke.BoundMethodHandle$Factory.makeCbmhCtor(BoundMethodHandle.java:818)
18:38:19  GEN   at java.lang.invoke.BoundMethodHandle$Factory.makeCtors(BoundMethodHandle.java:763)
18:38:19  GEN   at java.lang.invoke.BoundMethodHandle$SpeciesData.initForBootstrap(BoundMethodHandle.java:361)
18:38:19  GEN   at java.lang.invoke.BoundMethodHandle$SpeciesData.<clinit>(BoundMethodHandle.java:426)
18:38:19  GEN   at java.lang.invoke.BoundMethodHandle.<clinit>(BoundMethodHandle.java:830)
18:38:19  GEN   at java.lang.invoke.LambdaForm.createIdentityForms(LambdaForm.java:1778)
18:38:19  GEN   at java.lang.invoke.LambdaForm.<clinit>(LambdaForm.java:1833)
18:38:19  GEN   at java.lang.invoke.DirectMethodHandle.makePreparedLambdaForm(DirectMethodHandle.java:231)
18:38:19  GEN   at java.lang.invoke.DirectMethodHandle.preparedLambdaForm(DirectMethodHandle.java:194)
18:38:19  GEN   at java.lang.invoke.DirectMethodHandle.preparedLambdaForm(DirectMethodHandle.java:183)
18:38:19  GEN   at java.lang.invoke.DirectMethodHandle.make(DirectMethodHandle.java:89)
18:38:19  GEN   at java.lang.invoke.MethodHandles$Lookup.getDirectMethodCommon(MethodHandles.java:1660)
18:38:19  GEN   at java.lang.invoke.MethodHandles$Lookup.getDirectMethodNoSecurityManager(MethodHandles.java:1617)
18:38:19  GEN   at java.lang.invoke.MethodHandles$Lookup.getDirectMethodForConstant(MethodHandles.java:1802)
18:38:19  GEN   at java.lang.invoke.MethodHandles$Lookup.linkMethodHandleConstant(MethodHandles.java:1751)
18:38:19  GEN   at java.lang.invoke.MethodHandleNatives.linkMethodHandleConstant(MethodHandleNatives.java:477)
18:38:19  GEN   at java.lang.ClassLoader.definePackage(ClassLoader.java:1716)
18:38:19  GEN   at java.net.URLClassLoader.definePackageInternal(URLClassLoader.java:500)
18:38:19  GEN   at java.net.URLClassLoader.defineClassInternal(URLClassLoader.java:552)
18:38:19  GEN   at java.net.URLClassLoader.defineClass(URLClassLoader.java:520)
18:38:19  GEN   at java.net.URLClassLoader.access$200(URLClassLoader.java:72)
18:38:19  GEN   at java.net.URLClassLoader$1.run(URLClassLoader.java:382)
18:38:19  GEN   at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
18:38:19  GEN   at java.security.AccessController.doPrivileged(Native Method)
18:38:19  GEN   at java.net.URLClassLoader.findClassInternal(URLClassLoader.java:368)
18:38:19  GEN   at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
18:38:19  GEN   at java.lang.ClassLoader.loadClass(ClassLoader.java:427)
18:38:19  GEN   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
18:38:19  GEN   at java.lang.ClassLoader.loadClass(ClassLoader.java:360)
18:38:19  GEN   at java.lang.Class.forName0(Native Method)
18:38:19  GEN   at java.lang.Class.forName(Class.java:348)
18:38:19  GEN   at java.lang.SystemClassLoaderAction.run(ClassLoader.java:2310)
18:38:19  GEN   at java.lang.SystemClassLoaderAction.run(ClassLoader.java:2296)
18:38:19  GEN   at java.security.AccessController.doPrivileged(Native Method)
18:38:19  GEN   at java.lang.ClassLoader.initSystemClassLoader(ClassLoader.java:1573)
18:38:19  GEN   at java.lang.ClassLoader.getSystemClassLoader(ClassLoader.java:1553)
18:38:19  GEN 
18:38:19  Generation failed
18:38:19  -----------------------------------
18:38:19  TestJlmRemoteClassNoAuth_0_FAILED
18:38:19  -----------------------------------
18:38:19  
18:38:19  TEST TEARDOWN:
18:38:19  Nothing to be done for teardown.
18:38:19  TestJlmRemoteClassNoAuth_0 Finish Time: Tue Nov  7 18:38:18 2023 Epoch Time (ms): 1699353498975
18:38:19  
18:38:19  ===============================================
18:38:20  Running test TestJlmRemoteClassNoAuth_1 ...
18:38:20  ===============================================
18:38:20  TestJlmRemoteClassNoAuth_1 Start Time: Tue Nov  7 18:38:18 2023 Epoch Time (ms): 1699353498990
18:38:20  variation: Mode650
18:38:20  JVM_OPTIONS:  -XX:-UseCompressedOops 
18:38:20  { \
18:38:20  echo "";  echo "TEST SETUP:"; \
18:38:20  echo "Nothing to be done for setup."; \
18:38:20  mkdir -p "/home/admin/workspace/Test_openjdk8_dragonwell_sanity.system_aarch64_linux/aqa-tests/TKG/../TKG/output_16993534925637/TestJlmRemoteClassNoAuth_1"; \
18:38:20  cd "/home/admin/workspace/Test_openjdk8_dragonwell_sanity.system_aarch64_linux/aqa-tests/TKG/../TKG/output_16993534925637/TestJlmRemoteClassNoAuth_1"; \
18:38:20  echo "";  echo "TESTING:"; \
18:38:20  perl /home/admin/workspace/Test_openjdk8_dragonwell_sanity.system_aarch64_linux/aqa-tests/TKG/../../jvmtest/system/jlm/..//STF/stf.core/scripts/stf.pl -test-root="/home/admin/workspace/Test_openjdk8_dragonwell_sanity.system_aarch64_linux/aqa-tests/TKG/../../jvmtest/system/jlm/..//STF;/home/admin/workspace/Test_openjdk8_dragonwell_sanity.system_aarch64_linux/aqa-tests/TKG/../../jvmtest/system/jlm/..//aqa-systemtest""" -systemtest-prereqs="/home/admin/workspace/Test_openjdk8_dragonwell_sanity.system_aarch64_linux/aqa-tests/TKG/../../jvmtest/system/jlm/..//systemtest_prereqs" -java-args=' -XX:-UseCompressedOops ' -results-root="/home/admin/workspace/Test_openjdk8_dragonwell_sanity.system_aarch64_linux/aqa-tests/TKG/../TKG/output_16993534925637/TestJlmRemoteClassNoAuth_1" -test=TestJlmRemoteClassNoAuth; \
18:38:20  if [ $? -eq 0 ]; then echo "-----------------------------------"; echo "TestJlmRemoteClassNoAuth_1""_PASSED"; echo "-----------------------------------"; cd /home/admin/workspace/Test_openjdk8_dragonwell_sanity.system_aarch64_linux/aqa-tests/TKG/..; rm -f -r "/home/admin/workspace/Test_openjdk8_dragonwell_sanity.system_aarch64_linux/aqa-tests/TKG/../TKG/output_16993534925637/TestJlmRemoteClassNoAuth_1"; else echo "-----------------------------------"; echo "TestJlmRemoteClassNoAuth_1""_FAILED"; echo "-----------------------------------"; fi; \
18:38:20  echo "";  echo "TEST TEARDOWN:"; \
18:38:20  echo "Nothing to be done for teardown."; \

【版本信息】

[root@VM20190228-137 dragonwell-8.16.17]# uname -a ; cat /etc/os-release ; free -h; lscpu| head -n 25;java -version; java -Xinternalversion
Linux VM20190228-137 5.10.134-14.al8.x86_64 #1 SMP Thu Apr 27 16:46:29 CST 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"
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:           15Gi       653Mi       3.8Gi       802Mi        10Gi        13Gi
Swap:            0B          0B          0B
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              4
On-line CPU(s) list: 0-3
Thread(s) per core:  2
Core(s) per socket:  1
Socket(s):           2
NUMA node(s):        1
Vendor ID:           GenuineIntel
BIOS Vendor ID:      Alibaba Cloud
CPU family:          6
Model:               85
Model name:          Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz
BIOS Model name:     pc-i440fx-2.1
Stepping:            4
CPU MHz:             2500.012
BogoMIPS:            5000.02
Hypervisor vendor:   KVM
Virtualization type: full
L1d cache:           32K
L1i cache:           32K
L2 cache:            1024K
L3 cache:            33792K
NUMA node0 CPU(s):   0-3
openjdk version "1.8.0_382"
OpenJDK Runtime Environment (Alibaba Dragonwell Extended Edition 8.16.17) (build 1.8.0_382-b01)
OpenJDK 64-Bit Server VM (Alibaba Dragonwell Extended Edition 8.16.17) (build 25.382-b01, mixed mode)
OpenJDK 64-Bit Server VM (25.382-b01) for linux-amd64 JRE (1.8.0_382-b01), built on Nov  7 2023 09:19:19 by "root" with gcc 7.5.0
linade commented 11 months ago

Bug appears after 708118dbe3 [EagerAppCDS] fix bug: definePackage should check cld's parent