--- old/src/share/vm/services/memTracker.cpp 2014-04-23 10:11:33.026600300 -0400 +++ new/src/share/vm/services/memTracker.cpp 2014-04-23 10:11:32.670571400 -0400 @@ -785,7 +785,7 @@ MEMFLAGS flags, address pc) { assert(old_addr != NULL && new_addr != NULL, "Sanity check"); assert(_op == Realloc || _op == NoOp, "Wrong call"); - if (MemTracker::is_on() && NMT_CAN_TRACK(flags) && _op != NoOp) { + if (MemTracker::is_on() && NMT_CAN_TRACK(flags) && _op != NoOp && !MemTracker::shutdown_in_progress()) { assert(_seq > 0, "Need pre-reserve sequence number"); if (_need_thread_critical_lock) { ThreadCritical tc; @@ -811,7 +811,7 @@ // OOM already? if (addr == NULL) return; - if (MemTracker::is_on() && NMT_CAN_TRACK(flags) && _op != NoOp) { + if (MemTracker::is_on() && NMT_CAN_TRACK(flags) && _op != NoOp && !MemTracker::shutdown_in_progress()) { bool pre_reserved_seq = (_seq != 0); address pc = CALLER_CALLER_PC; MEMFLAGS orig_flags = flags;