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