Bug 30148 - [resources] Deadlock while refreshing project contents
Summary: [resources] Deadlock while refreshing project contents
Status: RESOLVED DUPLICATE of bug 28671
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Resources (show other bugs)
Version: 2.1   Edit
Hardware: PC Windows 2000
: P2 major (vote)
Target Milestone: ---   Edit
Assignee: Platform-Resources-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-01-24 05:16 EST by Philipe Mulet CLA
Modified: 2003-02-20 11:31 EST (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Philipe Mulet CLA 2003-01-24 05:16:29 EST
Build 20030122

I did a project refresh (it had changed on the filesystem), and had to kill my 
Java VM after a 10 minutes wait (it should only have taken seconds).

"VM Periodic Task Thread" prio=10 tid=0x008F8E10 nid=0x604 waiting on condition
"Suspend Checker Thread" prio=10 tid=0x008FDAB0 nid=0x4a8 runnable
Full thread dump Java HotSpot(TM) Client VM (1.4.1_01-b01 mixed mode):

"Snapshot" prio=5 tid=0x14F08878 nid=0x5e4 in Object.wait() [1704f000..1704fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <09500DD8> (a 
org.eclipse.core.internal.resources.DelayedSnapshotRunnable)
        at org.eclipse.core.internal.resources.DelayedSnapshotRunnable.run
(DelayedSnapshotRunnable.java:38)
        - locked <09500DD8> (a 
org.eclipse.core.internal.resources.DelayedSnapshotRunnable)
        at java.lang.Thread.run(Thread.java:536)

"ModalContext" prio=5 tid=0x14B10448 nid=0x620 in Object.wait() 
[1700f000..1700fd8c]
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:426)
        at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:141)
        - locked <09500DF0> (a org.eclipse.swt.widgets.RunnableLock)
        at org.eclipse.ui.internal.UISynchronizer.syncExec
(UISynchronizer.java:18)
        at org.eclipse.swt.widgets.Display.syncExec(Display.java:1979)
        at org.eclipse.jface.operation.AccumulatingProgressMonitor.done
(AccumulatingProgressMonitor.java:121)
        at org.eclipse.core.internal.resources.Workspace.run
(Workspace.java:1588)
        at org.eclipse.ui.actions.WorkspaceModifyOperation.run
(WorkspaceModifyOperation.java:79)
        - locked <0913D3E0> (a org.eclipse.ui.actions.WorkspaceAction$1)
        at org.eclipse.jface.operation.ModalContext$ModalContextThread.run
