Community
Participate
Working Groups
I've using 20020214 with Team 2.0 enabled. Eclipse no longer starts. I modified my startup to use java.exe, but absoltely nothing is echoed out. I hit ctrl-break and got the following listing: Full thread dump: "CVS" prio=5 tid=0x153f0560 nid=0xd54 waiting on monitor [0x1582f000..0x1582fdbc ] 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 :130) at org.eclipse.team.internal.ccvs.ui.CVSDecorationRunnable.run(CVSDecora tionRunnable.java:86) at java.lang.Thread.run(Thread.java:484) "Java indexing" daemon prio=5 tid=0x14bb8ff8 nid=0xe38 waiting on monitor [0x153 ef000..0x153efdbc] at java.lang.Thread.sleep(Native Method) at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobMan ager.java:276) at java.lang.Thread.run(Thread.java:484) "Signal Dispatcher" daemon prio=10 tid=0x812668 nid=0xb64 waiting on monitor [0. .0] "Finalizer" daemon prio=9 tid=0x80e830 nid=0x9f8 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=0x14a50368 nid=0x8f0 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=0x234668 nid=0xd6c runnable [0x6e000..0x6fc34] at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.java:64) at java.io.FileInputStream.<init>(FileInputStream.java:95) at org.eclipse.jdt.internal.compiler.util.Util.getFileCharContent(Util.j ava:146) at org.eclipse.jdt.internal.core.BasicCompilationUnit.getContents(BasicC ompilationUnit.java:44) at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:693 6) at org.eclipse.jdt.internal.compiler.parser.Parser.dietParse(Parser.java :4644) at org.eclipse.jdt.internal.core.hierarchy.HierarchyResolver.resolve(Hie rarchyResolver.java:409) at org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.bu ildForProject(IndexBasedHierarchyBuilder.java:208) at org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.bu ildFromPotentialSubtypes(IndexBasedHierarchyBuilder.java:287) at org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.bu ild(IndexBasedHierarchyBuilder.java:158) at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.compute(TypeHie rarchy.java:249) at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.refresh(TypeHie rarchy.java:1094) at org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.executeOpe ration(CreateTypeHierarchyOperation.java:52) at org.eclipse.jdt.internal.core.JavaModelOperation.execute(JavaModelOpe ration.java:268) at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperati on.java:476) at org.eclipse.jdt.internal.core.JavaModelManager.runOperation(JavaModel Manager.java:992) at org.eclipse.jdt.internal.core.JavaElement.runOperation(JavaElement.ja va:526) at org.eclipse.jdt.internal.core.BinaryType.newTypeHierarchy(BinaryType. java:304) at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyLifeCycle.doHi erarchyRefresh(TypeHierarchyLifeCycle.java:144) at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyLifeCycle.acce ss$0(TypeHierarchyLifeCycle.java:129) at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyLifeCycle$1.ru n(TypeHierarchyLifeCycle.java:105) at org.eclipse.jdt.internal.ui.util.BusyIndicatorRunnableContext$BusyRun nable.internalRun(BusyIndicatorRunnableContext.java:107) at org.eclipse.jdt.internal.ui.util.BusyIndicatorRunnableContext$BusyRun nable.run(BusyIndicatorRunnableContext.java:74) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:56) at org.eclipse.jdt.internal.ui.util.BusyIndicatorRunnableContext.run(Bus yIndicatorRunnableContext.java:120) at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyLifeCycle.ensu reRefreshedTypeHierarchy(TypeHierarchyLifeCycle.java:113) at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyViewPart.updat eInput(TypeHierarchyViewPart.java:377) at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyViewPart.setIn putElement(TypeHierarchyViewPart.java:363) at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyViewPart.resto reState(TypeHierarchyViewPart.java:1192) at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyViewPart.creat ePartControl(TypeHierarchyViewPart.java:641) at org.eclipse.ui.internal.PartPane$2.run(PartPane.java:58) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatfo rm.java:817) at org.eclipse.core.runtime.Platform.run(Platform.java:395) at org.eclipse.ui.internal.PartPane.createChildControl(PartPane.java:56) at org.eclipse.ui.internal.PartPane.createControl(PartPane.java:98) at org.eclipse.ui.internal.ViewPane.createControl(ViewPane.java:174) at org.eclipse.ui.internal.PartTabFolder.createPartTab(PartTabFolder.jav a:237) at org.eclipse.ui.internal.PartTabFolder.createControl(PartTabFolder.jav a:209) at org.eclipse.ui.internal.PartSashContainer.createControl(PartSashConta iner.java:174) at org.eclipse.ui.internal.PerspectivePresentation.activate(PerspectiveP resentation.java:88) at org.eclipse.ui.internal.Perspective.onActivate(Perspective.java:552) at org.eclipse.ui.internal.WorkbenchPage.onActivate(WorkbenchPage.java:1 069) at org.eclipse.ui.internal.WorkbenchWindow$5.run(WorkbenchWindow.java:91 9) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:56) at org.eclipse.ui.internal.WorkbenchWindow.setActivePage(WorkbenchWindow .java:907) at org.eclipse.ui.internal.WorkbenchWindow.restoreState(WorkbenchWindow. java:820) at org.eclipse.ui.internal.Workbench.restoreState(Workbench.java:746) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:504) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatfo rm.java:817) at org.eclipse.core.runtime.Platform.run(Platform.java:395) at org.eclipse.ui.internal.Workbench.openPreviousWorkbenchState(Workbenc h.java:489) at org.eclipse.ui.internal.Workbench.openWindows(Workbench.java:539) at org.eclipse.ui.internal.Workbench.init(Workbench.java:389) at org.eclipse.ui.internal.Workbench.run(Workbench.java:768) at org.eclipse.core.internal.boot.InternalBootLoader.run(InternalBootLoa der.java:777) at org.eclipse.core.boot.BootLoader.run(BootLoader.java:319) at java.lang.reflect.Method.invoke(Native Method) at org.eclipse.core.launcher.Main.basicRun(Main.java:151) at org.eclipse.core.launcher.Main.run(Main.java:502) at org.eclipse.core.launcher.Main.main(Main.java:362) "VM Thread" prio=5 tid=0x14abe1c0 nid=0x9d0 runnable "VM Periodic Task Thread" prio=10 tid=0x811340 nid=0x454 waiting on monitor "Suspend Checker Thread" prio=10 tid=0x811cb8 nid=0x8a8 runnable Looks like Eclipse is having a problem with CVS. How do I work around this? Why doesn't Eclipse bring up the UI before dealing with these issues? I'd prefer to see a progress panel with a cancel button and some hint as to what's gone wrong.
What's extra vexxing is that none of my open projects uses CVS. My non-open CVS projects reference CVS servers at sourceforge.net ... they're a bit low on the reliability front. It could be that Eclipse was calling out to a CVS server that wasn't there ... but why? Again, whatever its doing should be scheduled after the GUI comes up, so that we can get some visual feedback of what its doing.
I believe it would've come up eventually, its no hung, just doing more work than it should. CVS decorators are not contacting the server. However, they are doing more work in that build then they should be. Its not clear though that this is the slow down - we just happened to get caught at the top of the stack trace. Nonethelss you should take either 0319 or the milestone build that'll be out tomorrow or Friday, since there have been considerable CVS decorator improvements. We may be doing more decorator work on closed projects than we should be. Entering http://dev.eclipse.org/bugs/show_bug.cgi?id=12041, adding reporter to CC. The point is valid that the UI should become alive first before decorators or other work occurs. However, the CVS decorators are actually computed in a background thread, then we notify the UI that they are ready, so we are trying to be good citizens here. This is the CVS decorator thread you saw. Also: - JDT is doing a lot of work on startup and I believe in the UI thread. Can it build the hierarchy (or whatever its doing) in a background thread? Entered http://dev.eclipse.org/bugs/show_bug.cgi?id=12043 with reporter on CC. Closing this PR as invalid since the only issue for us is closed projects which I entered another PR for.