RFR: 8373022: Increase initial heap size for test which assumes no GC

Chris Plummer cjplummer at openjdk.org
Thu Dec 4 16:10:54 UTC 2025


On Wed, 3 Dec 2025 14:59:10 GMT, Joel Sikström <jsikstro at openjdk.org> wrote:

> Hello,
> 
>  If the initial heap size is set too low in the following tests a GC might run, which will interfere with the tests and migh cause them to fail. To solve this, we should run the tests with a bumped initial heap size so that the GC does not interfere.
>  
> Test originally failed when run with `-XX:InitialRAMPercentage=0`. We now explicitly set `-XX:InitialHeapSize=100M` and they now always pass.
> 
> Testing:
> * Rerun 10 times with Serial and Parallel for each test and they all pass

test/jdk/com/sun/jdi/MethodInvokeWithTraceOnTest.java line 32:

> 30:  * @run build TestScaffold VMConnection TargetListener TargetAdapter
> 31:  * @run compile -g MethodInvokeWithTraceOnTest.java
> 32:  * @run driver MethodInvokeWithTraceOnTest -XX:InitialHeapSize=100M

Are you seeing failures due to an ObjectCollectionException? If so, avoiding GC is not the proper way to fix it. Even with a larger initial heap, there can still be an object collected with ZGC. We shouldn't have any debugger tests that rely on a GC not happening in the debugee. The proper fix is usually calling ObjectReference.disableCollection(), although sometimes even that is not enough (the call can happen too late if the debugee is not suspended).

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

PR Review Comment: https://git.openjdk.org/jdk/pull/28637#discussion_r2589682868


More information about the serviceability-dev mailing list