gc/stress/TestStressIHOPMultiThread.java#id0 fails on riscv64
- Dominant language
- HTML
- Stars
- 155
- Forks
- 346
- Avg merge
- 2d 9h
- Merged PRs (30d)
- 36
Description
[Grinder](https://ci.adoptium.net/job/Grinder/parambuild/?SDK_RESOURCE=upstream&TARGET=hotspot_custom&TEST_FLAG=&UPSTREAM_TEST_JOB_NAME=Test_openjdk21_hs_extended.openjdk_riscv64_linux&DOCKER_REQUIRED=false&ACTIVE_NODE_TIMEOUT=5&VENDOR_TEST_DIRS=&EXTRA_DOCKER_ARGS=&TKG_OWNER_BRANCH=adoptium%3Amaster&OPENJ9_SYSTEMTEST_OWNER_BRANCH=eclipse%3Amaster&PLATFORM=riscv64_linux&GENERATE_JOBS=true&KEEP_REPORTDIR=true&PERSONAL_BUILD=false&ADOPTOPENJDK_REPO=https%3A%2F%2Fgithub.com%2Fadoptium%2Faqa-tests.git&RERUN_ITERATIONS=0&LABEL=&EXTRA_OPTIONS=&CUSTOMIZED_SDK_URL=&BUILD_IDENTIFIER=&ADOPTOPENJDK_BRANCH=v1.0.13-release&LIGHT_WEIGHT_CHECKOUT=false&NON_AQA_TEST_REPOS=&USE_JRE=false&ARTIFACTORY_SERVER=&KEEP_WORKSPACE=false&USER_CREDENTIALS_ID=&JDK_VERSION=21&ITERATIONS=1&VENDOR_TEST_REPOS=&JDK_REPO=https%3A%2F%2Fgithub.com%2Fadoptium%2Fjdk21u&OPENJ9_BRANCH=master&OPENJ9_SHA=&JCK_GIT_REPO=&VENDOR_TEST_BRANCHES=&OPENJ9_REPO=https%3A%2F%2Fgithub.com%2Feclipse-openj9%2Fopenj9.git&UPSTREAM_JOB_NAME=build-scripts%2Fjobs%2Frelease%2Fjobs%2Fjdk21u%2Fjdk21u-release-linux-riscv64-temurin&CLOUD_PROVIDER=&PLATFORM_AND_MACHINE=&CUSTOM_TARGET=gc%2Fstress%2FTestStressIHOPMultiThread.java%23id0+vmTestbase%2Fgc%2Fgctests%2FStringInternSync2%2FTestDescription.java&VENDOR_TEST_SHAS=&JDK_BRANCH=jdk-21.0.11%2B9_adopt&TEST_IMAGES_REQUIRED=true&LABEL_ADDITION=&ARTIFACTORY_REPO=&ARTIFACTORY_ROOT_DIR=&UPSTREAM_TEST_JOB_NUMBER=150&DOCKERIMAGE_TAG=&JDK_IMPL=hotspot&TEST_TIME=&SSH_AGENT_CREDENTIAL=&AUTO_DETECT=true&SLACK_CHANNEL=aqavit-bot&DYNAMIC_COMPILE=false&ADOPTOPENJDK_SYSTEMTEST_OWNER_BRANCH=adoptium%3Amaster&APPLICATION_OPTIONS=&CUSTOMIZED_SDK_URL_CREDENTIAL_ID=eclipse_temurin_bot_email_and_token&ARCHIVE_TEST_RESULTS=false&OPENJDK_SHA=&NUM_MACHINES=&RERUN_FAILURE=false&BUILD_LIST=openjdk&USE_TESTENV_PROPERTIES=true&UPSTREAM_JOB_NUMBER=23&STF_OWNER_BRANCH=adoptium%3Amaster&TIME_LIMIT=25&JVM_OPTIONS=&PARALLEL=None)
```
16:44:10 STDOUT:
16:44:10 Stress time: 30 seconds
16:44:10 Stress iterations factor: 1
16:44:10 Stress threads factor: 1
16:44:10 Stress runs factor: 1
16:44:10 Max memory: 536870912
16:44:10 Sleep time: 500
16:44:10 Iterations: 0
16:44:10 Number of threads: 8
16:44:10 Run GC thread: false
16:44:10 Run mem diag thread: false
16:44:10 Run forever: false
16:44:10 The overall size of interned strings : 10M
16:44:10 The count of interned strings : 104857
16:44:10 Exception in
16:44:10 gc.gctests.StringInternSync.StringInternSync$StringGenerator@56779749
16:44:10 nsk.share.TestFailure: The equal interned strings are not the same.
16:44:10 at gc.gctests.StringInternSync.StringInternSync$StringGenerator.run(StringInternSync.java:125)
16:44:10 at nsk.share.runner.ThreadsRunner$ManagedThread.run(ThreadsRunner.java:119)
16:44:10 at java.base/java.lang.Thread.run(Thread.java:1583)
16:44:10 Failures summary:
16:44:10 nsk.share.TestFailure: The equal interned strings are not the same.
16:44:10 at gc.gctests.StringInternSync.StringInternSync$StringGenerator.run(StringInternSync.java:125)
16:44:10 at nsk.share.runner.ThreadsRunner$ManagedThread.run(ThreadsRunner.java:119)
16:44:10 at java.base/java.lang.Thread.run(Thread.java:1583)
16:44:10 STDERR:
16:44:10 nsk.share.TestFailure: Test exit code: 97
16:44:10 at nsk.share.test.Tests$TestRunner.execute(Tests.java:94)
16:44:10 at nsk.share.test.Tests$TestRunner.run(Tests.java:100)
16:44:10 at nsk.share.gc.GC.runTest(GC.java:117)
16:44:10 at gc.gctests.StringInternSync.StringInternSync.main(StringInternSync.java:165)
16:44:10 at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
16:44:10 at java.base/java.lang.reflect.Method.invoke(Method.java:580)
16:44:10 at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
16:44:10 at java.base/java.lang.Thread.run(Thread.java:1583)
16:44:10 TEST RESULT: Failed. Execution failed: `main' threw exception: nsk.share.TestFailure: Test exit code: 97
```
Assisted-by: copilot
**April 2026 failure** ([#7008 comment](https://github.com/adoptium/aqa-tests/issues/7008#issuecomment-4253374708)):
- Job: [Test_openjdk21_hs_extended.openjdk_riscv64_linux_testList_4 #60](https://ci.adoptium.net/job/Test_openjdk21_hs_extended.openjdk_riscv64_linux_testList_4/60/) — `hotspot_gc_0` — passed: 537; **failed: 1** (`gc/stress/TestStressIHOPMultiThread.java#id0`)
- Grinder rerun: [#16976](https://ci.adoptium.net/job/Grinder/16976/) — ⚠️ UNSTABLE
- April 2026 triage note: *"Reported previously, intermittent"*
**Historical failures**:
- **September 2025 JDK-25 triage** ([#6555](https://github.com/adoptium/aqa-tests/issues/6555#issuecomment-3263929245)): `gc/stress/TestStressIHOPMultiThread.java#id4` failed with a **crash** on riscv64 (`test-rise-ubuntu2404-riscv64-7`) in `hotspot_gc_0` — passed: 537; failed: 1. Note: *"crash on riscv64-7 — needs upstream porter investigation"*
This is a recurring GC stress test failure (testing the Incremental Heap Occupancy Prediction mechanism) on riscv64, with evidence of crashing behaviour. It has appeared in at least two release cycles across JDK-21 and JDK-25 triages, and grinder reruns consistently fail on riscv64.
Contributor guide
Research direction
Start with gc/stress/TestStressIHOPMultiThread.java#id0 and reproduce the riscv64 failure using the linked Grinder rerun. Inspect gc/gctests/StringInternSync/StringInternSync.java:125 and the reported test output, then compare the historical JDK-25 failure. Done means identifying and resolving the riscv64 failure, or documenting a confirmed upstream porter issue with reliable reproduction evidence.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 38/100