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