Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 54522 - Deadlock during sync after organize imports and save
Summary: Deadlock during sync after organize imports and save
Status: RESOLVED DUPLICATE of bug 51996
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Team (show other bugs)
Version: 3.0   Edit
Hardware: PC Windows 2000
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: Platform Team Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-03-11 14:50 EST by Nick Edgar CLA
Modified: 2004-03-11 15:08 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nick Edgar CLA 2004-03-11 14:50:44 EST
build I20050310

- did a sync refresh (no working set selected)
- while this was going on, edited a CU and did Organize Imports
- Ctrl+S to save
- now there are two "User interface is Blocked" dialogs up and it's deadlocked
- canceling the sync from one of the dialogs does so, but does not unblock; it 
still shows "User interface operation awaiting lock" and "WAITING: Periodic 
workspace space", although the other dialog went away

Assigning to Team because Tod's away.

Full thread dump Java HotSpot(TM) Client VM (1.4.2_01-b06 mixed mode):

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x215747f0 
nid=0x7f0 in Object.wait() [2393f000..2393fd90]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <0x16575b40> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"Worker-7" prio=5 tid=0x22576eb8 nid=0x854 in Object.wait() [2308f000..2308fd90]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x165e6bf8> (a 
org.eclipse.core.internal.jobs.ImplicitJobs$ThreadJob)
        at org.eclipse.core.internal.jobs.ImplicitJobs$ThreadJob.joinRun
(ImplicitJobs.java:118)
        - locked <0x165e6bf8> (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.team.core.variants.AbstractResourceVariantTree.refresh
(AbstractResourceVariantTree.java:98)
        at org.eclipse.team.core.variants.AbstractResourceVariantTree.refresh
(AbstractResourceVariantTree.java:67)
        at org.eclipse.team.core.variants.ResourceVariantTreeSubscriber.refresh
(ResourceVariantTreeSubscriber.java:153)
        at org.eclipse.team.core.variants.ResourceVariantTreeSubscriber.refresh
(ResourceVariantTreeSubscriber.java:123)
        at org.eclipse.team.internal.ui.jobs.RefreshSubscriberJob.runInWorkspace
(RefreshSubscriberJob.java:235)
        - locked <0x15127710> (a java.lang.Object)
        at org.eclipse.core.internal.resources.InternalWorkspaceJob.run
(InternalWorkspaceJob.java:37)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:62)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x2105d218 
nid=0x53c in Object.wait() [22fcf000..22fcfd90]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x15021d10> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <0x15021d10> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"Worker-6" prio=5 tid=0x224b9ff8 nid=0x79c in Object.wait() [22f7f000..22f7fd90]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x113337d0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
        - locked <0x113337d0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob
(WorkerPool.java:211)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

"Worker-5" prio=5 tid=0x213e9e30 nid=0x11c waiting on condition 
[22eff000..22effd90]
        at java.lang.Thread.sleep(Native Method)
        at org.eclipse.ui.internal.progress.ImageAnimationProcessor.animateLoop
(ImageAnimationProcessor.java:200)
        at org.eclipse.ui.internal.progress.ImageAnimationProcessor.access$0
(ImageAnimationProcessor.java:109)
        at org.eclipse.ui.internal.progress.ImageAnimationProcessor$2.run
