RFR: 8266056: runtime/stringtable/StringTableCleaningTest.java failed with "RuntimeException: Missing Callback in [10, 11]"

David Holmes dholmes at openjdk.java.net
Fri Apr 30 12:42:11 UTC 2021


On Fri, 30 Apr 2021 12:08:00 GMT, Per Liden <pliden at openjdk.org> wrote:

> This patch addresses two issues with the StringTableCleaningTest test.
> 
> 1) The test doesn't fully take into account that a concurrent GC might not complete (it can abort if the VM wants to terminate). findCallback() should return -1 if no callbacks are found, instead of failing the test.
> 
> 2) The regexp patterns used for ZGC needs to be more exact. The end pattern now also matches aborted GCs, which it shouldn't. This leads to "Garbage Collection (*) Aborted" being incorrectly matched as a GC end.
> 
> This patch also makes sure the output from the test VM ends up in the test log, otherwise it's impossible to tell what went wrong if this test fails in the future.
> 
> This patch also removes the test from the ProblemList.
> 
> Testing:
> * Passed Tier1-3.
> * Manual testing of StringTableCleaningTest with various GCs.

Functional fix seems fine but a suggested change to the reporting.

Thanks,
David

test/hotspot/jtreg/runtime/stringtable/StringTableCleaningTest.java line 63:

> 61:         OutputAnalyzer output = ProcessTools.executeTestJvm(subargs);
> 62:         output.outputTo(System.out);
> 63:         output.errorTo(System.out);

The normal way to do this is to call output.reportDiagnosticSummary(). But you only do that after the actual checks, when you know you have success, as in the error cases it will be called anyway and you don't want the output twice.

-------------

Marked as reviewed by dholmes (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/3815



More information about the hotspot-gc-dev mailing list