hotspot_compiler target has JUnit failures on JDK23 riscv
- Dominant language
- HTML
- Stars
- 155
- Forks
- 346
- Avg merge
- 2d 9h
- Merged PRs (30d)
- 36
Description
As identified in https://github.com/adoptium/aqa-tests/issues/5693#issuecomment-2419800222 there are 6 testcases failing on riscv JDK23 (from the hotspot_compiler target which is part of extended.openjdk top-level target).
```
Execution failed: `main' threw exception: java.lang.Exception: JUnit test failure
```
```
Failed test cases:
TEST: compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/DataPatchTest.java
TEST: compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/NativeCallTest.java
TEST: compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/MaxOopMapStackOffsetTest.java
TEST: compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/SimpleCodeInstallationTest.java
TEST: compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/VirtualObjectDebugInfoTest.java
TEST: compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/SimpleDebugInfoTest.java
Test results: passed: 1,571; failed: 6
duration_ms: 8601679
```
```
14:27:26 STARTED jdk.vm.ci.code.test.SimpleDebugInfoTest::testRegObject 'testRegObject'
14:27:26 java.lang.AssertionError: java.lang.IllegalArgumentException: nmethod entry barrier is missing
14:27:26 at jdk.vm.ci.code.test.CodeInstallationTest.test(CodeInstallationTest.java:121)
14:27:26 at jdk.vm.ci.code.test.DebugInfoTest.test(DebugInfoTest.java:61)
14:27:26 at jdk.vm.ci.code.test.DebugInfoTest.test(DebugInfoTest.java:52)
14:27:26 at jdk.vm.ci.code.test.SimpleDebugInfoTest.testObjectOnStack(SimpleDebugInfoTest.java:209)
14:27:26 at jdk.vm.ci.code.test.SimpleDebugInfoTest.testRegObject(SimpleDebugInfoTest.java:240)
14:27:26 at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
14:27:26 at java.base/java.lang.reflect.Method.invoke(Method.java:580)
14:27:26 at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
14:27:26 at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
14:27:26 at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
14:27:26 at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
14:27:26 at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
14:27:26 at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
14:27:26 at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
14:27:26 at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
14:27:26 at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
14:27:26 at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
14:27:26 at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
14:27:26 at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
14:27:26 at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
14:27:26 at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
14:27:26 at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
14:27:26 at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
14:27:26 at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
14:27:26 at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
14:27:26 at org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java:42)
14:27:26 at org.junit.vintage.engine.VintageTestEngine.executeAllChildren(VintageTestEngine.java:80)
14:27:26 at org.junit.vintage.engine.VintageTestEngine.execute(VintageTestEngine.java:72)
14:27:26 at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147)
14:27:26 at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127)
14:27:26 at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90)
14:27:26 at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55)
14:27:26 at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102)
14:27:26 at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54)
14:27:26 at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
14:27:26 at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
14:27:26 at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
14:27:26 at com.sun.javatest.regtest.agent.JUnitRunner.runWithJUnitPlatform(JUnitRunner.java:142)
14:27:26 at com.sun.javatest.regtest.agent.JUnitRunner.main(JUnitRunner.java:95)
14:27:26 at com.sun.javatest.regtest.agent.JUnitRunner.main(JUnitRunner.java:61)
14:27:26 at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
14:27:26 at java.base/java.lang.reflect.Method.invoke(Method.java:580)
14:27:26 at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
14:27:26 at java.base/java.lang.Thread.run(Thread.java:1575)
14:27:26 Caused by: java.lang.IllegalArgumentException: nmethod entry barrier is missing
14:27:26 at jdk.internal.vm.ci/jdk.vm.ci.hotspot.CompilerToVM.installCode0(Native Method)
14:27:26 at jdk.internal.vm.ci/jdk.vm.ci.hotspot.CompilerToVM.installCode(CompilerToVM.java:628)
14:27:26 at jdk.internal.vm.ci/jdk.vm.ci.hotspot.HotSpotCodeCacheProvider.installCode(HotSpotCodeCacheProvider.java:139)
14:27:26 at jdk.internal.vm.ci/jdk.vm.ci.code.CodeCacheProvider.addCode(CodeCacheProvider.java:51)
14:27:26 at jdk.vm.ci.code.test.CodeInstallationTest.test(CodeInstallationTest.java:109)
14:27:26 ... 43 more
14:27:26 FAILED jdk.vm.ci.code.test.SimpleDebugInfoTest::testRegObject 'testRegObject'
```
Contributor guide
Research direction
Start with the hotspot_compiler target in extended.openjdk and reproduce the six failures on JDK23 riscv. Read the listed jdk.vm.ci.code.test files and the stack through CodeInstallationTest.java:121, especially the “nmethod entry barrier is missing” failure. Done means the six named tests pass on the affected configuration.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- compilers, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 28/100