Community
Participate
Working Groups
Build 20021218 - Having a simple project (external project location) containing some resources. - I ran a script outside, which results in modifying som (jacks test suite). - Come back to Eclipse, and perform a refresh operation. It takes about 5 minutes to complete, no progress, UI is frozen, during which I requested various thread dumps, see below. Full thread dump Java HotSpot(TM) Client VM (1.4.1_01-b01 mixed mode): "ModalContext" prio=5 tid=0x14A8B718 nid=0xfc in Object.wait() [18caf000..18cafd8c] at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:426) at org.eclipse.ui.internal.Semaphore.acquire(Semaphore.java:20) - locked <08FD8E08> (a org.eclipse.ui.internal.Semaphore) at org.eclipse.ui.internal.UISynchronizer.syncExec (UISynchronizer.java:34) at org.eclipse.swt.widgets.Display.syncExec(Display.java:1979) at org.eclipse.ui.views.tasklist.TaskListContentProvider.resourceChanged (TaskListContentProvider.java:515) at org.eclipse.core.internal.events.NotificationManager$1.run (NotificationManager.java:137) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java:852) at org.eclipse.core.runtime.Platform.run(Platform.java:413) at org.eclipse.core.internal.events.NotificationManager.notify (NotificationManager.java:152) at org.eclipse.core.internal.events.NotificationManager.broadcastChanges (NotificationManager.java:67) at org.eclipse.core.internal.resources.Workspace.broadcastChanges (Workspace.java:153) at org.eclipse.core.internal.resources.Workspace.endOperation (Workspace.java:869) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1569) at org.eclipse.ui.actions.WorkspaceModifyOperation.run (WorkspaceModifyOperation.java:79) - locked <085D2718> (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=0x148E53E0 nid=0x6e8 in Object.wait() [18c1f000..18c1fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <07F06DA8> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x14C214E8 nid=0x550 in Object.wait() [1766f000..1766fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <07BEEFB8> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x14C23A90 nid=0x68c in Object.wait() [175ef000..175efd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <078BEE60> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x14886DE0 nid=0x4c4 in Object.wait() [1706f000..1706fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <07672548> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x14C1FFD0 nid=0x6c0 in Object.wait() [16fdf000..16fdfd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0751CF38> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x148DFDF0 nid=0x6c4 in Object.wait() [16f9f000..16f9fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0751D0C8> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x13AD5E48 nid=0x26c runnable [16f5f000..16f5fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0751D258> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x148DF708 nid=0x6c8 runnable [16f1f000..16f1fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <07483910> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x148DEEE8 nid=0x594 runnable [16e9f000..16e9fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <07483AA0> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "Debug async queue" prio=5 tid=0x148DD248 nid=0x59c in Object.wait() [16d4f000..16d4fd8c] at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:426) at org.eclipse.debug.core.DebugPlugin$AsynchRunner.run (DebugPlugin.java:722) - locked <0743FC50> (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=0x1487DA98 nid=0x13c runnable [16a2f000..16a2fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <073491B0> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x149E6CB0 nid=0x69c runnable [1660f000..1660fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <06DE8350> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x1382FBD0 nid=0x464 runnable [14f6f000..14f6fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <04432A58> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "Decoration" prio=2 tid=0x13720C98 nid=0x30c runnable [144cf000..144cfd8c] at org.eclipse.core.runtime.Path.computeHashCode(Path.java:323) at org.eclipse.core.runtime.Path.<init>(Path.java:83) at org.eclipse.core.runtime.Path.removeLastSegments(Path.java:711) at org.eclipse.core.internal.resources.Resource.getParent (Resource.java:770) at org.eclipse.team.internal.ccvs.core.resources.EclipseSynchronizer.getResourceSyn c(EclipseSynchronizer.java:205) at org.eclipse.team.internal.ccvs.core.resources.EclipsePhantomSynchronizer.getReso urceSync(EclipsePhantomSynchronizer.java:130) at org.eclipse.team.internal.ccvs.core.resources.EclipseResource.getSyncInfo (EclipseResource.java:222) at org.eclipse.team.internal.ccvs.core.resources.EclipseResource.isManaged (EclipseResource.java:181) at org.eclipse.team.internal.ccvs.core.resources.EclipseResource.isIgnored (EclipseResource.java:115) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.members (EclipseFolder.java:73) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.determineDirtyCount (EclipseFolder.java:460) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.isModified (EclipseFolder.java:423) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.determineDirtyCount (EclipseFolder.java:465) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.isModified (EclipseFolder.java:423) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.determineDirtyCount (EclipseFolder.java:465) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.isModified (EclipseFolder.java:423) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.determineDirtyCount (EclipseFolder.java:465) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.isModified (EclipseFolder.java:423) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.determineDirtyCount (EclipseFolder.java:465) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.isModified (EclipseFolder.java:423) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.determineDirtyCount (EclipseFolder.java:465) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.isModified (EclipseFolder.java:423) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.determineDirtyCount (EclipseFolder.java:465) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.isModified (EclipseFolder.java:423) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.determineDirtyCount (EclipseFolder.java:465) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.isModified (EclipseFolder.java:423) at org.eclipse.team.internal.ccvs.ui.CVSLightweightDecorator$1.run (CVSLightweightDecorator.java:101) at org.eclipse.team.internal.ccvs.core.resources.EclipseSynchronizer.run (EclipseSynchronizer.java:1112) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.run (EclipseFolder.java:352) at org.eclipse.team.internal.ccvs.ui.CVSLightweightDecorator.isDirty (CVSLightweightDecorator.java:97) at org.eclipse.team.internal.ccvs.ui.CVSLightweightDecorator.isDirty (CVSLightweightDecorator.java:118) at org.eclipse.team.internal.ccvs.ui.CVSLightweightDecorator.decorate (CVSLightweightDecorator.java:188) at org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.decorate (LightweightDecoratorDefinition.java:153) at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecorations (LightweightDecoratorManager.java:152) at org.eclipse.ui.internal.decorators.DecorationScheduler$3.run (DecorationScheduler.java:286) at java.lang.Thread.run(Thread.java:536) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x1372A810 nid=0x34c runnable [1437f000..1437fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <042FE3F0> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "Java indexing" daemon prio=4 tid=0x135077F0 nid=0x74 waiting on condition [142ef000..142efd8c] at java.lang.Thread.sleep(Native Method) at org.eclipse.jdt.internal.core.search.processing.JobManager.run (JobManager.java:322) at java.lang.Thread.run(Thread.java:536) "Signal Dispatcher" daemon prio=10 tid=0x00904250 nid=0x4d4 waiting on condition [0..0] "Finalizer" daemon prio=9 tid=0x008F8218 nid=0x518 in Object.wait() [133cf000..133cfd8c] at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) - locked <03A79018> (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=0x4a4 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 <03A79080> (a java.lang.ref.Reference$Lock) "main" prio=5 tid=0x00234D20 nid=0x414 runnable [6e000..6fc40] at org.eclipse.swt.internal.win32.OS.SendMessageW(Native Method) at org.eclipse.swt.internal.win32.OS.SendMessage(OS.java:1768) at org.eclipse.swt.widgets.TreeItem.getItems(TreeItem.java:394) at org.eclipse.jface.viewers.TreeViewer.getChildren(TreeViewer.java:113) at org.eclipse.jface.viewers.AbstractTreeViewer.internalFindItem (AbstractTreeViewer.java:805) at org.eclipse.jface.viewers.AbstractTreeViewer.internalFindItem (AbstractTreeViewer.java:808) at org.eclipse.jface.viewers.AbstractTreeViewer.doFindItem (AbstractTreeViewer.java:320) at org.eclipse.jface.viewers.StructuredViewer.findItem (StructuredViewer.java:289) at org.eclipse.jface.viewers.StructuredViewer.update (StructuredViewer.java:1086) at org.eclipse.jface.viewers.StructuredViewer.update (StructuredViewer.java:1051) at org.eclipse.jface.viewers.StructuredViewer.handleLabelProviderChanged (StructuredViewer.java:521) 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.fireListeners (DecoratorManager.java:145) at org.eclipse.ui.internal.decorators.DecoratorManager.labelProviderChanged (DecoratorManager.java:434) at org.eclipse.jface.viewers.LabelProvider.fireLabelProviderChanged (LabelProvider.java:54) 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:503) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:31) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages (Synchronizer.java:94) - locked <0902C200> (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:769) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection (ActionContributionItem.java:411) at org.eclipse.jface.action.ActionContributionItem.handleWidgetEvent (ActionContributionItem.java:365) at org.eclipse.jface.action.ActionContributionItem.access$0 (ActionContributionItem.java:356) at org.eclipse.jface.action.ActionContributionItem$ActionListener.handleEvent (ActionContributionItem.java:48) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:77) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:825) 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:1446) at org.eclipse.ui.internal.Workbench.run(Workbench.java:1429) 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=0x538 runnable "VM Periodic Task Thread" prio=10 tid=0x008F8E10 nid=0x554 waiting on condition "Suspend Checker Thread" prio=10 tid=0x008FDAB0 nid=0x4b0 runnable Full thread dump Java HotSpot(TM) Client VM (1.4.1_01-b01 mixed mode): "ModalContext" prio=5 tid=0x14A8B718 nid=0xfc in Object.wait() [18caf000..18cafd8c] at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:426) at org.eclipse.ui.internal.Semaphore.acquire(Semaphore.java:20) - locked <08FD8E08> (a org.eclipse.ui.internal.Semaphore) at org.eclipse.ui.internal.UISynchronizer.syncExec (UISynchronizer.java:34) at org.eclipse.swt.widgets.Display.syncExec(Display.java:1979) at org.eclipse.ui.views.tasklist.TaskListContentProvider.resourceChanged (TaskListContentProvider.java:515) at org.eclipse.core.internal.events.NotificationManager$1.run (NotificationManager.java:137) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java:852) at org.eclipse.core.runtime.Platform.run(Platform.java:413) at org.eclipse.core.internal.events.NotificationManager.notify (NotificationManager.java:152) at org.eclipse.core.internal.events.NotificationManager.broadcastChanges (NotificationManager.java:67) at org.eclipse.core.internal.resources.Workspace.broadcastChanges (Workspace.java:153) at org.eclipse.core.internal.resources.Workspace.endOperation (Workspace.java:869) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1569) at org.eclipse.ui.actions.WorkspaceModifyOperation.run (WorkspaceModifyOperation.java:79) - locked <085D2718> (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=0x148E53E0 nid=0x6e8 in Object.wait() [18c1f000..18c1fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <07F06DA8> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x14C214E8 nid=0x550 in Object.wait() [1766f000..1766fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <07BEEFB8> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x14C23A90 nid=0x68c in Object.wait() [175ef000..175efd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <078BEE60> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x14886DE0 nid=0x4c4 in Object.wait() [1706f000..1706fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <07672548> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x14C1FFD0 nid=0x6c0 in Object.wait() [16fdf000..16fdfd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0751CF38> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x148DFDF0 nid=0x6c4 runnable [16f9f000..16f9fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0751D0C8> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x13AD5E48 nid=0x26c runnable [16f5f000..16f5fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0751D258> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x148DF708 nid=0x6c8 runnable [16f1f000..16f1fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <07483910> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x148DEEE8 nid=0x594 runnable [16e9f000..16e9fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <07483AA0> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "Debug async queue" prio=5 tid=0x148DD248 nid=0x59c in Object.wait() [16d4f000..16d4fd8c] at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:426) at org.eclipse.debug.core.DebugPlugin$AsynchRunner.run (DebugPlugin.java:722) - locked <0743FC50> (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=0x1487DA98 nid=0x13c runnable [16a2f000..16a2fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <073491B0> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x149E6CB0 nid=0x69c runnable [1660f000..1660fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <06DE8350> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x1382FBD0 nid=0x464 runnable [14f6f000..14f6fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <04432A58> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "Decoration" prio=2 tid=0x13720C98 nid=0x30c runnable [144cf000..144cfd8c] at org.eclipse.core.internal.indexing.ObjectStore.removeFromCache (ObjectStore.java:292) - waiting to lock <063037C8> (a java.util.LinkedList) at org.eclipse.core.internal.indexing.ObjectStore.acquireObject (ObjectStore.java:222) at org.eclipse.core.internal.indexing.IndexedStore.acquireObject (IndexedStore.java:70) at org.eclipse.core.internal.indexing.IndexedStore.acquireAnchor (IndexedStore.java:45) at org.eclipse.core.internal.indexing.IndexCursor.find (IndexCursor.java:85) - locked <062F64A0> (a org.eclipse.core.internal.indexing.IndexCursor) at org.eclipse.core.internal.indexing.IndexedStore.getIndex (IndexedStore.java:260) - locked <062EE0D8> (a org.eclipse.core.internal.indexing.IndexedStore) at org.eclipse.core.internal.properties.IndexedStoreWrapper.getIndex (IndexedStoreWrapper.java:122) - locked <062F60F8> (a org.eclipse.core.internal.properties.IndexedStoreWrapper) at org.eclipse.core.internal.properties.IndexedStoreWrapper.getCursor (IndexedStoreWrapper.java:172) - locked <062F60F8> (a org.eclipse.core.internal.properties.IndexedStoreWrapper) at org.eclipse.core.internal.properties.PropertyStore.basicExists (PropertyStore.java:45) at org.eclipse.core.internal.properties.PropertyStore.commonSet (PropertyStore.java:111) - locked <062ED658> (a org.eclipse.core.internal.properties.PropertyStore) at org.eclipse.core.internal.properties.PropertyStore.set (PropertyStore.java:426) at org.eclipse.core.internal.properties.PropertyManager.setProperty (PropertyManager.java:171) - locked <062ED658> (a org.eclipse.core.internal.properties.PropertyStore) at org.eclipse.core.internal.resources.Resource.setPersistentProperty (Resource.java:1087) at org.eclipse.team.internal.ccvs.core.resources.EclipseSynchronizer.internalSetDir tyIndicator(EclipseSynchronizer.java:1159) at org.eclipse.team.internal.ccvs.core.resources.EclipseSynchronizer.setDirtyIndica tor(EclipseSynchronizer.java:1133) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.determineDirtyCount (EclipseFolder.java:477) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.isModified (EclipseFolder.java:423) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.determineDirtyCount (EclipseFolder.java:465) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.isModified (EclipseFolder.java:423) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.determineDirtyCount (EclipseFolder.java:465) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.isModified (EclipseFolder.java:423) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.determineDirtyCount (EclipseFolder.java:465) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.isModified (EclipseFolder.java:423) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.determineDirtyCount (EclipseFolder.java:465) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.isModified (EclipseFolder.java:423) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.determineDirtyCount (EclipseFolder.java:465) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.isModified (EclipseFolder.java:423) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.determineDirtyCount (EclipseFolder.java:465) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.isModified (EclipseFolder.java:423) at org.eclipse.team.internal.ccvs.ui.CVSLightweightDecorator$1.run (CVSLightweightDecorator.java:101) at org.eclipse.team.internal.ccvs.core.resources.EclipseSynchronizer.run (EclipseSynchronizer.java:1112) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.run (EclipseFolder.java:352) at org.eclipse.team.internal.ccvs.ui.CVSLightweightDecorator.isDirty (CVSLightweightDecorator.java:97) at org.eclipse.team.internal.ccvs.ui.CVSLightweightDecorator.isDirty (CVSLightweightDecorator.java:118) at org.eclipse.team.internal.ccvs.ui.CVSLightweightDecorator.decorate (CVSLightweightDecorator.java:188) at org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.decorate (LightweightDecoratorDefinition.java:153) at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecorations (LightweightDecoratorManager.java:152) at org.eclipse.ui.internal.decorators.DecorationScheduler$3.run (DecorationScheduler.java:286) at java.lang.Thread.run(Thread.java:536) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x1372A810 nid=0x34c runnable [1437f000..1437fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <042FE3F0> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "Java indexing" daemon prio=4 tid=0x135077F0 nid=0x74 waiting on condition [142ef000..142efd8c] at java.lang.Thread.sleep(Native Method) at org.eclipse.jdt.internal.core.search.processing.JobManager.run (JobManager.java:322) at java.lang.Thread.run(Thread.java:536) "Signal Dispatcher" daemon prio=10 tid=0x00904250 nid=0x4d4 waiting on condition [0..0] "Finalizer" daemon prio=9 tid=0x008F8218 nid=0x518 in Object.wait() [133cf000..133cfd8c] at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) - locked <03A79018> (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=0x4a4 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 <03A79080> (a java.lang.ref.Reference$Lock) "main" prio=5 tid=0x00234D20 nid=0x414 runnable [6e000..6fc40] at org.eclipse.swt.internal.win32.OS.SendMessage(OS.java:1768) 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:805) at org.eclipse.jface.viewers.AbstractTreeViewer.internalFindItem (AbstractTreeViewer.java:808) at org.eclipse.jface.viewers.AbstractTreeViewer.doFindItem (AbstractTreeViewer.java:320) at org.eclipse.jface.viewers.StructuredViewer.findItem (StructuredViewer.java:289) at org.eclipse.jface.viewers.StructuredViewer.update (StructuredViewer.java:1086) at org.eclipse.jface.viewers.StructuredViewer.update (StructuredViewer.java:1051) at org.eclipse.jface.viewers.StructuredViewer.handleLabelProviderChanged (StructuredViewer.java:521) 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.fireListeners (DecoratorManager.java:145) at org.eclipse.ui.internal.decorators.DecoratorManager.labelProviderChanged (DecoratorManager.java:434) at org.eclipse.jface.viewers.LabelProvider.fireLabelProviderChanged (LabelProvider.java:54) 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:503) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:31) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages (Synchronizer.java:94) - locked <0902C200> (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:769) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection (ActionContributionItem.java:411) at org.eclipse.jface.action.ActionContributionItem.handleWidgetEvent (ActionContributionItem.java:365) at org.eclipse.jface.action.ActionContributionItem.access$0 (ActionContributionItem.java:356) at org.eclipse.jface.action.ActionContributionItem$ActionListener.handleEvent (ActionContributionItem.java:48) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:77) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:825) 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:1446) at org.eclipse.ui.internal.Workbench.run(Workbench.java:1429) 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=0x538 runnable "VM Periodic Task Thread" prio=10 tid=0x008F8E10 nid=0x554 waiting on condition "Suspend Checker Thread" prio=10 tid=0x008FDAB0 nid=0x4b0 runnable Full thread dump Java HotSpot(TM) Client VM (1.4.1_01-b01 mixed mode): "ModalContext" prio=5 tid=0x14A8B718 nid=0xfc in Object.wait() [18caf000..18cafd8c] at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:426) at org.eclipse.ui.internal.Semaphore.acquire(Semaphore.java:20) - locked <08FD8E08> (a org.eclipse.ui.internal.Semaphore) at org.eclipse.ui.internal.UISynchronizer.syncExec (UISynchronizer.java:34) at org.eclipse.swt.widgets.Display.syncExec(Display.java:1979) at org.eclipse.ui.views.tasklist.TaskListContentProvider.resourceChanged (TaskListContentProvider.java:515) at org.eclipse.core.internal.events.NotificationManager$1.run (NotificationManager.java:137) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java:852) at org.eclipse.core.runtime.Platform.run(Platform.java:413) at org.eclipse.core.internal.events.NotificationManager.notify (NotificationManager.java:152) at org.eclipse.core.internal.events.NotificationManager.broadcastChanges (NotificationManager.java:67) at org.eclipse.core.internal.resources.Workspace.broadcastChanges (Workspace.java:153) at org.eclipse.core.internal.resources.Workspace.endOperation (Workspace.java:869) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1569) at org.eclipse.ui.actions.WorkspaceModifyOperation.run (WorkspaceModifyOperation.java:79) - locked <085D2718> (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=0x148E53E0 nid=0x6e8 in Object.wait() [18c1f000..18c1fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <07F06DA8> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x14C214E8 nid=0x550 in Object.wait() [1766f000..1766fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <07BEEFB8> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x14C23A90 nid=0x68c runnable [175ef000..175efd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <078BEE60> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x14886DE0 nid=0x4c4 runnable [1706f000..1706fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <07672548> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x14C1FFD0 nid=0x6c0 runnable [16fdf000..16fdfd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0751CF38> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x148DFDF0 nid=0x6c4 runnable [16f9f000..16f9fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0751D0C8> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x13AD5E48 nid=0x26c runnable [16f5f000..16f5fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0751D258> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x148DF708 nid=0x6c8 runnable [16f1f000..16f1fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <07483910> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x148DEEE8 nid=0x594 runnable [16e9f000..16e9fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <07483AA0> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "Debug async queue" prio=5 tid=0x148DD248 nid=0x59c in Object.wait() [16d4f000..16d4fd8c] at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:426) at org.eclipse.debug.core.DebugPlugin$AsynchRunner.run (DebugPlugin.java:722) - locked <0743FC50> (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=0x1487DA98 nid=0x13c runnable [16a2f000..16a2fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <073491B0> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x149E6CB0 nid=0x69c runnable [1660f000..1660fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <06DE8350> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x1382FBD0 nid=0x464 runnable [14f6f000..14f6fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <04432A58> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "Decoration" prio=2 tid=0x13720C98 nid=0x30c runnable [144cf000..144cfd8c] at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(FileOutputStream.java:176) at java.io.FileOutputStream.<init>(FileOutputStream.java:70) at org.eclipse.core.internal.indexing.LogWriter.open(LogWriter.java:37) at org.eclipse.core.internal.indexing.LogWriter.putModifiedPages (LogWriter.java:26) at org.eclipse.core.internal.indexing.PageStore.commit (PageStore.java:209) at org.eclipse.core.internal.indexing.ObjectStore.commit (ObjectStore.java:181) at org.eclipse.core.internal.indexing.IndexedStore.commit (IndexedStore.java:137) - locked <062EE0D8> (a org.eclipse.core.internal.indexing.IndexedStore) at org.eclipse.core.internal.properties.IndexedStoreWrapper.commit (IndexedStoreWrapper.java:86) - locked <062F60F8> (a org.eclipse.core.internal.properties.IndexedStoreWrapper) at org.eclipse.core.internal.properties.PropertyStore.commit (PropertyStore.java:449) at org.eclipse.core.internal.properties.PropertyManager.setProperty (PropertyManager.java:173) - locked <062ED658> (a org.eclipse.core.internal.properties.PropertyStore) at org.eclipse.core.internal.resources.Resource.setPersistentProperty (Resource.java:1087) at org.eclipse.team.internal.ccvs.core.resources.EclipseSynchronizer.internalSetDir tyIndicator(EclipseSynchronizer.java:1159) at org.eclipse.team.internal.ccvs.core.resources.EclipseSynchronizer.setDirtyIndica tor(EclipseSynchronizer.java:1133) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.determineDirtyCount (EclipseFolder.java:477) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.isModified (EclipseFolder.java:423) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.determineDirtyCount (EclipseFolder.java:465) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.isModified (EclipseFolder.java:423) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.determineDirtyCount (EclipseFolder.java:465) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.isModified (EclipseFolder.java:423) at org.eclipse.team.internal.ccvs.ui.CVSLightweightDecorator$1.run (CVSLightweightDecorator.java:101) at org.eclipse.team.internal.ccvs.core.resources.EclipseSynchronizer.run (EclipseSynchronizer.java:1112) at org.eclipse.team.internal.ccvs.core.resources.EclipseFolder.run (EclipseFolder.java:352) at org.eclipse.team.internal.ccvs.ui.CVSLightweightDecorator.isDirty (CVSLightweightDecorator.java:97) at org.eclipse.team.internal.ccvs.ui.CVSLightweightDecorator.isDirty (CVSLightweightDecorator.java:118) at org.eclipse.team.internal.ccvs.ui.CVSLightweightDecorator.decorate (CVSLightweightDecorator.java:188) at org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.decorate (LightweightDecoratorDefinition.java:153) at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecorations (LightweightDecoratorManager.java:152) at org.eclipse.ui.internal.decorators.DecorationScheduler$3.run (DecorationScheduler.java:286) at java.lang.Thread.run(Thread.java:536) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x1372A810 nid=0x34c runnable [1437f000..1437fd8c] at java.lang.Object.wait(Native Method) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <042FE3F0> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "Java indexing" daemon prio=4 tid=0x135077F0 nid=0x74 waiting on condition [142ef000..142efd8c] at java.lang.Thread.sleep(Native Method) at org.eclipse.jdt.internal.core.search.processing.JobManager.run (JobManager.java:322) at java.lang.Thread.run(Thread.java:536) "Signal Dispatcher" daemon prio=10 tid=0x00904250 nid=0x4d4 waiting on condition [0..0] "Finalizer" daemon prio=9 tid=0x008F8218 nid=0x518 in Object.wait() [133cf000..133cfd8c] at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111) - locked <03A79018> (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=0x4a4 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 <03A79080> (a java.lang.ref.Reference$Lock) "main" prio=5 tid=0x00234D20 nid=0x414 runnable [6e000..6fc40] at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:1219) at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:152) at org.eclipse.swt.widgets.Control.windowProc(Control.java:2766) 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:1828) at org.eclipse.swt.widgets.TreeItem.getItems(TreeItem.java:405) at org.eclipse.jface.viewers.TreeViewer.getChildren(TreeViewer.java:113) at org.eclipse.jface.viewers.AbstractTreeViewer.internalFindItem (AbstractTreeViewer.java:805) at org.eclipse.jface.viewers.AbstractTreeViewer.doFindItem (AbstractTreeViewer.java:320) at org.eclipse.jface.viewers.StructuredViewer.findItem (StructuredViewer.java:289) at org.eclipse.jface.viewers.StructuredViewer.update (StructuredViewer.java:1086) at org.eclipse.jface.viewers.StructuredViewer.update (StructuredViewer.java:1051) at org.eclipse.jface.viewers.StructuredViewer.handleLabelProviderChanged (StructuredViewer.java:521) 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.fireListeners (DecoratorManager.java:145) at org.eclipse.ui.internal.decorators.DecoratorManager.labelProviderChanged (DecoratorManager.java:434) at org.eclipse.jface.viewers.LabelProvider.fireLabelProviderChanged (LabelProvider.java:54) 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:503) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:31) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages (Synchronizer.java:94) - locked <0902C200> (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:769) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection (ActionContributionItem.java:411) at org.eclipse.jface.action.ActionContributionItem.handleWidgetEvent (ActionContributionItem.java:365) at org.eclipse.jface.action.ActionContributionItem.access$0 (ActionContributionItem.java:356) at org.eclipse.jface.action.ActionContributionItem$ActionListener.handleEvent (ActionContributionItem.java:48) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:77) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:825) 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:1446) at org.eclipse.ui.internal.Workbench.run(Workbench.java:1429) 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)
Actually, I indeed had a bunch of changes detected (had forgot to clean some stuff generated by scripts), but anyway, the freezing feels very bad. Olivier has the steps to reproduce (need to run jacks test suite inside an Eclipse project, and then without cleaning results force Eclipse to refresh). After I cleaned the extra files, refresh was quite fast to recover (numerous deletions is much faster than same amount of additions - also the progress bar did perform correctly when deleting).
Rafael, please investigate. Thanks.
It's not clear if the external application changed existing resources or just added files in the project directory. Could you explain that? Another question: when you say the UI was frozen: was the progress dialog showing up, and the cancel button responsive? Last points: roughly speaking, about how many files externally created/changed are we talking here? And are they source files, class files, or just proprietary files which are generated by the application? Thanks.
The script did generate a few thousand files on the file system, accounting for the slowness to surface them as resources. However, no UI refresh did occur, no progress was shown, the windows did not redraw anymore for 5 minutes (I thought it was dead).
see also bug 28343 and bug 28671 and bug 28416
see also bug 29944
Wow, lots of stuff in there! Its possible that CVS is partially to blame, but decoration happens in the background decorator thread and so shouldn't cause UI freeze. There is work that we do for delta processing (and thus in the UI thread), but I didn't see that here. Is this a single thread dump? I count three decorator threads (for example, there are three threads with org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecorations).
There are actually three stack dumps all concatenated together (search for "mixed mode" to find the top of each). It would have been better if they were attached as separate or zip'd together files but... Also, it is unclear how much time is involved between the traces. Anyway, the three traces show exactly the same behaviour. There is a ModalContext thread which is the one that did the operation. It is broadcasting the delta to resource change listeners. There is the Decorator thread which is busy counting the number of dirty resources and setting a persistent property. There is the Main (UI) thread which is processing an exec to handle a label changed event. So it is a bummer that all this work is going on but I agree, it should not cause the UI to lock up dramatically. The only things I can think of are: - the syncExec() call in the ModalContext thread. - that combined with the decorators spewing lots of label changed events onto the async queue effectively starving the paints and the like. Could be two separate bugs?
From the refresh local operation perspective, the problem is that resource change listeners are taking too much time to do their work. I could observe the following situations where this occur: a) the listener (TaskListContentProvider/WorkbenchContentProvider) passes a runnable to #syncExec and waits too long to have a chance to be executed (> 10s) - probably caused by resource decoration generating lots of changes in the UI; b) the listener (WorkbenchContentProvider) passes a runnable to #syncExec that takes too much time to finish (> 10s). The decorator thread eventually blocks trying to execute a Workspace operation, and then stops flooding the UI events queue and allows the call to #syncExec to complete (what only happens *after* there is no more UI events to be processed). Resource change listeners should complete their work quickly. If the time for processing the delta depends so much on the delta size, it should be done asynchronously (using a copy of the delta). This would also avoid the time taken by a refresh operation depend on the traffic in the UI event queue (what is bad). Nick, isn't it possible for UI to avoid the use of syncExec in their resource change listeners?
Team is making a changes that hopefully should considerably improve the performance here: 1. We are sending more label updates than we need to (mostly for markers). We are going to interogate the delta more closely 2. We are no longer using persistent properties to remember dirty state
Bug 30148 shows a slightly different scenario: it is also a refresh, but the listeners have already been notified, and the workspace operation "blocks" when calling IProgressMonitor#done - which, by its turn, calls Display#syncExec - and, again, the UI thread is too busy to run any synchronous Runnable.
*** Bug 30148 has been marked as a duplicate of this bug. ***
*** Bug 32739 has been marked as a duplicate of this bug. ***
Good news: the refresh operation with RC2 is taking 16s for discovering 5000 new files in a CVS-shared project (it was usually taking around 60s - most of it notifying listeners or finishing the operation). Looks like recent VCM/UI work has finally paid off.
Olivier/Philippe: could one of you verify if the behaviour has effectively improved in your scenario using 2.1? I tried to create a similar test case (see comment 14 above), and noticed good improvements: the operation total time took 25% of the previous time, and while the progress dialog is showing, the rest of the UI is visibly reflecting the changes (repopulating package explorer / resource navigator tree view), instead of freezing.
I can confirm that this behavior has been improved.
Thanks. Closing. Will reopen if anybody has a scenario where the problem still occurs (2.1) while refreshing.