(ImageAnimationProcessor.java:393)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:62)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x21290e68 
nid=0x5e8 in Object.wait() [2222f000..2222fd90]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x12552df8> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <0x12552df8> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"Java indexing" daemon prio=4 tid=0x21291da8 nid=0x7e4 in Object.wait() 
[221cf000..221cfd90]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x11c53f70> (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 <0x11c53f70> (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=0x210b8008 nid=0x830 in 
Object.wait() [211ef000..211efd90]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x10f70060> (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 <0x10f70060> (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=0x20f54008 nid=0x82c in 
Object.wait() [211af000..211afd90]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x10f702b8> (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 <0x10f702b8> (a 
org.eclipse.osgi.framework.eventmgr.EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventThread.run
(EventThread.java:118)

"Signal Dispatcher" daemon prio=10 tid=0x0099fb20 nid=0x820 waiting on 
condition [0..0]

"RequestServer" daemon prio=5 tid=0x009a1c80 nid=0x818 runnable 
[20e4f000..20e4fd90]
        at java.net.PlainSocketImpl.socketAccept(Native Method)
        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:353)
        - locked <0x10f70418> (a java.net.PlainSocketImpl)
        at java.net.ServerSocket.implAccept(ServerSocket.java:448)
        at java.net.ServerSocket.accept(ServerSocket.java:419)
        at com.yourkit.runtime.RequestServer.if(a:231)
        at com.yourkit.runtime.RequestServer.access$000(a:224)
        at com.yourkit.runtime.RequestServer$1.run(a:3)

"Finalizer" daemon prio=9 tid=0x0091ed38 nid=0x814 in Object.wait() 
[209ef000..209efd90]
        at java.lang.Object.wait(Native Method)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
        - locked <0x10f70530> (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=0x0091d8b0 nid=0x810 in Object.wait() 
[209af000..209afd90]
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:429)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:115)
        - locked <0x10f700b0> (a java.lang.ref.Reference$Lock)

"main" prio=7 tid=0x00234f30 nid=0x7bc in Object.wait() [6d000..6fc3c]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x10710790> (a 
org.eclipse.core.internal.jobs.ImplicitJobs$ThreadJob)
        at org.eclipse.core.internal.jobs.ImplicitJobs$ThreadJob.joinRun
(ImplicitJobs.java:118)
        - locked <0x10710790> (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:1524)
        at org.eclipse.core.internal.resources.Workspace.run
(Workspace.java:1557)
        at org.eclipse.ui.actions.WorkspaceModifyOperation.run
(WorkspaceModifyOperation.java:105)
        - locked <0x10710808> (a 
org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation)
        at org.eclipse.ui.editors.text.WorkspaceOperationRunner.run
(WorkspaceOperationRunner.java:72)
        at org.eclipse.ui.editors.text.WorkspaceOperationRunner.run
(WorkspaceOperationRunner.java:62)
        at org.eclipse.ui.editors.text.TextFileDocumentProvider.executeOperation
(TextFileDocumentProvider.java:391)
        at org.eclipse.ui.editors.text.TextFileDocumentProvider.saveDocument
(TextFileDocumentProvider.java:611)
        at org.eclipse.ui.texteditor.AbstractTextEditor.performSave
(AbstractTextEditor.java:3129)
        at 
org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.performSave
(CompilationUnitEditor.java:1171)
        at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.doSave
(CompilationUnitEditor.java:1235)
        - locked <0x15021bb8> (a org.eclipse.jdt.internal.core.CompilationUnit)
        at org.eclipse.ui.internal.EditorManager$10.run(EditorManager.java:982)
        at org.eclipse.ui.internal.EditorManager$8.run(EditorManager.java:837)
        at org.eclipse.jface.operation.ModalContext.runInCurrentThread
(ModalContext.java:302)
        at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:252)
        at org.eclipse.jface.window.ApplicationWindow$1.run
(ApplicationWindow.java:580)
        at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:84)
        at org.eclipse.jface.window.ApplicationWindow.run
(ApplicationWindow.java:577)
        at org.eclipse.ui.internal.WorkbenchWindow.run
(WorkbenchWindow.java:1490)
        at org.eclipse.ui.internal.EditorManager.runProgressMonitorOperation
(EditorManager.java:843)
        at org.eclipse.ui.internal.EditorManager.savePart
(EditorManager.java:987)
        at org.eclipse.ui.internal.WorkbenchPage.savePart
(WorkbenchPage.java:2442)
        at org.eclipse.ui.internal.WorkbenchPage.saveEditor
(WorkbenchPage.java:2454)
        at org.eclipse.ui.internal.SaveAction.run(SaveAction.java:72)
        at org.eclipse.jface.action.Action.runWithEvent(Action.java:881)
        at org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:68)
        at org.eclipse.ui.internal.commands.Command.execute(Command.java:160)
        at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand
(WorkbenchKeyboard.java:475)
        at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press
(WorkbenchKeyboard.java:891)
        at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent
(WorkbenchKeyboard.java:935)
        at 
org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings
(WorkbenchKeyboard.java:568)
        at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$2
(WorkbenchKeyboard.java:500)
        at org.eclipse.ui.internal.keys.WorkbenchKeyboard$1.handleEvent
(WorkbenchKeyboard.java:256)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
        at org.eclipse.swt.widgets.Display.filterEvent(Display.java:700)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:832)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:857)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:842)
        at org.eclipse.swt.widgets.Control.sendKeyEvent(Control.java:1720)
        at org.eclipse.swt.widgets.Control.sendKeyEvent(Control.java:1716)
        at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:3041)
        at org.eclipse.swt.widgets.Control.windowProc(Control.java:2944)
        at org.eclipse.swt.widgets.Display.windowProc(Display.java:2902)
        at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
        at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:1376)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2045)
        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:1524)
        at org.eclipse.core.internal.resources.Workspace.run
