Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 350936

Summary: JUnit failure: Deadlock running unit tests in managedbuilder suite
Product: [Tools] CDT Reporter: Andrew Gvozdev <angvoz.dev>
Component: cdt-buildAssignee: cdt-build-inbox <cdt-build-inbox>
Status: NEW --- QA Contact: Jonah Graham <jonah>
Severity: normal    
Priority: P3 CC: cdtdoug, jamesblackburn+eclipse
Version: 8.0   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:
Attachments:
Description Flags
full log none

Description Andrew Gvozdev CLA 2011-07-01 09:29:05 EDT
I ran managedbuilder suite on Win 7 but it never finished I suppose due to the deadlock. Here is the stack trace and I'll attach the full output in case there is some valuable context in there.

!ENTRY org.eclipse.cdt.core 1 0 2011-07-01 09:13:03.172
!MESSAGE Indexed 'TestProjectConverterConvenienceRoutines' (0 sources, 8 headers) in 0.04 sec: 0 declarations; 0 references; 8 unresolved inclusions; 0 syntax errors; 0 unresolved names (0.00%)

!ENTRY org.eclipse.core.jobs 4 2 2011-07-01 09:13:03.308
!MESSAGE Deadlock detected. All locks owned by thread Worker-3 will be suspended.
!STACK 0
java.lang.IllegalStateException
	at org.eclipse.core.internal.jobs.DeadlockDetector.reportDeadlock(DeadlockDetector.java:599)
	at org.eclipse.core.internal.jobs.DeadlockDetector.lockWaitStart(DeadlockDetector.java:403)
	at org.eclipse.core.internal.jobs.LockManager.addLockWaitThread(LockManager.java:158)
	at org.eclipse.core.internal.jobs.OrderedLock.doAcquire(OrderedLock.java:174)
	at org.eclipse.core.internal.jobs.OrderedLock.acquire(OrderedLock.java:110)
	at org.eclipse.core.internal.jobs.OrderedLock.acquire(OrderedLock.java:84)
	at org.eclipse.cdt.internal.core.CConfigBasedDescriptor.getProjectStorageElement(CConfigBasedDescriptor.java:434)
	at org.eclipse.cdt.internal.core.model.DefaultPathEntryStore.getRawPathEntries(DefaultPathEntryStore.java:91)
	at org.eclipse.cdt.internal.core.model.PathEntryStoreProxy.getRawPathEntries(PathEntryStoreProxy.java:100)
	at org.eclipse.cdt.internal.core.model.PathEntryManager.getRawPathEntries(PathEntryManager.java:649)
	at org.eclipse.cdt.internal.core.model.PathEntryManager.getResolvedPathEntries(PathEntryManager.java:550)
	at org.eclipse.cdt.internal.core.model.PathEntryManager.getResolvedPathEntries(PathEntryManager.java:534)
	at org.eclipse.cdt.internal.core.model.PathEntryManager.getResolvedPathEntries(PathEntryManager.java:520)
	at org.eclipse.cdt.internal.core.model.PathEntryStoreChangedOperation.executeOperation(PathEntryStoreChangedOperation.java:41)
	at org.eclipse.cdt.internal.core.model.CModelOperation.execute(CModelOperation.java:339)
	at org.eclipse.cdt.internal.core.model.CModelOperation.run(CModelOperation.java:602)
	at org.eclipse.cdt.internal.core.model.CModelOperation.runOperation(CModelOperation.java:630)
	at org.eclipse.cdt.internal.core.model.PathEntryManager.pathEntryStoreChanged(PathEntryManager.java:1319)
	at org.eclipse.cdt.internal.core.model.PathEntryStoreProxy.notifyListeners(PathEntryStoreProxy.java:66)
	at org.eclipse.cdt.internal.core.model.PathEntryStoreProxy.fireContentChangedEvent(PathEntryStoreProxy.java:59)
	at org.eclipse.cdt.internal.core.model.PathEntryStoreProxy.postProcessProviderChange(PathEntryStoreProxy.java:145)
	at org.eclipse.cdt.internal.core.settings.model.AbstractCExtensionProxy.checkUpdateProvider(AbstractCExtensionProxy.java:121)
	at org.eclipse.cdt.internal.core.settings.model.AbstractCExtensionProxy.providerRequested(AbstractCExtensionProxy.java:38)
	at org.eclipse.cdt.internal.core.model.PathEntryStoreProxy.getRawPathEntries(PathEntryStoreProxy.java:99)
	at org.eclipse.cdt.internal.core.model.PathEntryManager.getRawPathEntries(PathEntryManager.java:649)
	at org.eclipse.cdt.internal.core.model.PathEntryManager.getResolvedPathEntries(PathEntryManager.java:550)
	at org.eclipse.cdt.internal.core.model.PathEntryManager.getResolvedPathEntries(PathEntryManager.java:534)
	at org.eclipse.cdt.internal.core.model.PathEntryManager.getResolvedPathEntries(PathEntryManager.java:520)
	at org.eclipse.cdt.core.model.CoreModel.getResolvedPathEntries(CoreModel.java:962)
	at org.eclipse.cdt.internal.core.model.CProject.getResolvedPathEntries(CProject.java:401)
	at org.eclipse.cdt.internal.core.model.CProject.getOutputEntries(CProject.java:520)
	at org.eclipse.cdt.internal.core.model.CProject.isOnOutputEntry(CProject.java:557)
	at org.eclipse.cdt.internal.core.model.CModelManager.create(CModelManager.java:348)
	at org.eclipse.cdt.internal.core.model.CModelManager.create(CModelManager.java:255)
	at org.eclipse.cdt.internal.core.model.DeltaProcessor.createElement(DeltaProcessor.java:88)
	at org.eclipse.cdt.internal.core.model.DeltaProcessor.traverseDelta(DeltaProcessor.java:454)
	at org.eclipse.cdt.internal.core.model.DeltaProcessor.traverseDelta(DeltaProcessor.java:472)
	at org.eclipse.cdt.internal.core.model.DeltaProcessor.processResourceDelta(DeltaProcessor.java:434)
	at org.eclipse.cdt.internal.core.model.CModelManager.resourceChanged(CModelManager.java:886)
	at org.eclipse.core.internal.events.NotificationManager$1.run(NotificationManager.java:291)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:285)
	at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:149)
	at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:395)
	at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1530)
	at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:45)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
!SUBENTRY 1 org.eclipse.core.jobs 4 2 2011-07-01 09:13:03.308
!MESSAGE Thread Worker-3 has locks: OrderedLock (0) and is waiting for lock OrderedLock (359)
!SUBENTRY 1 org.eclipse.core.jobs 4 2 2011-07-01 09:13:03.309
!MESSAGE Thread main has locks: R/, OrderedLock (359) and is waiting for lock OrderedLock (0)

!ENTRY org.eclipse.cdt.core 1 0 2011-07-01 09:13:03.391
!MESSAGE Indexed 'TestVersionInfo' (0 sources, 8 headers) in 0.04 sec: 0 declarations; 0 references; 8 unresolved inclusions; 0 syntax errors; 0 unresolved names (0.00%)
Comment 1 Andrew Gvozdev CLA 2011-07-01 09:30:06 EDT
Created attachment 198967 [details]
full log
Comment 2 James Blackburn CLA 2011-07-01 12:37:33 EDT
Note that the deadlock probably isn't new.  Before 3.7 deadlocks were silently handled unless a particular debug option was enabled. They're now always logged by default.