adoptium / adoptium/aqa-tests

hotspot_compiler target has JUnit failures on JDK23 riscv

Open
#5,708 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.