--- old/src/share/vm/gc_implementation/g1/vm_operations_g1.cpp 2014-11-07 17:32:37.288000000 -0500 +++ new/src/share/vm/gc_implementation/g1/vm_operations_g1.cpp 2014-11-07 17:32:37.211000000 -0500 @@ -213,8 +213,12 @@ assert(_needs_pll, "don't call this otherwise"); // The caller may block while communicating // with the SLT thread in order to acquire/release the PLL. - ConcurrentMarkThread::slt()-> - manipulatePLL(SurrogateLockerThread::acquirePLL); + SurrogateLockerThread* slt = ConcurrentMarkThread::slt(); + if (slt != NULL) { + slt->manipulatePLL(SurrogateLockerThread::acquirePLL); + } else { + SurrogateLockerThread::report_missing_slt(); + } } void VM_CGC_Operation::release_and_notify_pending_list_lock() {