(ModalContext.java:95)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x14B18A80 
nid=0x658 in Object.wait() [16fbf000..16fbfd8c]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <07264248> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x1499F600 
nid=0x5c0 in Object.wait() [16f3f000..16f3fd8c]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <06E17880> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x14B1BB60 
nid=0x4bc in Object.wait() [16ebf000..16ebfd8c]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <06E178E0> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x14C6A818 
nid=0x540 in Object.wait() [16def000..16defd8c]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <06B9F748> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x14AC0F60 
nid=0x588 in Object.wait() [16d9f000..16d9fd8c]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <06B82FC0> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x14A50078 
nid=0x5e8 in Object.wait() [16b7f000..16b7fd8c]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <065C77A0> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x14BA4C30 
nid=0x5cc in Object.wait() [167cf000..167cfd8c]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <05FF5FF0> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x14E57DF0 
nid=0x600 in Object.wait() [1673f000..1673fd8c]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <05EAE770> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x14B216F0 
nid=0x344 runnable [163af000..163afd8c]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <05D75680> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x14B81C00 
nid=0x5c4 runnable [1631f000..1631fd8c]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <05C88508> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"Debug async queue" prio=5 tid=0x14B7EB58 nid=0x520 in Object.wait() 
[1614f000..1614fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <05AB4068> (a 
org.eclipse.debug.core.DebugPlugin$AsynchRunner)
        at java.lang.Object.wait(Object.java:426)
        at org.eclipse.debug.core.DebugPlugin$AsynchRunner.run
(DebugPlugin.java:722)
        - locked <05AB4068> (a org.eclipse.debug.core.DebugPlugin$AsynchRunner)
        at java.lang.Thread.run(Thread.java:536)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x14AD1F40 
nid=0x570 runnable [1607f000..1607fd8c]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <05A40700> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x14AD1BE8 
nid=0x5dc runnable [1603f000..1603fd8c]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <05A40760> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x14ACFF28 
nid=0x124 runnable [15fff000..15fffd8c]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <05989CA0> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x14D6DC08 
nid=0x578 runnable [15fbf000..15fbfd8c]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <05971040> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x14ACF150 
nid=0x5c8 runnable [15f7f000..15f7fd8c]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <059710A0> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x14D6CFE0 
nid=0x3f8 runnable [15eff000..15effd8c]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <05971230> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x139A4D68 
nid=0x518 runnable [1535f000..1535fd8c]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <051B2078> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x134F8E90 
nid=0x42c in Object.wait() [147ef000..147efd8c]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <046FF178> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x138C22E8 
nid=0x528 in Object.wait() [1468f000..1468fd8c]
        at java.lang.Object.wait(Native Method)
        at 
org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run
(AbstractReconciler.java:161)
        - locked <047342F8> (a 
org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"Java indexing" daemon prio=4 tid=0x13602870 nid=0x610 waiting on condition 
[1464f000..1464fd8c]
        at java.lang.Thread.sleep(Native Method)
        at org.eclipse.jdt.internal.core.search.processing.JobManager.run
(JobManager.java:334)
        at java.lang.Thread.run(Thread.java:536)

"Decoration" prio=2 tid=0x1350A8C8 nid=0x3f4 in Object.wait() 
[1444f000..1444fd8c]
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:426)
        at org.eclipse.ui.internal.decorators.DecorationScheduler.next
(DecorationScheduler.java:247)
        - locked <044BAD38> (a 
org.eclipse.ui.internal.decorators.DecorationScheduler)
        at org.eclipse.ui.internal.decorators.DecorationScheduler$3.run
(DecorationScheduler.java:273)
        at java.lang.Thread.run(Thread.java:536)

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

"Finalizer" daemon prio=9 tid=0x008F8218 nid=0x654 in Object.wait() 
[133cf000..133cfd8c]
        at java.lang.Object.wait(Native Method)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
        - locked <03A94BF0> (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=0x0023D3C0 nid=0x348 in Object.wait() 
[1338f000..1338fd8c]
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:426)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:113)
        - locked <03A94C58> (a java.lang.ref.Reference$Lock)

"main" prio=5 tid=0x00234D20 nid=0x53c runnable [6e000..6fc40]
        at org.eclipse.swt.widgets.Control.windowProc(Control.java:2788)
        at org.eclipse.swt.widgets.Display.windowProc(Display.java:2177)
        at org.eclipse.swt.internal.win32.OS.SendMessageW(Native Method)
        at org.eclipse.swt.internal.win32.OS.SendMessage(OS.java:1774)
        at org.eclipse.swt.widgets.TreeItem.getItems(TreeItem.java:403)
        at org.eclipse.jface.viewers.TreeViewer.getChildren(TreeViewer.java:113)
        at org.eclipse.jface.viewers.AbstractTreeViewer.internalFindItem
(AbstractTreeViewer.java:854)
        at org.eclipse.jface.viewers.AbstractTreeViewer.internalFindItem
(AbstractTreeViewer.java:857)
        at org.eclipse.jface.viewers.AbstractTreeViewer.doFindItem
(AbstractTreeViewer.java:344)
        at org.eclipse.jface.viewers.StructuredViewer.findItem
(StructuredViewer.java:313)
        at org.eclipse.jface.viewers.StructuredViewer.update
(StructuredViewer.java:1146)
        at org.eclipse.jface.viewers.StructuredViewer.update
(StructuredViewer.java:1111)
        at org.eclipse.jface.viewers.StructuredViewer.handleLabelProviderChanged
(StructuredViewer.java:578)
        at 
org.eclipse.jdt.internal.ui.javaeditor.JavaOutlinePage$JavaOutlineViewer.handleL
abelProviderChanged(JavaOutlinePage.java:632)
        at org.eclipse.jface.viewers.ContentViewer$1.labelProviderChanged
(ContentViewer.java:68)
        at org.eclipse.ui.internal.decorators.DecoratorManager$1.run
(DecoratorManager.java:148)
        at org.eclipse.core.internal.runtime.InternalPlatform.run
(InternalPlatform.java:852)
        at org.eclipse.core.runtime.Platform.run(Platform.java:413)
        at org.eclipse.ui.internal.decorators.DecoratorManager.fireListeners