(Workspace.java:1557)
        at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:3182)
        at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:3139)
        at org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run
(WorkbenchRunnableAdapter.java:50)
        at 
org.eclipse.jdt.internal.ui.util.BusyIndicatorRunnableContext$BusyRunnable.inter
nalRun(BusyIndicatorRunnableContext.j
ava:113)
        at 
org.eclipse.jdt.internal.ui.util.BusyIndicatorRunnableContext$BusyRunnable.run
(BusyIndicatorRunnableContext.java:80)
        at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:84)
        at org.eclipse.jdt.internal.ui.util.BusyIndicatorRunnableContext.run
(BusyIndicatorRunnableContext.java:126)
        at org.eclipse.jdt.ui.actions.OrganizeImportsAction.run
(OrganizeImportsAction.java:426)
        at org.eclipse.jdt.ui.actions.OrganizeImportsAction.run
(OrganizeImportsAction.java:265)
        at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun
(SelectionDispatchAction.java:216)
        at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run
(SelectionDispatchAction.java:188)
        at org.eclipse.jface.action.Action.runWithEvent(Action.java:881)
        at org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:68)
        at org.eclipse.ui.internal.commands.Command.execute(Command.java:160)
        at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand
(WorkbenchKeyboard.java:475)
        at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press
(WorkbenchKeyboard.java:891)
        at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent
(WorkbenchKeyboard.java:935)
        at 
org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings
(WorkbenchKeyboard.java:568)
        at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$2
(WorkbenchKeyboard.java:500)
        at org.eclipse.ui.internal.keys.WorkbenchKeyboard$1.handleEvent
(WorkbenchKeyboard.java:256)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
        at org.eclipse.swt.widgets.Display.filterEvent(Display.java:700)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:832)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:857)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:842)
        at org.eclipse.swt.widgets.Control.sendKeyEvent(Control.java:1720)
        at org.eclipse.swt.widgets.Control.sendKeyEvent(Control.java:1716)
        at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:3041)
        at org.eclipse.swt.widgets.Control.windowProc(Control.java:2944)
        at org.eclipse.swt.widgets.Display.windowProc(Display.java:2902)
        at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
        at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:1376)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2045)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1451)
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1422)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench
(Workbench.java:258)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:139)
        at org.eclipse.ui.internal.ide.IDEApplication.run
(IDEApplication.java:48)
        at org.eclipse.core.internal.runtime.PlatformActivator$1.run
(PlatformActivator.java:260)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:173)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:106)
        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:305)
        at org.eclipse.core.launcher.Main.run(Main.java:745)
        at org.eclipse.core.launcher.Main.main(Main.java:713)

"VM Thread" prio=5 tid=0x0095d2d0 nid=0x80c runnable

"VM Periodic Task Thread" prio=10 tid=0x0099f238 nid=0x828 waiting on condition
"Suspend Checker Thread" prio=10 tid=0x0099f9f8 nid=0x81c runnable
Comment 1 Nick Edgar CLA 2004-03-11 14:51:02 EST
Canceling the UI operation unblocks.
Comment 2 Michael Valenta CLA 2004-03-11 15:08:07 EST

*** This bug has been marked as a duplicate of 51996 ***