JDK-8360679 : [TESTBUG] AArch64: Three cases under test/hotspot/jtreg/runtime/cds/appcds/methodHandles/ fail with -XX:+UseShenandoahGC after JDK-8350209
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 25
  • Priority: P4
  • Status: New
  • Resolution: Unresolved
  • OS: linux
  • CPU: aarch64
  • Submitted: 2025-06-26
  • Updated: 2025-07-07
Related Reports
Causes :  
Description
The following three cases fail with -XX:+UseShenandoahGC on AArch64:

test/hotspot/jtreg/runtime/cds/appcds/methodHandles/MethodHandlesAsCollectorTest.java
test/hotspot/jtreg/runtime/cds/appcds/methodHandles/MethodHandlesPermuteArgumentsTest.java
test/hotspot/jtreg/runtime/cds/appcds/methodHandles/MethodHandlesSpreadArgumentsTest.java

Note-1: a fastdebug JDK is tested
Note-2: only the "aot" variant of these three cases failed. That is, "static" and "dynamic" can pass.
Note-3: I checked x86_64 as well and the tests passed on x86_64.

The test command I used:

case-1:
make test JTREG="VM_OPTIONS=-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC" TEST=test/hotspot/jtreg/runtime/cds/appcds/methodHandles/MethodHandlesAsCollectorTest.java

case-2:
make test JTREG="VM_OPTIONS=-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC" TEST=test/hotspot/jtreg/runtime/cds/appcds/methodHandles/MethodHandlesPermuteArgumentsTest.java

case-3:
make test JTREG="VM_OPTIONS=-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC" TEST=test/hotspot/jtreg/runtime/cds/appcds/methodHandles/MethodHandlesSpreadArgumentsTest.java

Here shows the snippet of error log for MethodHandlesAsCollectorTest.java:

STDERR:
STARTED    MethodHandlesAsCollectorTest::test 'test'
java.lang.RuntimeException: Hotspot crashed
	at jdk.test.lib.cds.CDSTestUtils.executeAndLog(CDSTestUtils.java:703)
	at jdk.test.lib.cds.CDSAppTester.executeAndCheck(CDSAppTester.java:212)
	at jdk.test.lib.cds.CDSAppTester.productionRun(CDSAppTester.java:427)
	at jdk.test.lib.cds.CDSAppTester.productionRun(CDSAppTester.java:392)
	at jdk.test.lib.cds.CDSAppTester.runAOTWorkflow(CDSAppTester.java:500)
	at jdk.test.lib.cds.CDSAppTester.run(CDSAppTester.java:448)
	at JDKMethodHandlesTestRunner.test(JDKMethodHandlesTestRunner.java:101)
	at MethodHandlesAsCollectorTest.test(MethodHandlesAsCollectorTest.java:79)
	at java.base/java.lang.reflect.Method.invoke(Method.java:565)
FAILED     MethodHandlesAsCollectorTest::test 'test' [9430ms]
JavaTest Message: JUnit Platform Failure(s): 1

[ JUnit Containers: found 4, started 4, succeeded 4, failed 0, aborted 0, skipped 0]
[ JUnit Tests: found 1, started 1, succeeded 0, failed 1, aborted 0, skipped 0]

java.lang.Exception: JUnit test failure
	at com.sun.javatest.regtest.agent.JUnitRunner.runWithJUnitPlatform(JUnitRunner.java:179)
	at com.sun.javatest.regtest.agent.JUnitRunner.main(JUnitRunner.java:110)
	at com.sun.javatest.regtest.agent.JUnitRunner.main(JUnitRunner.java:76)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:565)
	at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
	at java.base/java.lang.Thread.run(Thread.java:1474)

JavaTest Message: Test threw exception: java.lang.Exception: JUnit test failure
JavaTest Message: shutting down test