(DecoratorManager.java:146)
        at 
org.eclipse.ui.internal.decorators.DecoratorManager.labelProviderChanged
(DecoratorManager.java:443)
        at org.eclipse.jface.viewers.LabelProvider$1.run(LabelProvider.java:59)
        at org.eclipse.core.internal.runtime.InternalPlatform.run
(InternalPlatform.java:852)
        at org.eclipse.core.runtime.Platform.run(Platform.java:413)
        at org.eclipse.jface.viewers.LabelProvider.fireLabelProviderChanged
(LabelProvider.java:57)
        at org.eclipse.team.internal.ccvs.ui.CVSLightweightDecorator.access$0
(CVSLightweightDecorator.java:1)
        at org.eclipse.team.internal.ccvs.ui.CVSLightweightDecorator$3.run
(CVSLightweightDecorator.java:513)
        at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:31)
        at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages
(Synchronizer.java:94)
        - locked <0952D6E8> (a org.eclipse.swt.widgets.RunnableLock)
        at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:1669)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1414)
        at org.eclipse.jface.operation.ModalContext$ModalContextThread.block
(ModalContext.java:130)
        at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:255)
        at org.eclipse.jface.dialogs.ProgressMonitorDialog.run
(ProgressMonitorDialog.java:351)
        at org.eclipse.ui.actions.WorkspaceAction.run(WorkspaceAction.java:271)
        at org.eclipse.jface.action.Action.runWithEvent(Action.java:804)
        at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection
(ActionContributionItem.java:422)
        at org.eclipse.jface.action.ActionContributionItem.handleWidgetEvent
(ActionContributionItem.java:374)
        at org.eclipse.jface.action.ActionContributionItem.access$0
(ActionContributionItem.java:368)
        at 
org.eclipse.jface.action.ActionContributionItem$ActionListener.handleEvent
(ActionContributionItem.java:69)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:77)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:836)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1692)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1410)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1525)
        at org.eclipse.ui.internal.Workbench.run(Workbench.java:1508)
        at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:845)
        at org.eclipse.core.boot.BootLoader.run(BootLoader.java:462)
        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:247)
        at org.eclipse.core.launcher.Main.run(Main.java:703)
        at org.eclipse.core.launcher.Main.main(Main.java:539)

"VM Thread" prio=5 tid=0x008DD968 nid=0xc4 runnable

"VM Periodic Task Thread" prio=10 tid=0x008F8E10 nid=0x604 waiting on condition
"Suspend Checker Thread" prio=10 tid=0x008FDAB0 nid=0x4a8 runnable
Comment 1 Eduardo Pereira CLA 2003-01-27 10:36:49 EST
Moving to core. UISynchronizer is in the ui plugin but core owns it.
Comment 2 Johan Compagner CLA 2003-01-29 06:06:06 EST
Her another one that i think is somehow related to refreshing/reloading some 
jars of a project 

Full thread dump Java HotSpot(TM) Server VM (1.4.1_01-b01 mixed mode):

"Console Polling Thread" prio=5 tid=0x19A15560 nid=0x1338 waiting on condition 
[
1e81f000..1e81fdc0]
        at java.lang.Thread.sleep(Native Method)
        at 
org.eclipse.debug.internal.ui.views.console.ConsoleDocumentPartitioner.pollAndS
leep(ConsoleDocumentPartitioner.java:513)
        at 
org.eclipse.debug.internal.ui.views.console.ConsoleDocumentPartitioner$1.run
(ConsoleDocumentPartitioner.java:497)
        at java.lang.Thread.run(Thread.java:536)

"org.eclipse.jdt.debug: JDI Event Dispatcher" prio=5 tid=0x1A68C100 nid=0xcb0 
in Object.wait() [1e69f000..1e69fdc0]
        at java.lang.Object.wait(Native Method)
        - waiting on <02FE8DD8> (a 
org.eclipse.jdi.internal.connect.PacketReceiveManager)
        at java.lang.Object.wait(Object.java:426)
        at 
org.eclipse.jdi.internal.connect.PacketReceiveManager.waitForPacketAvailable
(PacketReceiveManager.java:157)
        at org.eclipse.jdi.internal.connect.PacketReceiveManager.getCommand
