openj9
openj9 copied to clipboard
java.lang.IllegalAccessException thrown for jdk.internal.misc.Unsafe.theUnsafe in Valhalla vt_standard testing
Many test failures are seen in recent PR sanity.functional testing with {x|z|a|p}linuxvalst (i.e., vt_standard) for pull requests #20112 and #20332. In most, if not all, cases IllegalAccessExceptions
are thrown. I was able to reproduce this in an internal personal build with the latest merged source.
12:45:24 openjdk version "24-internal" 2025-03-18
12:45:24 OpenJDK Runtime Environment (build 24-internal-adhoc.jenkins.BuildJDKnextx86-64linuxvtstandardPersonal)
12:45:24 Eclipse OpenJ9 VM (build master-d51176e7598, JRE 24 Linux amd64-64-Bit Compressed References 20241016_390 (JIT enabled, AOT enabled)
12:45:24 OpenJ9 - d51176e7598
12:45:24 OMR - 0de486a739f
12:45:24 JCL - 972edea3789 based on jdk-24+12)
13:00:49 Testing: Create and Restore Criu Checkpoint Image once - CheckpointDeadlock
13:00:49 Test start time: 2024/10/16 10:00:48 Pacific Standard Time
13:00:49 Running command: bash /home/jenkins/workspace/Test_openjdknext_j9_sanity.functional_x86-64_linux_vt_standard_Personal_testList_1/aqa-tests/TKG/../../jvmtest/functional/cmdLineTests/criu/criuScript.sh /home/jenkins/workspace/Test_openjdknext_j9_sanity.functional_x86-64_linux_vt_standard_Personal_testList_1/aqa-tests/TKG/../../jvmtest/functional/cmdLineTests/criu /home/jenkins/workspace/Test_openjdknext_j9_sanity.functional_x86-64_linux_vt_standard_Personal_testList_1/jdkbinary/j2sdk-image/bin/java " -Xjit -XX:+CRIURestoreNonPortableMode --add-opens java.base/jdk.internal.misc=ALL-UNNAMED --add-exports java.base/openj9.internal.criu=ALL-UNNAMED" org.openj9.criu.DeadlockTest CheckpointDeadlock 1 false false
13:00:49 Time spent starting: 2 milliseconds
13:00:51 Time spent executing: 2266 milliseconds
13:00:51 Test result: FAILED
13:00:51 Output from test:
13:00:51 [OUT] start running script
13:00:51 [OUT] export GLIBC_TUNABLES=glibc.cpu.hwcaps=-XSAVEC,-XSAVE,-AVX2,-ERMS,-AVX,-AVX_Fast_Unaligned_Load
13:00:51 [OUT] export LD_BIND_NOT=on
13:00:51 [OUT] /home/jenkins/workspace/Test_openjdknext_j9_sanity.functional_x86-64_linux_vt_standard_Personal_testList_1/jdkbinary/j2sdk-image/bin/java -XX:+EnableCRIUSupport -Xjit -XX:+CRIURestoreNonPortableMode --add-opens java.base/jdk.internal.misc=ALL-UNNAMED --add-exports java.base/openj9.internal.criu=ALL-UNNAMED -cp /home/jenkins/workspace/Test_openjdknext_j9_sanity.functional_x86-64_linux_vt_standard_Personal_testList_1/aqa-tests/TKG/../../jvmtest/functional/cmdLineTests/criu/criu.jar org.openj9.criu.DeadlockTest CheckpointDeadlock 1
13:00:51 [OUT] Exception in thread "main" java.lang.InternalError: java.lang.IllegalAccessException: static final field has no write access: jdk.internal.misc.Unsafe.theUnsafe/jdk.internal.misc.Unsafe/putStatic, from class java.lang.Object (module java.base)
13:00:51 [OUT] at java.base/jdk.internal.reflect.MethodHandleAccessorFactory.newFieldAccessor(MethodHandleAccessorFactory.java:207)
13:00:51 [OUT] at java.base/jdk.internal.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:144)
13:00:51 [OUT] at java.base/java.lang.reflect.Field.acquireOverrideFieldAccessor(Field.java:1212)
13:00:51 [OUT] at java.base/java.lang.reflect.Field.getOverrideFieldAccessor(Field.java:1181)
13:00:51 [OUT] at java.base/java.lang.reflect.Field.get(Field.java:454)
13:00:51 [OUT] at org.openj9.criu.DeadlockTest.<clinit>(DeadlockTest.java:356)
13:00:51 [OUT] Caused by: java.lang.IllegalAccessException: static final field has no write access: jdk.internal.misc.Unsafe.theUnsafe/jdk.internal.misc.Unsafe/putStatic, from class java.lang.Object (module java.base)
13:00:51 [OUT] at java.base/java.lang.invoke.MemberName.makeAccessException(MemberName.java:913)
13:00:51 [OUT] at java.base/java.lang.invoke.MethodHandles$Lookup.unreflectField(MethodHandles.java:3608)
13:00:51 [OUT] at java.base/java.lang.invoke.MethodHandles$Lookup.unreflectSetter(MethodHandles.java:3599)
13:00:51 [OUT] at java.base/java.lang.invoke.MethodHandleImpl$1.unreflectField(MethodHandleImpl.java:1621)
13:00:51 [OUT] at java.base/jdk.internal.reflect.MethodHandleAccessorFactory.newFieldAccessor(MethodHandleAccessorFactory.java:185)
13:00:51 [OUT] ... 5 more
13:00:51 [OUT] initiate restore
13:00:51 [OUT] Error (criu/protobuf.c:72): Unexpected EOF on (empty-image)
13:00:51 [OUT] Removed test output files
13:00:51 [OUT] finished script