The following test failed in the JDK20 CI:
applications/helidonapp/HelidonAppTest.java
Here's a snippet from the log file:
[2022-10-13T05:39:07.637887500Z] Gathering output for process 47884
[2022-10-13T05:39:07.940001500Z] Waiting for completion for process 47884
[2022-10-13T05:39:07.940276Z] Waiting for completion finished for process 47884
Output and diagnostic info for process 47884 was saved into 'pid-47884-output.log'
[stress.process.out] #
[stress.process.out] # A fatal error has been detected by the Java Runtime Environment:
[stress.process.out] #
[stress.process.out] # Internal Error (c:\\sb\\prod\\1665585502\\workspace\\open\\src\\hotspot\\share\\prims\\unsafe.cpp:756), pid=41348, tid=32984
[stress.process.out] # assert(event->should_commit()) failed: invariant
[stress.process.out] #
[stress.process.out] # JRE version: Java(TM) SE Runtime Environment (20.0+19) (fastdebug build 20-ea+19-1363)
[stress.process.out] # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 20-ea+19-1363, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64)
[stress.process.out] # Core dump will be written. Default location: C:\\sb\\prod\\1665638747\\testoutput\\test-support\\jtreg_closed_test_hotspot_jtreg_applications_helidonapp_HelidonAppTest_java\\scratch\\0\\hs_err_pid41348.mdmp
[stress.process.out] #
[stress.process.out] # JFR recording file will be written. Location: C:\\sb\\prod\\1665638747\\testoutput\\test-support\\jtreg_closed_test_hotspot_jtreg_applications_helidonapp_HelidonAppTest_java\\scratch\\0\\hs_err_pid41348.jfr
[stress.process.out] #
[stress.process.out] Unsupported internal testing APIs have been used.
[stress.process.out]
[stress.process.out] # An error report file with more information is saved as:
[stress.process.out] # C:\\sb\\prod\\1665638747\\testoutput\\test-support\\jtreg_closed_test_hotspot_jtreg_applications_helidonapp_HelidonAppTest_java\\scratch\\0\\hs_err_pid41348.log
[stress.process.out] [610.514s][warning][os] Loading hsdis library failed
[stress.process.out] #
[stress.process.out] # If you would like to submit a bug report, please visit:
[stress.process.out] # https://bugreport.java.com/bugreport/crash.jsp
[stress.process.out] #
[stress.process.out] [thread 27004 also had an error]
Here's the stack trace from the crashing thread:
--------------- T H R E A D ---------------
Current thread (0x000002177eab8f40): JavaThread "helidon-19" daemon [_thread_in_vm, id=32984, stack(0x000000fd53100000,0x000000fd53200000)]
Stack: [0x000000fd53100000,0x000000fd53200000]
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [jvm.dll+0xc0b641] os::win32::platform_print_native_stack+0xf1 (os_windows_x86.cpp:236)
V [jvm.dll+0xe6e18e] VMError::report+0x10be (vmError.cpp:841)
V [jvm.dll+0xe6fc84] VMError::report_and_die+0x644 (vmError.cpp:1700)
V [jvm.dll+0xe703c4] VMError::report_and_die+0x64 (vmError.cpp:1481)
V [jvm.dll+0x57fb27] report_vm_error+0xb7 (debug.cpp:285)
V [jvm.dll+0xe264c5] post_thread_park_event+0xb5 (unsafe.cpp:756)
V [jvm.dll+0xe19f78] Unsafe_Park+0x348 (unsafe.cpp:781)
C 0x0000021708139c53
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
J 9900 jdk.internal.misc.Unsafe.park(ZJ)V java.base@20-ea (0 bytes) @ 0x0000021708139bb8 [0x0000021708139b40+0x0000000000000078]
J 13328 c2 java.util.concurrent.CompletableFuture.timedGet(J)Ljava/lang/Object; java.base@20-ea (212 bytes) @ 0x0000021708df4588 [0x0000021708df4460+0x0000000000000128]
J 13330 c2 java.util.concurrent.CompletableFuture.get(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object; java.base@20-ea (31 bytes) @ 0x0000021708df81d4 [0x0000021708df8160+0x0000000000000074]
J 13197 c2 io.helidon.security.integration.jersey.SecurityFilterCommon.processAuthorization(Lio/helidon/security/integration/jersey/SecurityFilterCommon$FilterContext;Lio/helidon/security/SecurityClientBuilder;)V (335 bytes) @ 0x0000021708c8951c [0x0000021708c89480+0x000000000000009c]
J 11992 c2 io.helidon.security.integration.jersey.SecurityFilter.processSecurity(Ljavax/ws/rs/container/ContainerRequestContext;Lio/helidon/security/integration/jersey/SecurityFilterCommon$FilterContext;Lio/helidon/security/integration/common/SecurityTracing;Lio/helidon/security/SecurityContext;)V (78 bytes) @ 0x0000021708504e20 [0x0000021708503c20+0x0000000000001200]
J 12290 c2 io.helidon.security.integration.jersey.SecurityFilterCommon.doFilter(Ljavax/ws/rs/container/ContainerRequestContext;Lio/helidon/security/SecurityContext;)V (383 bytes) @ 0x000002170890f79c [0x000002170890c5c0+0x00000000000031dc]
J 12320 c2 io.helidon.security.integration.jersey.SecurityFilter.filter(Ljavax/ws/rs/container/ContainerRequestContext;)V (31 bytes) @ 0x00000217087f7bcc [0x00000217087f7b40+0x000000000000008c]
J 12880 c2 org.glassfish.jersey.server.ContainerFilteringStage.apply(Lorg/glassfish/jersey/server/internal/process/RequestProcessingContext;)Lorg/glassfish/jersey/process/internal/Stage$Continuation; (431 bytes) @ 0x0000021708923a8c [0x0000021708922520+0x000000000000156c]
J 10719 c2 org.glassfish.jersey.server.ContainerFilteringStage.apply(Ljava/lang/Object;)Lorg/glassfish/jersey/process/internal/Stage$Continuation; (9 bytes) @ 0x00000217083b4f0c [0x00000217083b4ec0+0x000000000000004c]
J 12094 c2 org.glassfish.jersey.process.internal.RequestScope.runInScope(Lorg/glassfish/jersey/process/internal/RequestContext;Ljava/lang/Runnable;)V (49 bytes) @ 0x000002170851c8bc [0x000002170851b320+0x000000000000159c]
J 11941 c2 org.glassfish.jersey.server.ServerRuntime.process(Lorg/glassfish/jersey/server/ContainerRequest;)V (185 bytes) @ 0x00000217085bb500 [0x00000217085ba800+0x0000000000000d00]
J 13085 c2 io.helidon.webserver.jersey.JerseySupport$JerseyHandler.lambda$doAccept$4(Lio/helidon/webserver/ServerRequest;Ljava/util/Optional;Lorg/glassfish/jersey/server/ContainerRequest;Lio/helidon/webserver/ServerResponse;Ljava/util/concurrent/CompletableFuture;)V (113 bytes) @ 0x0000021708b90b44 [0x0000021708b90720+0x0000000000000424]
J 13113 c2 io.helidon.webserver.jersey.JerseySupport$JerseyHandler$$Lambda$1934+0x0000000801587348.run()V (28 bytes) @ 0x0000021708baffa0 [0x0000021708bafe20+0x0000000000000180]
J 10502 c2 io.helidon.common.context.Contexts.runInContext(Lio/helidon/common/context/Context;Ljava/lang/Runnable;)V (25 bytes) @ 0x00000217081c2b68 [0x00000217081c2840+0x0000000000000328]
J 13238% c2 java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V java.base@20-ea (187 bytes) @ 0x0000021708d70f48 [0x0000021708d70b40+0x0000000000000408]
j java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5 java.base@20-ea
j java.lang.Thread.run()V+13 java.base@20-ea
v ~StubRoutines::call_stub 0x000002170753107d