(PacketReceiveManager.java:87)
        - locked <02FE8DD8> (a 
org.eclipse.jdi.internal.connect.PacketReceiveManager)
        at org.eclipse.jdi.internal.MirrorImpl.getCommandVM
(MirrorImpl.java:270)
        at org.eclipse.jdi.internal.event.EventQueueImpl.remove
(EventQueueImpl.java:57)
        at org.eclipse.jdi.internal.event.EventQueueImpl.remove
(EventQueueImpl.java:42)
        at org.eclipse.jdt.internal.debug.core.EventDispatcher.run
(EventDispatcher.java:197)
        at java.lang.Thread.run(Thread.java:536)

"Packet Send Manager" prio=5 tid=0x19AFE808 nid=0x178c in Object.wait() 
[1e7df000..1e7dfdc0]
        at java.lang.Object.wait(Native Method)
        - waiting on <02FE8E70> (a 
org.eclipse.jdi.internal.connect.PacketSendManager)
        at java.lang.Object.wait(Object.java:426)
        at 
org.eclipse.jdi.internal.connect.PacketSendManager.sendAvailablePackets
(PacketSendManager.java:85)
        - locked <02FE8E70> (a 
org.eclipse.jdi.internal.connect.PacketSendManager)
        at org.eclipse.jdi.internal.connect.PacketSendManager.run
(PacketSendManager.java:50)
        at java.lang.Thread.run(Thread.java:536)

"Packet Receive Manager" prio=5 tid=0x1B286488 nid=0x1bc8 runnable 
[1e75f000..1e75fdc0]
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:129)
        at java.net.SocketInputStream.read(SocketInputStream.java:182)
        at java.io.DataInputStream.readInt(DataInputStream.java:392)
        at org.eclipse.jdi.internal.jdwp.JdwpPacket.read(JdwpPacket.java:118)
        at 
org.eclipse.jdi.internal.connect.PacketReceiveManager.readAvailablePacket
(PacketReceiveManager.java:213)
        at org.eclipse.jdi.internal.connect.PacketReceiveManager.run
(PacketReceiveManager.java:64)
        at java.lang.Thread.run(Thread.java:536)

"Process Monitor" prio=5 tid=0x1B14AE78 nid=0x1770 runnable 
[1e61f000..1e61fdc0]
        at java.lang.Win32Process.waitFor(Native Method)
        at org.eclipse.debug.internal.core.ProcessMonitor.monitorProcess
(ProcessMonitor.java:45)
        at org.eclipse.debug.internal.core.ProcessMonitor.access$0
(ProcessMonitor.java:42)
        at org.eclipse.debug.internal.core.ProcessMonitor$1.run
(ProcessMonitor.java:62)
        at java.lang.Thread.run(Thread.java:536)

"Input Stream Monitor" prio=5 tid=0x1CCC07C0 nid=0x14bc in Object.wait() 
[1e5df000..1e5dfdc0]
        at java.lang.Object.wait(Native Method)
        - waiting on <02FE15B0> (a java.lang.Object)
        at java.lang.Object.wait(Object.java:426)
        at org.eclipse.debug.internal.core.InputStreamMonitor.writeNext
(InputStreamMonitor.java:118)
        - locked <02FE15B0> (a java.lang.Object)
        at org.eclipse.debug.internal.core.InputStreamMonitor.write
(InputStreamMonitor.java:93)
        at org.eclipse.debug.internal.core.InputStreamMonitor$1.run
(InputStreamMonitor.java:69)
        at java.lang.Thread.run(Thread.java:536)

"Output Stream Monitor" prio=5 tid=0x00A3EB78 nid=0x1730 runnable 
[1e59f000..1e59fdc0]
        at java.io.FileInputStream.readBytes(Native Method)
        at java.io.FileInputStream.read(FileInputStream.java:174)
        at org.eclipse.debug.internal.core.OutputStreamMonitor.read
(OutputStreamMonitor.java:130)
        at org.eclipse.debug.internal.core.OutputStreamMonitor.access$0
(OutputStreamMonitor.java:122)
        at org.eclipse.debug.internal.core.OutputStreamMonitor$1.run
(OutputStreamMonitor.java:175)
        at java.lang.Thread.run(Thread.java:536)

