RFR: 8267311: vmTestbase/gc/gctests/StringInternGC/StringInternGC.java fails when JTREG_JOBS > 25
Thomas Schatzl
tschatzl at openjdk.java.net
Thu May 20 10:38:29 UTC 2021
On Tue, 18 May 2021 09:42:31 GMT, Jie Fu <jiefu at openjdk.org> wrote:
> Hi all,
>
> vmTestbase/gc/gctests/StringInternGC/StringInternGC.java fails with release VM on our many-core machines due to `-XX:MaxRAMPercentage=0`.
> This is because `-XX:MaxRAMPercentage=0` will be 0 if JTREG_JOBS > 25 [1].
>
> Reproduce:
> - make test TEST="vmTestbase/gc/gctests/StringInternGC/StringInternGC.java" JTREG="JOBS=26" CONF=server-release
>
> `-Xmx1g` is added to make it more robust.
> Note: we still see failure with `-Xmx512m`.
>
> Thanks.
> Best regards,
> Jie
>
> [1] https://github.com/openjdk/jdk/blob/master/make/RunTests.gmk#L741
See other comment.
I can't reproduce the issue at least on linux-x64 (I see the problem in the build file as you pointed out):
```Running tests using JTREG control variable 'JOBS=26'
Test selection 'vmTestbase/gc/gctests/StringInternGC/StringInternGC.java', will run:
* jtreg:test/hotspot/jtreg/vmTestbase/gc/gctests/StringInternGC/StringInternGC.java
Running test 'jtreg:test/hotspot/jtreg/vmTestbase/gc/gctests/StringInternGC/StringInternGC.java'
Passed: vmTestbase/gc/gctests/StringInternGC/StringInternGC.java
Test results: passed: 1
Report written to [...]/build/linux-x86_64-server-release/test-results/jtreg_test_hotspot_jtreg_vmTestbase_gc_gctests_StringInternGC_StringInternGC_java/html/report.html
Results written to [...]/build/linux-x86_64-server-release/test-support/jtreg_test_hotspot_jtreg_vmTestbase_gc_gctests_StringInternGC_StringInternGC_java
Finished running test 'jtreg:test/hotspot/jtreg/vmTestbase/gc/gctests/StringInternGC/StringInternGC.java'
Test report is stored in build/linux-x86_64-server-release/test-results/jtreg_test_hotspot_jtreg_vmTestbase_gc_gctests_StringInternGC_StringInternGC_java
==============================
Test summary
==============================
TEST TOTAL PASS FAIL ERROR
jtreg:test/hotspot/jtreg/vmTestbase/gc/gctests/StringInternGC/StringInternGC.java
1 1 0 0
==============================
TEST SUCCESS
Even when running the test directly via jtreg with -XX:MaxRAMPercentage=0 it passes here, e.g. ```jtreg -testjdk:... -v -vmoptions:-XX:MaxRAMPercentage=0 vmTestbase/gc/gctests/StringInternGC/StringInternGC.java```
Even modifying the test adding this option (and gc logging, ie. with a ` * @run main/othervm -XX:MaxRAMPercentage=0 -Xlog:gc -XX:+PrintFlagsFinal gc.gctests.StringInternGC.StringInternGC`) lets it pass, with max actual heap usage of 60MB.
Run on a machine with 128GB of RAM, 40 threads, maybe it's the environment?
Also I would prefer if the actual bug were fixed in that configuration file instead of random changes in tests, please file a bug against infrastructure/build for that.
We can continue to discuss increasing the heap size for this test, but at this point I do not see a reason.
-------------
PR: https://git.openjdk.java.net/jdk/pull/4086
More information about the hotspot-gc-dev
mailing list