Test crashes running Graal:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (open/src/hotspot/share/code/nmethod.cpp:2165), pid=32091, tid=32092
# assert(zombie_ok || !nm->is_zombie()) failed: cannot lock a zombie method: 0x7efcf49a7010
#
# JRE version: Java(TM) SE Runtime Environment (14.0+15) (fastdebug build 14-ea+15-578)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 14-ea+15-578, mixed mode, sharing, tiered, jvmci, compressed oops, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x139bd9f] nmethodLocker::lock_nmethod(CompiledMethod*, bool)+0xdf
#
--------------- T H R E A D ---------------
Current thread (0x00007efd04034800): JavaThread "main" [_thread_in_vm, id=32092, stack(0x00007efd0b0a8000,0x00007efd0b1a9000)]
Stack: [0x00007efd0b0a8000,0x00007efd0b1a9000], sp=0x00007efd0b1a6180, free space=1016k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x139bd9f] nmethodLocker::lock_nmethod(CompiledMethod*, bool)+0xdf
V [libjvm.so+0x10103f9] JVMCIEnv::invalidate_nmethod_mirror(JVMCIObject, JVMCIEnv*)+0x99
V [libjvm.so+0xfb0875] c2v_invalidateHotSpotNmethod(JNIEnv_*, _jobject*, _jobject*)+0x145
j jdk.vm.ci.hotspot.CompilerToVM.invalidateHotSpotNmethod(Ljdk/vm/ci/hotspot/HotSpotNmethod;)V+0 jdk.internal.vm.ci@14-ea
j jdk.vm.ci.hotspot.HotSpotNmethod.invalidate()V+4 jdk.internal.vm.ci@14-ea
j org.graalvm.compiler.hotspot.test.TestSHASubstitutions.testWithInstalledIntrinsic(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V+103
j org.graalvm.compiler.hotspot.test.TestSHASubstitutions.testSha256()V+34
v ~StubRoutines::call_stub
V [libjvm.so+0xe0833c] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x6ac
V [libjvm.so+0x152a945] invoke(InstanceKlass*, methodHandle const&, Handle, bool, objArrayHandle, BasicType, objArrayHandle, bool, Thread*) [clone .constprop.123]+0xc35
V [libjvm.so+0x152ba1a] Reflection::invoke_method(oop, Handle, objArrayHandle, Thread*)+0x19a
V [libjvm.so+0xf68dfc] JVM_InvokeMethod+0x22c
J 10399 jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; java.base@14-ea (0 bytes) @ 0x00007efcf478b8e7 [0x00007efcf478b760+0x0000000000000187]
J 10398 c1 jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; java.base@14-ea (104 bytes) @ 0x00007efcedc2bee4 [0x00007efcedc2aaa0+0x0000000000001444]
J 7482 c2 jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; java.base@14-ea (10 bytes) @ 0x00007efcf40e3ba0 [0x00007efcf40e3ac0+0x00000000000000e0]
J 13271 c1 org.junit.runners.model.FrameworkMethod.invokeExplosively(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (14 bytes) @ 0x00007efcecf0bd44 [0x00007efcecf0b7c0+0x0000000000000584]
j org.junit.internal.runners.statements.InvokeMethod.evaluate()V+12
j org.junit.internal.runners.statements.RunAfters.evaluate()V+12
j org.junit.runners.ParentRunner.runLeaf(Lorg/junit/runners/model/Statement;Lorg/junit/runner/Description;Lorg/junit/runner/notification/RunNotifier;)V+17
j org.junit.runners.BlockJUnit4ClassRunner.runChild(Lorg/junit/runners/model/FrameworkMethod;Lorg/junit/runner/notification/RunNotifier;)V+30
j org.junit.runners.BlockJUnit4ClassRunner.runChild(Ljava/lang/Object;Lorg/junit/runner/notification/RunNotifier;)V+6
j org.junit.runners.ParentRunner$3.run()V+12
j org.junit.runners.ParentRunner$1.schedule(Ljava/lang/Runnable;)V+1
j org.junit.runners.ParentRunner.runChildren(Lorg/junit/runner/notification/RunNotifier;)V+44
j org.junit.runners.ParentRunner.access$000(Lorg/junit/runners/ParentRunner;Lorg/junit/runner/notification/RunNotifier;)V+2
j org.junit.runners.ParentRunner$2.evaluate()V+8
j org.junit.runners.ParentRunner.run(Lorg/junit/runner/notification/RunNotifier;)V+20
j org.junit.runners.Suite.runChild(Lorg/junit/runner/Runner;Lorg/junit/runner/notification/RunNotifier;)V+2
j org.junit.runners.Suite.runChild(Ljava/lang/Object;Lorg/junit/runner/notification/RunNotifier;)V+6
j org.junit.runners.ParentRunner$3.run()V+12
j org.junit.runners.ParentRunner$1.schedule(Ljava/lang/Runnable;)V+1
j org.junit.runners.ParentRunner.runChildren(Lorg/junit/runner/notification/RunNotifier;)V+44
j org.junit.runners.ParentRunner.access$000(Lorg/junit/runners/ParentRunner;Lorg/junit/runner/notification/RunNotifier;)V+2
j org.junit.runners.ParentRunner$2.evaluate()V+8
j org.junit.runners.ParentRunner.run(Lorg/junit/runner/notification/RunNotifier;)V+20
j org.junit.runner.JUnitCore.run(Lorg/junit/runner/Runner;)Lorg/junit/runner/Result;+37
j org.junit.runner.JUnitCore.run(Lorg/junit/runner/Request;)Lorg/junit/runner/Result;+5
j com.oracle.mxtool.junit.MxJUnitWrapper.runRequest(Lorg/junit/runner/JUnitCore;Lorg/junit/internal/JUnitSystem;Lcom/oracle/mxtool/junit/MxJUnitWrapper$MxJUnitConfig;Lcom/oracle/mxtool/junit/MxJUnitRequest;)Lorg/junit/runner/Result;+360
j com.oracle.mxtool.junit.MxJUnitWrapper.main([Ljava/lang/String;)V+464
v ~StubRoutines::call_stub
V [libjvm.so+0xe0833c] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x6ac
V [libjvm.so+0xf04d90] jni_invoke_static(JNIEnv_*, JavaValue*, _jobject*, JNICallType, _jmethodID*, JNI_ArgumentPusher*, Thread*) [clone .isra.163] [clone .constprop.252]+0x220
V [libjvm.so+0xf09319] jni_CallStaticVoidMethod+0x1f9
C [libjli.so+0x4c3d] JavaMain+0xbcd
C [libjli.so+0x8159] ThreadJavaMain+0x9
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j jdk.vm.ci.hotspot.CompilerToVM.invalidateHotSpotNmethod(Ljdk/vm/ci/hotspot/HotSpotNmethod;)V+0 jdk.internal.vm.ci@14-ea
j jdk.vm.ci.hotspot.HotSpotNmethod.invalidate()V+4 jdk.internal.vm.ci@14-ea
j org.graalvm.compiler.hotspot.test.TestSHASubstitutions.testWithInstalledIntrinsic(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V+103
j org.graalvm.compiler.hotspot.test.TestSHASubstitutions.testSha256()V+34
v ~StubRoutines::call_stub
J 10399 jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; java.base@14-ea (0 bytes) @ 0x00007efcf478b86e [0x00007efcf478b760+0x000000000000010e]
J 10398 c1 jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; java.base@14-ea (104 bytes) @ 0x00007efcedc2bee4 [0x00007efcedc2aaa0+0x0000000000001444]
J 7482 c2 jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; java.base@14-ea (10 bytes) @ 0x00007efcf40e3ba0 [0x00007efcf40e3ac0+0x00000000000000e0]
J 13271 c1 org.junit.runners.model.FrameworkMethod.invokeExplosively(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (14 bytes) @ 0x00007efcecf0bd44 [0x00007efcecf0b7c0+0x0000000000000584]
j org.junit.internal.runners.statements.InvokeMethod.evaluate()V+12
j org.junit.internal.runners.statements.RunAfters.evaluate()V+12
j org.junit.runners.ParentRunner.runLeaf(Lorg/junit/runners/model/Statement;Lorg/junit/runner/Description;Lorg/junit/runner/notification/RunNotifier;)V+17
j org.junit.runners.BlockJUnit4ClassRunner.runChild(Lorg/junit/runners/model/FrameworkMethod;Lorg/junit/runner/notification/RunNotifier;)V+30
j org.junit.runners.BlockJUnit4ClassRunner.runChild(Ljava/lang/Object;Lorg/junit/runner/notification/RunNotifier;)V+6
j org.junit.runners.ParentRunner$3.run()V+12
j org.junit.runners.ParentRunner$1.schedule(Ljava/lang/Runnable;)V+1
j org.junit.runners.ParentRunner.runChildren(Lorg/junit/runner/notification/RunNotifier;)V+44
j org.junit.runners.ParentRunner.access$000(Lorg/junit/runners/ParentRunner;Lorg/junit/runner/notification/RunNotifier;)V+2
j org.junit.runners.ParentRunner$2.evaluate()V+8
j org.junit.runners.ParentRunner.run(Lorg/junit/runner/notification/RunNotifier;)V+20
j org.junit.runners.Suite.runChild(Lorg/junit/runner/Runner;Lorg/junit/runner/notification/RunNotifier;)V+2
j org.junit.runners.Suite.runChild(Ljava/lang/Object;Lorg/junit/runner/notification/RunNotifier;)V+6
j org.junit.runners.ParentRunner$3.run()V+12
j org.junit.runners.ParentRunner$1.schedule(Ljava/lang/Runnable;)V+1
j org.junit.runners.ParentRunner.runChildren(Lorg/junit/runner/notification/RunNotifier;)V+44
j org.junit.runners.ParentRunner.access$000(Lorg/junit/runners/ParentRunner;Lorg/junit/runner/notification/RunNotifier;)V+2
j org.junit.runners.ParentRunner$2.evaluate()V+8
j org.junit.runners.ParentRunner.run(Lorg/junit/runner/notification/RunNotifier;)V+20
j org.junit.runner.JUnitCore.run(Lorg/junit/runner/Runner;)Lorg/junit/runner/Result;+37
j org.junit.runner.JUnitCore.run(Lorg/junit/runner/Request;)Lorg/junit/runner/Result;+5
j com.oracle.mxtool.junit.MxJUnitWrapper.runRequest(Lorg/junit/runner/JUnitCore;Lorg/junit/internal/JUnitSystem;Lcom/oracle/mxtool/junit/MxJUnitWrapper$MxJUnitConfig;Lcom/oracle/mxtool/junit/MxJUnitRequest;)Lorg/junit/runner/Result;+360
j com.oracle.mxtool.junit.MxJUnitWrapper.main([Ljava/lang/String;)V+464
v ~StubRoutines::call_stub