"Output Stream Monitor" prio=5 tid=0x19A15408 nid=0x16e4 runnable 
[1e53f000..1e53fdc0]
        at java.io.FileInputStream.readBytes(Native Method)
        at java.io.FileInputStream.read(FileInputStream.java:191)
        at java.io.BufferedInputStream.read1(BufferedInputStream.java:220)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:277)
        - locked <02FDF9C0> (a java.io.BufferedInputStream)
        at java.io.FilterInputStream.read(FilterInputStream.java:90)
        at org.eclipse.debug.internal.core.OutputStreamMonitor.read
(OutputStreamMonitor.java:130)
        at org.eclipse.debug.internal.core.OutputStreamMonitor.access$0
(OutputStreamMonitor.java:122)
        at org.eclipse.debug.internal.core.OutputStreamMonitor$1.run
(OutputStreamMonitor.java:175)
        at java.lang.Thread.run(Thread.java:536)

"org.eclipse.jdt.debug: JDI Event Dispatcher" prio=5 tid=0x1A68C258 nid=0x1680 
waiting for monitor entry [1e65f000..1e65fdc0]
        at sun.misc.URLClassPath.getLoader(URLClassPath.java:266)
        - waiting to lock <04D4F2F8> (a sun.misc.URLClassPath)
        at sun.misc.URLClassPath.getResource(URLClassPath.java:155)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:190)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
        - locked <04D45940> (a java.net.URLClassLoader)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
        at 
org.eclipse.core.internal.boot.DelegatingURLClassLoader.findClassParents
(DelegatingURLClassLoader.java:471)
        at 
org.eclipse.core.internal.plugins.PluginClassLoader.internalFindClassParentsSel
f(PluginClassLoader.java:156)
        - locked <0515BCD8> (a 
org.eclipse.core.internal.plugins.PluginClassLoader)
        at 
org.eclipse.core.internal.boot.DelegatingURLClassLoader.findClassParentsSelf
(DelegatingURLClassLoader.java:499)
        at org.eclipse.core.internal.boot.DelegatingURLClassLoader.loadClass
(DelegatingURLClassLoader.java:891)
        at org.eclipse.core.internal.boot.DelegatingURLClassLoader.loadClass
(DelegatingURLClassLoader.java:871)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
        - locked <0515BCD8> (a 
org.eclipse.core.internal.plugins.PluginClassLoader)
        at org.eclipse.jdi.internal.event.EventQueueImpl.remove
(EventQueueImpl.java:77)
        at org.eclipse.jdi.internal.event.EventQueueImpl.remove
(EventQueueImpl.java:42)
        at org.eclipse.jdt.internal.debug.core.EventDispatcher.run
(EventDispatcher.java:197)
        at java.lang.Thread.run(Thread.java:536)

"Snapshot" prio=2 tid=0x1B14ABC8 nid=0x978 in Object.wait() 
[1c4df000..1c4dfdc0]
        at java.lang.Object.wait(Native Method)
        - waiting on <03410098> (a 
org.eclipse.core.internal.resources.DelayedSnapshotRunnable)
        at org.eclipse.core.internal.resources.DelayedSnapshotRunnable.run
(DelayedSnapshotRunnable.java:38)
        - locked <03410098> (a 
org.eclipse.core.internal.resources.DelayedSnapshotRunnable)
        at java.lang.Thread.run(Thread.java:536)

"Decoration" prio=2 tid=0x1B1D5CE8 nid=0xf20 in Object.wait() 
[1bfaf000..1bfafdc0]
        at java.lang.Object.wait(Native Method)
        - waiting on <0572AB58> (a 
org.eclipse.ui.internal.decorators.DecorationScheduler)
        at java.lang.Object.wait(Object.java:426)
        at org.eclipse.ui.internal.decorators.DecorationScheduler.next
(DecorationScheduler.java:247)
        - locked <0572AB58> (a 
org.eclipse.ui.internal.decorators.DecorationScheduler)
        at org.eclipse.ui.internal.decorators.DecorationScheduler$3.run
(DecorationScheduler.java:273)
        at java.lang.Thread.run(Thread.java:536)

"Java indexing" daemon prio=4 tid=0x19DAD890 nid=0x1e0c waiting on condition 
[1bddf000..1bddfdc0]
        at java.lang.Thread.sleep(Native Method)
        at org.eclipse.jdt.internal.core.search.processing.JobManager.run
