--- old/src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp 2014-07-07 12:00:31.457573635 +0200 +++ new/src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp 2014-07-07 12:00:31.377571305 +0200 @@ -277,7 +277,9 @@ // We now want to allow clearing of the marking bitmap to be // suspended by a collection pause. - { + // We may have aborted just before the remark. Do not bother clearing the + // bitmap then, as it has been done during mark abort. + if (!cm()->has_aborted()) { SuspendibleThreadSetJoiner sts; _cm->clearNextBitmap(); }