*** 1652,10 *** --- 1652,13 --- // Stop all concurrent threads. We do this to make sure these threads // do not continue to execute and access resources (e.g. logging) // that are destroyed during shutdown. _cr->stop(); _service_thread->stop(); + VM_G1StopMarking op; + VMThread::execute(&op); + _cm->stop(); } void G1CollectedHeap::safepoint_synchronize_begin() { SuspendibleThreadSet::synchronize();