The following test failed in the JDK20 CI:
runtime/ClassUnload/DictionaryDependsTest.java
Here's a snippet from the log file:
#section:main
----------messages:(5/486)----------
command: main -Xbootclasspath/a:. -Xmn8m -XX:+UnlockDiagnosticVMOptions -Xlog:class+unload -XX:+WhiteBoxAPI DictionaryDependsTest
reason: User specified action: run main/othervm -Xbootclasspath/a:. -Xmn8m -XX:+UnlockDiagnosticVMOptions -Xlog:class+unload -XX:+WhiteBoxAPI DictionaryDependsTest
Mode: othervm [/othervm specified]
Additional options from @modules: --add-modules java.base,java.compiler --add-exports java.base/jdk.internal.misc=ALL-UNNAMED
elapsed time (seconds): 1.082
----------configuration:(4/111)----------
Boot Layer
add modules: java.base java.compiler
add exports: java.base/jdk.internal.misc ALL-UNNAMED
----------System.out:(6/219)----------
name is DictionaryDependsTest$c1r
name is p2.c2
c2 method2 called
c2 method2 called
Should not unload anything before here because class DictionaryDependsTest$c1r is still alive.
Should unload MyTest and p2.c2 just now
----------System.err:(12/830)----------
jdk.test.lib.classloader.ClassUnloadCommon$TestFailure: Test failed: should be unloaded
at jdk.test.lib.classloader.ClassUnloadCommon.failIf(ClassUnloadCommon.java:50)
at DictionaryDependsTest.main(DictionaryDependsTest.java:87)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:578)
at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
at java.base/java.lang.Thread.run(Thread.java:1589)
JavaTest Message: Test threw exception: jdk.test.lib.classloader.ClassUnloadCommon$TestFailure: Test failed: should be unloaded
JavaTest Message: shutting down test
STATUS:Failed.`main' threw exception: jdk.test.lib.classloader.ClassUnloadCommon$TestFailure: Test failed: should be unloaded
----------rerun:(42/8447)*----------