The following test crashed in the JDK18 CI:
runtime/cds/appcds/loaderConstraints/DynamicLoaderConstraintsTest.java#default-cl
Here's a snippet from the log file:
[148.932s][info][class,loader,constraints] purging loader MyClassLoader @1ddc4ec2 from constraint for name com/sun/net/httpserver/HttpExchange
[148.932s][info][class,loader,constraints] new loader list:
[148.932s][info][class,loader,constraints] [0]: 'platform'
[148.932s][info][class,loader,constraints] purging complete constraint for name com/sun/net/httpserver/HttpExchange
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x0000000110d51227, pid=89224, tid=8963
#
# JRE version: Java(TM) SE Runtime Environment (18.0+14) (fastdebug build 18-ea+14-700)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 18-ea+14-700, compiled mode, sharing, tiered, compressed class ptrs, g1 gc, bsd-amd64)
# Problematic frame:
# V [libjvm.dylib+0xd51227] MetaspaceShared::link_shared_classes(JavaThread*)+0x1d7
#
# Core dump will be written. Default location: core.89224
#
# An error report file with more information is saved as:
# /mesos/work_dir/slaves/369e65c9-433d-40ff-b6a0-b4e65701097a-S4971/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/ab5006d0-0738-44c0-80b4-bf4d6f6ec0b2/runs/887fb39d-d2e0-4453-86af-e0b2edea301c/testoutput/test-support/jtreg_open_test_hotspot_jtreg_hotspot_runtime/scratch/0/hs_err_pid89224.log
#
# If you would like to submit a bug report, please visit:
# https://bugreport.java.com/bugreport/crash.jsp
#
];
stderr: []
exitValue = 134
java.lang.RuntimeException: Expected to get exit value of [0]
at jdk.test.lib.process.OutputAnalyzer.shouldHaveExitValue(OutputAnalyzer.java:489)
at jdk.test.lib.cds.CDSTestUtils$Result.assertNormalExit(CDSTestUtils.java:195)
at DynamicLoaderConstraintsTest.doTest(DynamicLoaderConstraintsTest.java:140)
at DynamicLoaderConstraintsTest.doTest(DynamicLoaderConstraintsTest.java:98)
at DynamicArchiveTestBase.runTest(DynamicArchiveTestBase.java:74)
at DynamicLoaderConstraintsTest.main(DynamicLoaderConstraintsTest.java:89)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
at java.base/java.lang.Thread.run(Thread.java:833)
JavaTest Message: Test threw exception: java.lang.RuntimeException: Expected to get exit value of [0]
JavaTest Message: shutting down test
STATUS:Failed.`main' threw exception: java.lang.RuntimeException: Expected to get exit value of [0]
----------rerun:(49/11225)*----------
Here's the crashing thread's stack:
--------------- T H R E A D ---------------
Current thread (0x00007fe665daf220): JavaThread "DestroyJavaVM" [_thread_in_vm, id=8963, stack(0x0000000111986000,0x0000000111a86000)]
Stack: [0x0000000111986000,0x0000000111a86000], sp=0x0000000111a85bc0, free space=1022k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.dylib+0xd51227] MetaspaceShared::link_shared_classes(JavaThread*)+0x1d7
V [libjvm.dylib+0x67813c] DynamicArchive::prepare_for_dynamic_dumping()+0x3c
V [libjvm.dylib+0x104636a] JavaThread::invoke_shutdown_hooks()+0x3a
V [libjvm.dylib+0x104659d] Threads::destroy_vm()+0x1bd
V [libjvm.dylib+0x970ae3] jni_DestroyJavaVM+0x163
C [libjli.dylib+0x51c0] JavaMain+0xc20
C [libjli.dylib+0x7649] ThreadJavaMain+0x9
C [libsystem_pthread.dylib+0x3661] _pthread_body+0x154
C [libsystem_pthread.dylib+0x350d] _pthread_body+0x0
C [libsystem_pthread.dylib+0x2bf9] thread_start+0xd
siginfo: si_signo: 11 (SIGSEGV), si_code: 0 (unknown), si_addr: 0x0000000000000000