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