RFR: 8298992: runtime/NMT/SummarySanityCheck.java failed with "Total commi…tted (MMMMMM) did not match the summarized committed (NNNNNN)

Thomas Stuefe stuefe at openjdk.org
Tue Aug 22 12:55:30 UTC 2023


On Wed, 16 Aug 2023 12:18:35 GMT, Afshin Zafari <azafari at openjdk.org> wrote:

> During exhaustive tests, it is observed that during taking snapshot of NMT metrics it is possible that new allocations happen concurrently, although a `ThreadCritical` is used during copying current metrics to the snapshot.
> A loop is surrounding the copying and checks whether the copied and original are the same.

src/hotspot/share/services/mallocTracker.hpp line 205:

> 203:       }
> 204:     } while(s->_all_mallocs.size() != total_size && ++loop_counter < loop_limit);
> 205:     assert(s->_all_mallocs.size() == total_size, "Total != sum of parts");

Preexisting, but could you please move this to the cpp file? It should not live in the header.

Also I'm not sure the assert is really useful. Won't that be just a source for very rare intermittent errors? What would be the action we take if that assert fires, increase the loop count?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/15306#discussion_r1301600786


More information about the hotspot-runtime-dev mailing list