

#17 0xf703b44e in VMThread::evaluate_operation(VM_Operation*) ()

#14 0xf6b82024 in CMCheckpointRootsFinalClosure::do_void() () #13 0xf6b66638 in ConcurrentMark::checkpointRootsFinal(bool) () #12 0xf6b61ea5 in ConcurrentMark::weakRefsWork(bool) () #11 0xf6f2d33c in ReferenceProcessor::process_discovered_references(BoolObjectClosure*, OopClosure*, VoidClosure*, AbstractRefProcTaskExecutor*) () from /var/lib/jenkins/tools/java/32bit/jdk1.8.0-ea-b79/jre/lib/i386/server/libjvm.so #10 0xf6f2cf6d in ReferenceProcessor::process_discovered_reflist(DiscoveredList*, ReferencePolicy*, bool, BoolObjectClosure*, OopClosure*, VoidClosure*, AbstractRefProcTaskExecutor*) () #9 0xf6f2bdff in ReferenceProcessor::process_phase3(DiscoveredList&, bool, BoolObjectClosure*, OopClosure*, VoidClosure*) () #8 0xf6b69dc9 in G1CMDrainMarkingStackClosure::do_void() () #7 0xf6b65adc in CMTask::do_marking_step(double, bool, bool) () #6 0xf6b62a09 in ConcurrentMark::enter_first_sync_barrier(unsigned int) () #5 0xf704f094 in WorkGangBarrierSync::enter() () #3 0xf6e98b82 in Monitor::IWait(Thread*, long long) () Here is the stack trace that I think is relevant:
APACHE DIRECTORY STUDIO JAVA EXIT CODE 13 FULL
Monitor()->wait(/* no_safepoint_check */ true) Īttaching the full thread dump supplied by Uwe. I'm guessing that we are stuck in this loop in WorkGangBarrierSync::enter(): My guess is that this might be what is causing the problem. With this change we are using the same closures for single threaded and multi threaded reference processing.
APACHE DIRECTORY STUDIO JAVA EXIT CODE 13 SERIAL
Summary: 8005032: G1: Cleanup serial reference processing closures in concurrent marking The stack trace indicates that we are using single threaded reference processing and that this is a recent build that includes this changeset:

From the stack trace it looks like we are hanging during reference processing. Uwe Schindler at Apache reports a hang during Apache Lucene testing.
