| Summary: | Deadlock during CVS checkout | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Philipe Mulet <philippe_mulet> | ||||||
| Component: | Resources | Assignee: | Platform-Resources-Inbox <platform-resources-inbox> | ||||||
| Status: | RESOLVED DUPLICATE | QA Contact: | |||||||
| Severity: | normal | ||||||||
| Priority: | P3 | ||||||||
| Version: | 3.0 | ||||||||
| Target Milestone: | --- | ||||||||
| Hardware: | PC | ||||||||
| OS: | Windows 2000 | ||||||||
| Whiteboard: | |||||||||
| Attachments: |
|
||||||||
Created attachment 9352 [details]
UI blocked dialog
Created attachment 9353 [details]
UI blocked dialog
Actually there are 2 dialogs (UI blocked open), and I forgot to mention I had
selected 'clean' before building.
I did cancel the User interface operation awaiting lock, then it resumed properly. |
Build 20040407 running on sdk1.4.2 Was performing a CVS checkout of jdt/core source projects, while this was happening I triggered a build, which raise the UI is blocked dialog (see attached screenshot). However without me cancelling anything, it entered a deadlock. Here is thread dump while dialog is open: Full thread dump Java HotSpot(TM) Client VM (1.4.2_02-b03 mixed mode): "Worker-8" prio=5 tid=0x18844350 nid=0x988 in Object.wait() [3a1f000..3a1fd88] at java.lang.Object.wait(Native Method) - waiting on <0x106eb080> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:189) - locked <0x106eb080> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.startJob (WorkerPool.java:215) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) "Java indexing" daemon prio=4 tid=0x183296d8 nid=0x6a8 in Object.wait() [1901f000..1901fd88] at java.lang.Object.wait(Native Method) - waiting on <0x10916dd8> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager) at java.lang.Object.wait(Object.java:429) at org.eclipse.jdt.internal.core.search.processing.JobManager.run (JobManager.java:327) - locked <0x10916dd8> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager) at java.lang.Thread.run(Thread.java:534) "Start Level Event Dispatcher" daemon prio=5 tid=0x183dd0d0 nid=0x580 in Object.wait() [184ff000..184ffd88] at java.lang.Object.wait(Native Method) - waiting on <0x105719e8> (a org.eclipse.osgi.framework.eventmgr.EventThread) at java.lang.Object.wait(Object.java:429) at org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent (EventThread.java:167) - locked <0x105719e8> (a org.eclipse.osgi.framework.eventmgr.EventThread) at org.eclipse.osgi.framework.eventmgr.EventThread.run (EventThread.java:118) "Framework Event Dispatcher" daemon prio=5 tid=0x183f8e80 nid=0x7d4 in Object.wait() [184bf000..184bfd88] at java.lang.Object.wait(Native Method) - waiting on <0x10571a38> (a org.eclipse.osgi.framework.eventmgr.EventThread) at java.lang.Object.wait(Object.java:429) at org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent (EventThread.java:167) - locked <0x10571a38> (a org.eclipse.osgi.framework.eventmgr.EventThread) at org.eclipse.osgi.framework.eventmgr.EventThread.run (EventThread.java:118) "Signal Dispatcher" daemon prio=10 tid=0x00920fe8 nid=0x7c4 waiting on condition [0..0] "Finalizer" daemon prio=9 tid=0x0091e230 nid=0x598 in Object.wait() [1816f000..1816fd88] at java.lang.Object.wait(Native Method) - waiting on <0x104fa650> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) - locked <0x104fa650> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) "Reference Handler" daemon prio=10 tid=0x0091cdd8 nid=0x5dc in Object.wait() [1812f000..1812fd88] at java.lang.Object.wait(Native Method) - waiting on <0x104fa6b8> (a java.lang.ref.Reference$Lock) at java.lang.Object.wait(Object.java:429) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:115) - locked <0x104fa6b8> (a java.lang.ref.Reference$Lock) "main" prio=7 tid=0x00235d00 nid=0x970 in Object.wait() [6e000..6fc3c] at java.lang.Object.wait(Native Method) - waiting on <0x112ebcb0> (a org.eclipse.core.internal.jobs.ImplicitJobs$ThreadJob) at org.eclipse.core.internal.jobs.ImplicitJobs$ThreadJob.joinRun (ImplicitJobs.java:118) - locked <0x112ebcb0> (a org.eclipse.core.internal.jobs.ImplicitJobs$ThreadJob) at org.eclipse.core.internal.jobs.ImplicitJobs.begin (ImplicitJobs.java:265) at org.eclipse.core.internal.jobs.JobManager.beginRule (JobManager.java:149) at org.eclipse.core.internal.resources.WorkManager.checkIn (WorkManager.java:88) at org.eclipse.core.internal.resources.Workspace.prepareOperation (Workspace.java:1521) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1554) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1578) at org.eclipse.ui.internal.ide.dialogs.CleanDialog.buttonPressed (CleanDialog.java:59) at org.eclipse.jface.dialogs.Dialog$1.widgetSelected(Dialog.java:413) at org.eclipse.swt.widgets.TypedListener.handleEvent (TypedListener.java:89) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:769) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2587) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2265) at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.runEventLoop (EventLoopProgressMonitor.java:114) at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.isCanceled (EventLoopProgressMonitor.java:94) at org.eclipse.core.internal.jobs.ImplicitJobs$ThreadJob.isCanceled (ImplicitJobs.java:137) at org.eclipse.core.internal.jobs.ImplicitJobs$ThreadJob.joinRun (ImplicitJobs.java:106) at org.eclipse.core.internal.jobs.ImplicitJobs.begin (ImplicitJobs.java:265) at org.eclipse.core.internal.jobs.JobManager.beginRule (JobManager.java:149) at org.eclipse.core.internal.resources.WorkManager.checkIn (WorkManager.java:88) at org.eclipse.core.internal.resources.Workspace.prepareOperation (Workspace.java:1521) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1554) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1578) at org.eclipse.ui.internal.ide.dialogs.CleanDialog.buttonPressed (CleanDialog.java:59) at org.eclipse.jface.dialogs.Dialog$1.widgetSelected(Dialog.java:413) at org.eclipse.swt.widgets.TypedListener.handleEvent (TypedListener.java:89) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:769) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2587) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2265) at org.eclipse.jface.window.Window.runEventLoop(Window.java:670) at org.eclipse.jface.window.Window.open(Window.java:650) at org.eclipse.ui.internal.ide.actions.BuildCleanAction.run (BuildCleanAction.java:43) at org.eclipse.jface.action.Action.runWithEvent(Action.java:881) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection (ActionContributionItem.java:550) at org.eclipse.jface.action.ActionContributionItem.access$2 (ActionContributionItem.java:502) at org.eclipse.jface.action.ActionContributionItem$5.handleEvent (ActionContributionItem.java:435) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:769) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2587) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2265) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1561) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1532) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench (Workbench.java:257) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:140) at org.eclipse.ui.internal.ide.IDEApplication.run (IDEApplication.java:90) at org.eclipse.core.internal.runtime.PlatformActivator$1.run (PlatformActivator.java:279) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:241) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:117) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.eclipse.core.launcher.Main.basicRun(Main.java:267) at org.eclipse.core.launcher.Main.run(Main.java:692) at org.eclipse.core.launcher.Main.main(Main.java:676) "VM Thread" prio=5 tid=0x0095cdd8 nid=0x77c runnable "VM Periodic Task Thread" prio=10 tid=0x0023e790 nid=0x748 waiting on condition "Suspend Checker Thread" prio=10 tid=0x00920698 nid=0x5a4 runnable