RFR: 8343893: Test jdk/jfr/event/runtime/TestNativeMemoryUsageEvents.java failed: heap should have grown and NMT should show that: expected 0 > 0 [v5]

Gerard Ziemski gziemski at openjdk.org
Thu Nov 21 15:32:16 UTC 2024


On Thu, 21 Nov 2024 10:32:37 GMT, Johan Sjölen <jsjolen at openjdk.org> wrote:

>> # Background
>> 
>> With the implementation of [JDK-8312132](https://bugs.openjdk.org/browse/JDK-8312132) we added the `MemoryFileTracker` (MFT). Unfortunately, this work failed to implement JFR integration. This, in turn, meant that (generational) ZGC has not correctly reported its heap usage via the NMT JFR events. We (as in Oracle) never saw this issue in testing, as we didn't run this test for all possible GC configurations. With an update of our test configurations this is no longer the case: We run this test for all possible GCs and the test now fails for generational ZGC.
>> 
>> # The fix
>> 
>> I implemented JFR events for the MFT by adding all of its reserved and committed memory into the JFR data, similarly to the `VirtualMemoryTracker`. I also added an explicit `run` using `ZGC` to the failing test, to ensure that any actual regressions are found.
>
> Johan Sjölen has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Do not add reserved memory.

That matches the comments from `src/hotspot/share/nmt/memoryFileTracker.hpp`

I've seen the issue of overcounting pop-up couple of times recently - can we write a test that checks and would have caught the issue we ran into just here?

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

Marked as reviewed by gziemski (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/22204#pullrequestreview-2451845562


More information about the hotspot-jfr-dev mailing list