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

Bug 513603

Summary: Deadlock detected. All locks owned by thread main will be suspended
Product: [Eclipse Project] JDT Reporter: George Lindholm <javadev>
Component: CoreAssignee: JDT-Core-Inbox <jdt-core-inbox>
Status: CLOSED NOT_ECLIPSE QA Contact:
Severity: normal    
Priority: P3 CC: henrique.thsantos.ths, loskutov, stephan.herrmann
Version: 4.6   
Target Milestone: ---   
Hardware: PC   
OS: Windows 7   
Whiteboard:

Description George Lindholm CLA 2017-03-13 20:23:32 EDT
What steps will reproduce the problem?
1. Restarted Eclipse
2. 
3. 


-- Error Details --
Date: Mon Mar 13 17:19:57 PDT 2017
Message: Deadlock detected. All locks owned by thread main will be suspended.
Severity: Error
Product: Eclipse SDK 4.6.3.v20170301-0400 (org.eclipse.sdk.ide)
Plugin: org.eclipse.core.jobs
Session Data:
eclipse.buildId=4.6.3.M20170301-0400
java.version=1.8.0_121
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_CA
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -data file:/W:/workspace/

This is a continuation of log file W:\workspace\.metadata\.bak_0.log
Created Time: 2017-03-13 17:16:26.277

Exception Stack Trace:
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:154)
	at org.eclipse.core.internal.jobs.OrderedLock.doAcquire(OrderedLock.java:168)
	at org.eclipse.core.internal.jobs.OrderedLock.acquire(OrderedLock.java:106)
	at org.eclipse.core.internal.jobs.OrderedLock.acquire(OrderedLock.java:82)
	at org.eclipse.team.core.diff.provider.DiffTree.beginInput(DiffTree.java:206)
	at org.eclipse.team.internal.core.subscribers.DiffChangeSet.remove(DiffChangeSet.java:162)
	at org.eclipse.team.internal.core.subscribers.ActiveChangeSetManager.handleAddedResources(ActiveChangeSetManager.java:243)
	at com.perforce.team.core.p4java.synchronize.P4ChangeSetManager.handleAddedResources(P4ChangeSetManager.java:405)
	at org.eclipse.team.internal.core.subscribers.ActiveChangeSetManager.handleSyncSetChange(ActiveChangeSetManager.java:255)
	at org.eclipse.team.internal.core.subscribers.ActiveChangeSetManager.diffsChanged(ActiveChangeSetManager.java:97)
	at org.eclipse.team.core.diff.provider.DiffTree$1.run(DiffTree.java:247)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.team.core.diff.provider.DiffTree.fireChanges(DiffTree.java:239)
	at org.eclipse.team.core.diff.provider.DiffTree.endInput(DiffTree.java:221)
	at org.eclipse.team.internal.core.subscribers.DiffChangeSet.add(DiffChangeSet.java:103)
	at org.eclipse.team.internal.core.subscribers.ActiveChangeSet.add(ActiveChangeSet.java:207)
	at com.perforce.team.core.p4java.synchronize.P4ChangeSetManager$1.subscriberResourceChanged(P4ChangeSetManager.java:88)
	at org.eclipse.team.core.subscribers.Subscriber$1.run(Subscriber.java:288)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.team.core.subscribers.Subscriber.fireTeamResourceChange(Subscriber.java:282)
	at com.perforce.team.core.p4java.synchronize.PerforceSubscriber.fireTeamResourceChange(PerforceSubscriber.java:528)
	at com.perforce.team.core.p4java.synchronize.PerforceSubscriber$3.resoureChanged(PerforceSubscriber.java:177)
	at com.perforce.team.core.p4java.P4Workspace$3.run(P4Workspace.java:601)
	at com.perforce.team.core.Tracing.printExecTime(Tracing.java:85)
	at com.perforce.team.core.p4java.P4Workspace.notifyListeners(P4Workspace.java:598)
	at com.perforce.team.core.p4java.P4DefaultChangelist$1.run(P4DefaultChangelist.java:251)
	at com.perforce.team.core.p4java.P4Resource.runOperation(P4Resource.java:64)
	at com.perforce.team.core.p4java.P4DefaultChangelist.refresh(P4DefaultChangelist.java:257)
	at com.perforce.team.core.p4java.P4Connection.getPendingChangelists(P4Connection.java:1235)
	at com.perforce.team.ui.mylyn.changeset.P4ContextChangeSet.initializeChangelist(P4ContextChangeSet.java:102)
	at com.perforce.team.ui.mylyn.changeset.P4ContextChangeSet.<init>(P4ContextChangeSet.java:90)
	at com.perforce.team.ui.mylyn.changeset.P4ActiveChangeSetProvider.createChangeSet(P4ActiveChangeSetProvider.java:60)
	at org.eclipse.mylyn.internal.team.ui.ContextActiveChangeSetManager.getOrCreateSet(ContextActiveChangeSetManager.java:229)
	at org.eclipse.mylyn.internal.team.ui.ContextActiveChangeSetManager.contextActivated(ContextActiveChangeSetManager.java:199)
	at org.eclipse.mylyn.team.ui.AbstractContextChangeSetManager.enable(AbstractContextChangeSetManager.java:48)
	at org.eclipse.mylyn.internal.team.ui.ContextActiveChangeSetManager.enable(ContextActiveChangeSetManager.java:118)
	at org.eclipse.mylyn.internal.team.ui.FocusedTeamUiPlugin$1.run(FocusedTeamUiPlugin.java:80)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4211)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3827)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1121)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1022)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:150)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:693)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:610)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:138)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:673)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:610)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1519)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1492)

-- Error Details --
Date: Mon Mar 13 17:19:57 PDT 2017
Message: Thread Worker-3 has locks: OrderedLock (560) and is waiting for lock OrderedLock (615)
Severity: Error
Product: Eclipse SDK 4.6.3.v20170301-0400 (org.eclipse.sdk.ide)
Plugin: org.eclipse.core.jobs

-- Error Details --
Date: Mon Mar 13 17:19:57 PDT 2017
Message: Thread main has locks: OrderedLock (615) and is waiting for lock OrderedLock (560)
Severity: Error
Product: Eclipse SDK 4.6.3.v20170301-0400 (org.eclipse.sdk.ide)
Plugin: org.eclipse.core.jobs
Comment 1 Stephan Herrmann CLA 2017-03-13 20:28:27 EDT
What's the role of JDT in this? I don't see JDT anywhere in the picture.
Comment 2 Andrey Loskutov CLA 2017-03-15 08:04:17 EDT
Deadlock seem to be caused by com.perforce.team.core.p4java code. com.perforce.team.core.p4java is Perforce product. Please open a bug there.