--- old/src/share/vm/gc/g1/g1CollectedHeap.cpp 2016-03-02 11:14:07.022589677 -0800 +++ new/src/share/vm/gc/g1/g1CollectedHeap.cpp 2016-03-02 11:14:06.922589681 -0800 @@ -2329,9 +2329,13 @@ GCIdMarkAndRestore conc_gc_id_mark(_cmThread->gc_id()); if (_cm->has_aborted()) { _gc_tracer_cm->report_concurrent_mode_failure(); + + // ConcurrentGCTimer will be ended as well. + _cm->register_concurrent_gc_end(); + } else { + _gc_timer_cm->register_gc_end(); } - _gc_timer_cm->register_gc_end(); _gc_tracer_cm->report_gc_end(_gc_timer_cm->gc_end(), _gc_timer_cm->time_partitions()); // Clear state variables to prepare for the next concurrent cycle.