(JobManager.java:334)
        at java.lang.Thread.run(Thread.java:536)

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

"Finalizer" daemon prio=9 tid=0x009B9CA0 nid=0x62c in Object.wait() 
[197ff000..197ffdc0]
        at java.lang.Object.wait(Native Method)
        - waiting on <04D453B0> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
        - locked <04D453B0> (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=0x009B9070 nid=0xd70 in Object.wait() 
[95f000..95fdc0]
        at java.lang.Object.wait(Native Method)
        - waiting on <04D45418> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:426)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:113)
        - locked <04D45418> (a java.lang.ref.Reference$Lock)

"main" prio=5 tid=0x00034C38 nid=0xc04 waiting for monitor entry [7e000..7fc28]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:288)
        - waiting to lock <04D45940> (a java.net.URLClassLoader)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
        at 
org.eclipse.core.internal.boot.DelegatingURLClassLoader.findClassParents
(DelegatingURLClassLoader.java:471)
        at 
org.eclipse.core.internal.plugins.PluginClassLoader.internalFindClassParentsSel
f(PluginClassLoader.java:156)
        - locked <034100B0> (a 
org.eclipse.core.internal.plugins.PluginClassLoader)
        at 
org.eclipse.core.internal.boot.DelegatingURLClassLoader.findClassParentsSelf
(DelegatingURLClassLoader.java:494)
        at org.eclipse.core.internal.boot.DelegatingURLClassLoader.loadClass
(DelegatingURLClassLoader.java:891)
        at org.eclipse.core.internal.boot.DelegatingURLClassLoader.loadClass
(DelegatingURLClassLoader.java:871)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
        - locked <034100B0> (a 
org.eclipse.core.internal.plugins.PluginClassLoader)
        at com.objfac.xmleditor.rewrite.XMLTextHover.getHoverRegion
(XMLTextHover.java:66)
        at org.eclipse.jface.text.TextViewerHoverManager.computeInformation
(TextViewerHoverManager.java:85)
        at 
org.eclipse.jface.text.AbstractInformationControlManager.doShowInformation
(AbstractInformationControlManager.java:580)
        at 
org.eclipse.jface.text.AbstractHoverInformationControlManager$MouseTracker.mous
eHover(AbstractHoverInformationControlManager.java:299)
        at org.eclipse.swt.widgets.TypedListener.handleEvent
(TypedListener.java:209)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:77)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:836)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1692)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1410)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1525)
        at org.eclipse.ui.internal.Workbench.run(Workbench.java:1508)
        at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:845)
        at org.eclipse.core.boot.BootLoader.run(BootLoader.java:462)
        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:247)
        at org.eclipse.core.launcher.Main.run(Main.java:703)
        at org.eclipse.core.launcher.Main.main(Main.java:539)

"VM Thread" prio=5 tid=0x009B85A0 nid=0xdf8 runnable

"VM Periodic Task Thread" prio=10 tid=0x009BBE78 nid=0xc74 waiting on condition

"Suspend Checker Thread" prio=10 tid=0x009BC7C8 nid=0x4c0 runnable

Found one Java-level deadlock:
=============================
"org.eclipse.jdt.debug: JDI Event Dispatcher":
  waiting to lock monitor 0x1b10f66c (object 0x4d4f2f8, a 
sun.misc.URLClassPath),
  which is held by "main" "main":
  waiting to lock monitor 0x1a5da994 (object 0x4d45940, a 
java.net.URLClassLoader),
  which is held by "org.eclipse.jdt.debug: JDI Event Dispatcher"

Java stack information for the threads listed above:
===================================================
"org.eclipse.jdt.debug: JDI Event Dispatcher":
        at sun.misc.URLClassPath.getLoader(URLClassPath.java:266)
        - waiting to lock <04D4F2F8> (a sun.misc.URLClassPath)
        at sun.misc.URLClassPath.getResource(URLClassPath.java:155)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:190)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
        - locked <04D45940> (a java.net.URLClassLoader)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
        at 
org.eclipse.core.internal.boot.DelegatingURLClassLoader.findClassParents
(DelegatingURLClassLoader.java:471)
        at 
org.eclipse.core.internal.plugins.PluginClassLoader.internalFindClassParentsSel
f(PluginClassLoader.java:156)
        - locked <0515BCD8> (a 
org.eclipse.core.internal.plugins.PluginClassLoader)
        at 
