RFR: 8280553: resourcehogs/serviceability/sa/TestHeapDumpForLargeArray.java can fail if GC occurs

Alan Bateman alanb at openjdk.java.net
Fri Jan 28 06:12:12 UTC 2022


On Wed, 26 Jan 2022 20:03:21 GMT, Chris Plummer <cjplummer at openjdk.org> wrote:

> This test is failing in the loom repo when using -Xcomp. The reason is because loom introduced doing a full GC in the codecache sweeper, which causes the large array that the test allocates to be GC'd before the heap dump is done. The fix is to make the large array static rather than a local variable.
> 
> I'm choosing to fix this in the jdk repo rather than the loom repo since it is a latent bug that theoretically could occur even without the loom changes, and also to help reduce the amount of changes to be reviewed when loom is integrated into jdk.

test/hotspot/jtreg/resourcehogs/serviceability/sa/LingeredAppWithLargeArray.java line 30:

> 28:     public static void main(String args[]) {
> 29:         hugeArray = new int[Integer.MAX_VALUE/2];
> 30:         LingeredApp.main(args);

Another option here is to use Reference.reachabilityFence(hugeArray). That makes it a bit more explicit/obvious that the test needs to keep hugeArray alive.

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

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


More information about the serviceability-dev mailing list