Community
Participate
Working Groups
2.0 Got the following deadlock trying to start a build 20020627 workspace: Full thread dump: "CVS" prio=5 tid=0x14bfe518 nid=0x688 waiting on monitor [0x15b9f000..0x15b9fdbc] at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:420) at org.eclipse.team.internal.ccvs.ui.CVSDecorator.next (CVSDecorator.java:213) at org.eclipse.team.internal.ccvs.ui.CVSDecorationRunnable.run (CVSDecorationRunnable.java:105) at java.lang.Thread.run(Thread.java:484) "org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x14e405f8 nid=0x704 waiting on monitor [0x15abf000..0x15abfdbc] at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:420) at org.eclipse.core.internal.utils.Semaphore.acquire(Semaphore.java:24) at org.eclipse.core.resources.WorkspaceLock.acquire (WorkspaceLock.java:51) at org.eclipse.ui.internal.UIWorkspaceLock.acquire (UIWorkspaceLock.java:40) at org.eclipse.core.internal.resources.WorkManager.checkIn (WorkManager.java:80) at org.eclipse.core.internal.resources.Workspace.prepareOperation (Workspace.java:1311) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1359) at org.eclipse.jdt.internal.core.JavaModelManager.runOperation (JavaModelManager.java:1212) at org.eclipse.jdt.internal.core.JavaElement.runOperation (JavaElement.java:574) at org.eclipse.jdt.internal.core.JavaProject.setRawClasspath (JavaProject.java:1971) at org.eclipse.jdt.core.JavaCore.setClasspathContainer (JavaCore.java:2176) at org.eclipse.jdt.internal.launching.JREContainerInitializer.initialize (JREContainerInitializer.java:59) at org.eclipse.jdt.core.JavaCore$1.run(JavaCore.java:723) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java:831) at org.eclipse.core.runtime.Platform.run(Platform.java:416) at org.eclipse.jdt.core.JavaCore.getClasspathContainer (JavaCore.java:718) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath (JavaProject.java:1360) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath (JavaProject.java:1300) at org.eclipse.jdt.internal.core.JavaProject.computeExpandedClasspath (JavaProject.java:298) at org.eclipse.jdt.internal.core.JavaProject.getExpandedClasspath (JavaProject.java:910) at org.eclipse.jdt.internal.core.JavaProject.getExpandedClasspath (JavaProject.java:897) at org.eclipse.jdt.internal.core.JavaProject.getClasspathEntryFor (JavaProject.java:873) at org.eclipse.jdt.internal.core.JarPackageFragmentRoot.findSourceAttachmentRecomme ndation(JarPackageFragmentRoot.java:402) at org.eclipse.jdt.internal.core.JarPackageFragmentRoot.getSourceAttachmentProperty (JarPackageFragmentRoot.java:505) at org.eclipse.jdt.internal.core.JarPackageFragmentRoot.getSourceAttachmentPath (JarPackageFragmentRoot.java:484) at org.eclipse.jdt.internal.core.JarPackageFragmentRoot.openWhenClosed (JarPackageFragmentRoot.java:608) at org.eclipse.jdt.internal.core.JavaElement.openHierarchy (JavaElement.java:521) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo (JavaElement.java:308) at org.eclipse.jdt.internal.core.JavaElement.getChildren (JavaElement.java:264) at org.eclipse.jdt.internal.core.NameLookup.getPackageFragmentsInRoots (NameLookup.java:384) at org.eclipse.jdt.internal.core.NameLookup.configureFromProject (NameLookup.java:129) at org.eclipse.jdt.internal.core.NameLookup.<init>(NameLookup.java:91) at org.eclipse.jdt.internal.core.JavaProject.getNameLookup (JavaProject.java:969) at org.eclipse.jdt.internal.core.SearchableEnvironment.<init> (SearchableEnvironment.java:50) at org.eclipse.jdt.internal.core.JavaProject.getSearchableNameEnvironment (JavaProject.java:1421) at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.getNameEnvironment (CompilationUnitProblemFinder.java:121) at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.resolve (CompilationUnitProblemFinder.java:144) at org.eclipse.jdt.internal.core.WorkingCopy.reconcile (WorkingCopy.java:410) at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile (JavaReconcilingStrategy.java:71) at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.initialReconcile (JavaReconcilingStrategy.java:125) at org.eclipse.jface.text.reconciler.MonoReconciler.initialProcess (MonoReconciler.java:101) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run (AbstractReconciler.java:150) "Snapshot" prio=5 tid=0x14bfcd90 nid=0x608 waiting on monitor [0x15a1f000..0x15a1fdbc] at java.lang.Object.wait(Native Method) at org.eclipse.core.internal.resources.DelayedSnapshotRunnable.run (DelayedSnapshotRunnable.java:41) at java.lang.Thread.run(Thread.java:484) "Java indexing" daemon prio=4 tid=0x14b36650 nid=0x794 waiting for monitor entry [0x1590f000..0x1590fdbc] at org.eclipse.jdt.internal.core.Openable.isOpen(Openable.java:331) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath (JavaProject.java:1286) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath (JavaProject.java:1272) at org.eclipse.jdt.internal.core.JavaProject.updateCycleParticipants (JavaProject.java:2106) at org.eclipse.jdt.internal.core.JavaProject.updateCycleParticipants (JavaProject.java:2116) at org.eclipse.jdt.internal.core.JavaProject.updateCycleParticipants (JavaProject.java:2116) at org.eclipse.jdt.internal.core.JavaProject.hasClasspathCycle (JavaProject.java:1475) at org.eclipse.jdt.internal.core.SetClasspathOperation.updateCycleMarkers (SetClasspathOperation.java:524) at org.eclipse.jdt.internal.core.SetClasspathOperation.updateClasspath (SetClasspathOperation.java:468) at org.eclipse.jdt.internal.core.SetClasspathOperation.executeOperation (SetClasspathOperation.java:212) at org.eclipse.jdt.internal.core.JavaModelOperation.execute (JavaModelOperation.java:305) at org.eclipse.jdt.internal.core.JavaModelOperation.run (JavaModelOperation.java:513) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1361) at org.eclipse.jdt.internal.core.JavaModelManager.runOperation (JavaModelManager.java:1212) at org.eclipse.jdt.internal.core.JavaElement.runOperation (JavaElement.java:574) at org.eclipse.jdt.internal.core.JavaProject.setRawClasspath (JavaProject.java:1971) at org.eclipse.jdt.core.JavaCore.setClasspathContainer (JavaCore.java:2176) at org.eclipse.jdt.internal.launching.JREContainerInitializer.initialize (JREContainerInitializer.java:59) at org.eclipse.jdt.core.JavaCore$1.run(JavaCore.java:723) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java:831) at org.eclipse.core.runtime.Platform.run(Platform.java:416) at org.eclipse.jdt.core.JavaCore.getClasspathContainer (JavaCore.java:718) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath (JavaProject.java:1360) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath (JavaProject.java:1300) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath (JavaProject.java:1272) at org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexAll (IndexManager.java:259) at org.eclipse.jdt.internal.core.search.indexing.IndexManager.checkIndexConsistency (IndexManager.java:157) at org.eclipse.jdt.internal.core.search.indexing.IndexManager.activateProcessing (IndexManager.java:76) at org.eclipse.jdt.internal.core.search.processing.JobManager.run (JobManager.java:307) at java.lang.Thread.run(Thread.java:484) "Signal Dispatcher" daemon prio=10 tid=0x813460 nid=0x63c waiting on monitor [0..0] "Finalizer" daemon prio=9 tid=0x80f720 nid=0x344 waiting on monitor [0x14d0f000..0x14d0fdbc] at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:108) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:123) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:162) "Reference Handler" daemon prio=10 tid=0x14a509c0 nid=0x5c4 waiting on monitor [0x14ccf000..0x14ccfdbc] at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:420) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:110) "main" prio=5 tid=0x234528 nid=0x6f0 waiting for monitor entry [0x6f000..0x6fc34] at org.eclipse.jdt.internal.core.JavaElement.getElementInfo (JavaElement.java:305) at org.eclipse.jdt.internal.core.JavaElement.getChildren (JavaElement.java:264) at org.eclipse.jdt.internal.core.Openable.hasChildren(Openable.java:284) at org.eclipse.jdt.ui.StandardJavaElementContentProvider.hasChildren (StandardJavaElementContentProvider.java:227) at org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable (AbstractTreeViewer.java:926) at org.eclipse.jface.viewers.AbstractTreeViewer.updatePlus (AbstractTreeViewer.java:1269) at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem (AbstractTreeViewer.java:259) at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren (AbstractTreeViewer.java:243) at org.eclipse.jface.viewers.AbstractTreeViewer$2.run (AbstractTreeViewer.java:646) at org.eclipse.jface.viewers.StructuredViewer.preservingSelection (StructuredViewer.java:688) at org.eclipse.jface.viewers.AbstractTreeViewer.inputChanged (AbstractTreeViewer.java:638) at org.eclipse.jface.viewers.ContentViewer.setInput (ContentViewer.java:234) at org.eclipse.jface.viewers.StructuredViewer.setInput (StructuredViewer.java:875) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart.createPartControl (PackageExplorerPart.java:275) at org.eclipse.ui.internal.PartPane$4.run(PartPane.java:136) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java:831) at org.eclipse.core.runtime.Platform.run(Platform.java:416) at org.eclipse.ui.internal.PartPane.createChildControl (PartPane.java:134) at org.eclipse.ui.internal.PartPane.createControl(PartPane.java:178) at org.eclipse.ui.internal.ViewPane.createControl(ViewPane.java:181) at org.eclipse.ui.internal.PartTabFolder.createPartTab (PartTabFolder.java:247) at org.eclipse.ui.internal.PartTabFolder.createControl (PartTabFolder.java:219) at org.eclipse.ui.internal.PartSashContainer.createControl (PartSashContainer.java:180) at org.eclipse.ui.internal.PerspectivePresentation.activate (PerspectivePresentation.java:94) at org.eclipse.ui.internal.Perspective.onActivate(Perspective.java:666) at org.eclipse.ui.internal.WorkbenchPage.onActivate (WorkbenchPage.java:1522) at org.eclipse.ui.internal.WorkbenchWindow$7.run (WorkbenchWindow.java:1209) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:66) at org.eclipse.ui.internal.WorkbenchWindow.setActivePage (WorkbenchWindow.java:1196) at org.eclipse.ui.internal.WorkbenchWindow.restoreState (WorkbenchWindow.java:1089) at org.eclipse.ui.internal.Workbench.restoreState(Workbench.java:1080) at org.eclipse.ui.internal.Workbench.access$7(Workbench.java:1060) at org.eclipse.ui.internal.Workbench$6.run(Workbench.java:796) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java:831) at org.eclipse.core.runtime.Platform.run(Platform.java:416) at org.eclipse.ui.internal.Workbench.openPreviousWorkbenchState (Workbench.java:748) at org.eclipse.ui.internal.Workbench.init(Workbench.java:562) at org.eclipse.ui.internal.Workbench.run(Workbench.java:1153) at org.eclipse.core.internal.boot.InternalBootLoader.run (InternalBootLoader.java:775) at org.eclipse.core.boot.BootLoader.run(BootLoader.java:462) at java.lang.reflect.Method.invoke(Native Method) at org.eclipse.core.launcher.Main.basicRun(Main.java:248) at org.eclipse.core.launcher.Main.run(Main.java:698) at org.eclipse.core.launcher.Main.main(Main.java:534) "VM Thread" prio=5 tid=0x23f888 nid=0x754 runnable "VM Periodic Task Thread" prio=10 tid=0x812138 nid=0x7e0 waiting on monitor "Suspend Checker Thread" prio=10 tid=0x812ab0 nid=0x76c runnable
Please try to isolate scenario.
I could not reproduce and could not find a test case. This scenario seems impossible as all the classpaths in the workspace are resolved during JavaCore.startup before the indexer starts up. Closing for now.