org.eclipse.core.internal.boot.DelegatingURLClassLoader.findClassParentsSelf
(DelegatingURLClassLoader.java:499)
        at org.eclipse.core.internal.boot.DelegatingURLClassLoader.loadClass
(DelegatingURLClassLoader.java:891)
        at org.eclipse.core.internal.boot.DelegatingURLClassLoader.loadClass
(DelegatingURLClassLoader.java:871)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
        - locked <0515BCD8> (a 
org.eclipse.core.internal.plugins.PluginClassLoader)
        at org.eclipse.jdi.internal.event.EventQueueImpl.remove
(EventQueueImpl.java:77)
        at org.eclipse.jdi.internal.event.EventQueueImpl.remove
(EventQueueImpl.java:42)
        at org.eclipse.jdt.internal.debug.core.EventDispatcher.run
(EventDispatcher.java:197)
        at java.lang.Thread.run(Thread.java:536) "main":
        at java.lang.ClassLoader.loadClass(ClassLoader.java:288)
        - waiting to lock <04D45940> (a java.net.URLClassLoader)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
        at 
org.eclipse.core.internal.boot.DelegatingURLClassLoader.findClassParents
(DelegatingURLClassLoader.java:471)
        at 
org.eclipse.core.internal.plugins.PluginClassLoader.internalFindClassParentsSel
f(PluginClassLoader.java:156)
        - locked <034100B0> (a 
org.eclipse.core.internal.plugins.PluginClassLoader)
        at 
org.eclipse.core.internal.boot.DelegatingURLClassLoader.findClassParentsSelf
(DelegatingURLClassLoader.java:494)
        at org.eclipse.core.internal.boot.DelegatingURLClassLoader.loadClass
(DelegatingURLClassLoader.java:891)
        at org.eclipse.core.internal.boot.DelegatingURLClassLoader.loadClass
(DelegatingURLClassLoader.java:871)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
        - locked <034100B0> (a 
org.eclipse.core.internal.plugins.PluginClassLoader)
        at com.objfac.xmleditor.rewrite.XMLTextHover.getHoverRegion
(XMLTextHover.java:66)
        at org.eclipse.jface.text.TextViewerHoverManager.computeInformation
(TextViewerHoverManager.java:85)
        at 
org.eclipse.jface.text.AbstractInformationControlManager.doShowInformation
(AbstractInformationControlManager.java:580)
        at 
org.eclipse.jface.text.AbstractHoverInformationControlManager$MouseTracker.mous
eHover(AbstractHoverInformationControlManager.java:299)
        at org.eclipse.swt.widgets.TypedListener.handleEvent
(TypedListener.java:209)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:77)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:836)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1692)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1410)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1525)
        at org.eclipse.ui.internal.Workbench.run(Workbench.java:1508)
        at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:845)
        at org.eclipse.core.boot.BootLoader.run(BootLoader.java:462)
        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:247)
        at org.eclipse.core.launcher.Main.run(Main.java:703)
        at org.eclipse.core.launcher.Main.main(Main.java:539)

Found 1 deadlock.
Comment 3 Rafael Chaves CLA 2003-02-19 11:11:11 EST
Philippe's scenario looks like a variant of bug 28671 (we don't have deadlock, 
but a huge number of messages being processed by the UI thread prevents a 
synchronous runnable to get executed).

Here, again, the refresh local operation has already finished but, differently 
than the other case, the *progress monitor* is blocked waiting for a chance to 
have a runnable executed by the UI thread (it was one of the resource change 
listeners in the other bug).

Johan, your dump does not include any workspace operation being executed, and 
it seems it is related to class loading. Have you logged it only in this PR?
Comment 4 Philipe Mulet CLA 2003-02-19 12:24:36 EST
Actually, it only saw it "deadlocking" 10 minutes <g>, I killed it at that 
point... could have just taken an enormous amount of time.
Comment 5 Johan Compagner CLA 2003-02-19 15:01:58 EST
i also reported it under bug 31074 yes (where i believe it somehow a 
classloading thing)
Comment 6 Rafael Chaves CLA 2003-02-19 15:12:47 EST
So I recommend this bug to be marked as duplicate of bug 28671 (I do not have 
rights for doing it).
Comment 7 John Arthorne CLA 2003-02-20 11:31:43 EST

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