Community
Participate
Working Groups
Environment is 3.0 M6. When searching references to a method in the class hierarchy via the methods context menu in the outline view the system hangs.
Do you have steps to reproduce the problem? Or a thread dump?
My system seems to hang ALWAYS when i select "search references" or "search declarations" for a method in hte classes hierarchy. No further log, there is no return...
Please provide console thread dump for further analysis or exact steps to reproduce this issue. In order to do so: start Eclipse with Java console open, so that next time it occurs, you press ctrl-pause in console to trigger a thread dump which would be informative about what's going on. You can start Eclipse with console open using -vm .../java.exe (instead of javaw.exe). Please reopen once the required information is available.
i am sorry this is always taking so long....here is the dump: Full thread dump Java HotSpot(TM) Client VM (1.4.2_01-b06 mixed mode): "ModalContext" prio=7 tid=0x033cfac0 nid=0x590 waiting on condition [45df000..45dfd94] at java.lang.Thread.sleep(Native Method) at org.eclipse.jdt.internal.core.search.processing.JobManager.performConcurrentJob (JobManager.java:245) at org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.searchAllPos sibleSubTypes(IndexBasedHi at org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.determinePos sibleSubTypes(IndexBasedHi at org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.build (IndexBasedHierarchyBuilder.java: at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.compute (TypeHierarchy.java:319) at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.refresh (TypeHierarchy.java:1234) - locked <0x10683248> (a org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy) at org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.executeOperation (CreateTypeHierarchyOperation. at org.eclipse.jdt.internal.core.JavaModelOperation.execute (JavaModelOperation.java:364) at org.eclipse.jdt.internal.core.JavaModelOperation.run (JavaModelOperation.java:703) at org.eclipse.jdt.internal.core.JavaElement.runOperation (JavaElement.java:524) at org.eclipse.jdt.internal.core.SourceType.newTypeHierarchy (SourceType.java:638) at org.eclipse.jdt.internal.core.search.HierarchyScope.initialize (HierarchyScope.java:331) at org.eclipse.jdt.internal.core.search.HierarchyScope.encloses (HierarchyScope.java:233) at org.eclipse.jdt.internal.core.search.pattern.InternalSearchPattern.findIndexMat ches(InternalSearchPattern at org.eclipse.jdt.internal.core.search.pattern.InternalSearchPattern.findIndexMat ches(InternalSearchPattern at org.eclipse.jdt.internal.core.search.pattern.InternalSearchPattern.findIndexMat ches(InternalSearchPattern at org.eclipse.jdt.internal.core.search.PatternSearchJob.search (PatternSearchJob.java:141) at org.eclipse.jdt.internal.core.search.PatternSearchJob.execute (PatternSearchJob.java:72) at org.eclipse.jdt.internal.core.search.processing.JobManager.performConcurrentJob (JobManager.java:261) at org.eclipse.jdt.internal.core.search.pattern.InternalSearchPattern.findMatches (InternalSearchPattern.java at org.eclipse.jdt.core.search.SearchEngine.search (SearchEngine.java:729) at org.eclipse.jdt.core.search.SearchEngine.search (SearchEngine.java:697) at org.eclipse.jdt.core.search.SearchEngine.search (SearchEngine.java:678) at org.eclipse.jdt.internal.ui.search.JavaSearchOperation.execute (JavaSearchOperation.java:97) at org.eclipse.ui.actions.WorkspaceModifyOperation$1.run (WorkspaceModifyOperation.java:91) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1555) at org.eclipse.ui.actions.WorkspaceModifyOperation.run (WorkspaceModifyOperation.java:105) - locked <0x104cb300> (a org.eclipse.jdt.internal.ui.search.JavaSearchOperation) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run (ModalContext.java:101) "Metrics Notifier Thread" prio=5 tid=0x03407280 nid=0xe80 in Object.wait() [479f000..479fd94] at java.lang.Object.wait(Native Method) - waiting on <0x143e6df0> (a net.sourceforge.metrics.builder.Semaphore) at java.lang.Object.wait(Unknown Source) at net.sourceforge.metrics.builder.Semaphore.P(Semaphore.java:40) - locked <0x143e6df0> (a net.sourceforge.metrics.builder.Semaphore) at net.sourceforge.metrics.builder.ProgressQueue.dequeue (ProgressQueue.java:124) at net.sourceforge.metrics.builder.ProgressQueue.access$1 (ProgressQueue.java:123) at net.sourceforge.metrics.builder.ProgressQueue$NotifierThread.run (ProgressQueue.java:145) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x0339a940 nid=0xba4 in Object.wait() [3cff000.. at java.lang.Object.wait(Native Method) - waiting on <0x13a3aba0> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x13a3aba0> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x02ed74c0 nid=0x624 in Object.wait() [39bf000.. at java.lang.Object.wait(Native Method) - waiting on <0x1355e9e8> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:161) - locked <0x1355e9e8> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue) "Worker-1" prio=5 tid=0x032456a0 nid=0x684 in Object.wait() [397f000..397fd94] at java.lang.Object.wait(Native Method) - waiting on <0x12b082f8> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:184) - locked <0x12b082f8> (a org.eclipse.core.internal.jobs.WorkerPool) at org.eclipse.core.internal.jobs.WorkerPool.startJob (WorkerPool.java:210) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) "Java indexing" daemon prio=7 tid=0x031637d0 nid=0xaac in Object.wait() [38ff000..38ffd94] at java.lang.Object.wait(Native Method) - waiting on <0x14905fa0> (a org.eclipse.jdt.internal.core.search.indexing.ReadWriteMonitor) at java.lang.Object.wait(Unknown Source) at org.eclipse.jdt.internal.core.search.indexing.ReadWriteMonitor.enterWrite (ReadWriteMonitor.java:48) - locked <0x14905fa0> (a org.eclipse.jdt.internal.core.search.indexing.ReadWriteMonitor) at org.eclipse.jdt.internal.core.search.indexing.IndexManager.saveIndexes (IndexManager.java:524) at org.eclipse.jdt.internal.core.search.indexing.IndexManager.notifyIdle (IndexManager.java:350) at org.eclipse.jdt.internal.core.search.processing.JobManager.run (JobManager.java:333) at java.lang.Thread.run(Unknown Source) "Start Level Event Dispatcher" daemon prio=5 tid=0x00a33108 nid=0xb7c in Object.wait() [30cf000..30cfd94] at java.lang.Object.wait(Native Method) - waiting on <0x12abcff0> (a org.eclipse.osgi.framework.eventmgr.EventThread) at java.lang.Object.wait(Unknown Source) at org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent (EventThread.java:169) - locked <0x12abcff0> (a org.eclipse.osgi.framework.eventmgr.EventThread) at org.eclipse.osgi.framework.eventmgr.EventThread.run (EventThread.java:120) "Framework Event Dispatcher" daemon prio=5 tid=0x00a2c420 nid=0xddc in Object.wait() [308f000..308fd94] at java.lang.Object.wait(Native Method) - waiting on <0x12abd040> (a org.eclipse.osgi.framework.eventmgr.EventThread) at java.lang.Object.wait(Unknown Source) at org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent (EventThread.java:169) - locked <0x12abd040> (a org.eclipse.osgi.framework.eventmgr.EventThread) at org.eclipse.osgi.framework.eventmgr.EventThread.run (EventThread.java:120) "Signal Dispatcher" daemon prio=10 tid=0x0003d808 nid=0xd08 waiting on condition [0..0] "Finalizer" daemon prio=9 tid=0x009bb250 nid=0xbc in Object.wait() [2d0f000..2d0fd94] at java.lang.Object.wait(Native Method) - waiting on <0x12abd168> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(Unknown Source) - locked <0x12abd168> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(Unknown Source) at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source) "Reference Handler" daemon prio=10 tid=0x009b9e20 nid=0x910 in Object.wait() [2ccf000..2ccfd94] at java.lang.Object.wait(Native Method) - waiting on <0x12abd1d0> (a java.lang.ref.Reference$Lock) at java.lang.Object.wait(Unknown Source) at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source) - locked <0x12abd1d0> (a java.lang.ref.Reference$Lock) "main" prio=7 tid=0x000352f8 nid=0x930 runnable [7f000..7fc3c] at org.eclipse.swt.internal.win32.OS.WaitMessage(Native Method) at org.eclipse.swt.widgets.Display.sleep(Display.java:2608) at org.eclipse.jface.operation.ModalContext$ModalContextThread.block (ModalContext.java:137) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:261) at org.eclipse.jface.dialogs.ProgressMonitorDialog.run (ProgressMonitorDialog.java:394) at org.eclipse.jdt.ui.actions.FindAction.run(FindAction.java:293) at org.eclipse.jdt.ui.actions.FindReferencesAction.run (FindReferencesAction.java:84) at org.eclipse.jdt.ui.actions.FindAction.run(FindAction.java:221) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun (SelectionDispatchAction.java:212) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run (SelectionDispatchAction.java:188) at org.eclipse.jface.action.Action.runWithEvent(Action.java:842) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection (ActionContributionItem.java:509) at org.eclipse.jface.action.ActionContributionItem.access$2 (ActionContributionItem.java:461) at org.eclipse.jface.action.ActionContributionItem$5.handleEvent (ActionContributionItem.java:408) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:847) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2311) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1992) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1506) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1482) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench (Workbench.java:246) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:139) at org.eclipse.ui.internal.ide.IDEApplication.run (IDEApplication.java:47) at org.eclipse.core.internal.runtime.PlatformActivator$1.run (PlatformActivator.java:226) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:85) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.core.launcher.Main.basicRun(Main.java:279) at org.eclipse.core.launcher.Main.run(Main.java:742) at org.eclipse.core.launcher.Main.main(Main.java:581) "VM Thread" prio=5 tid=0x009f76c0 nid=0x4c0 runnable "VM Periodic Task Thread" prio=10 tid=0x009f8008 nid=0xa9c waiting on condition "Suspend Checker Thread" prio=10 tid=0x009bd6f8 nid=0x518 runnable
Created attachment 7677 [details] Readable thread dump
Changed IndexManager.saveIndexes() to not take the write lock to check if the index needs saving.
Verified 3.0M7