Mercurial > hg > truffle
diff src/share/vm/services/memTrackWorker.cpp @ 6599:4acebbe310e1
7185614: NMT ON: "check by caller" assertion failed on nsk ThreadMXBean test
7187429: NMT ON: Merge failure should cause NMT to shutdown
Summary: Fixed NMT assertion failures
Reviewed-by: acorn, kvn
author | zgu |
---|---|
date | Wed, 01 Aug 2012 17:19:30 -0400 |
parents | d2a62e0f25eb |
children | 33143ee07800 |
line wrap: on
line diff
--- a/src/share/vm/services/memTrackWorker.cpp Mon Jul 23 14:28:38 2012 -0700 +++ b/src/share/vm/services/memTrackWorker.cpp Wed Aug 01 17:19:30 2012 -0400 @@ -99,9 +99,11 @@ } if (rec != NULL) { // merge the recorder into staging area - bool result = snapshot->merge(rec); - assert(result, "merge failed"); - debug_only(_merge_count ++;) + if (!snapshot->merge(rec)) { + MemTracker::shutdown(MemTracker::NMT_out_of_memory); + } else { + NOT_PRODUCT(_merge_count ++;) + } MemTracker::release_thread_recorder(rec); } else { // no more recorder to merge, promote staging area @@ -129,7 +131,7 @@ } assert(MemTracker::shutdown_in_progress(), "just check"); - // transites to final shutdown + // transits to final shutdown MemTracker::final_shutdown(); }