Community
Participate
Working Groups
Build I20040304 Sun JDK 1.4.2 -Xmx150 I'm unable to open my existing workspace with this new eclipse build. It gets a stack overflow exception (see bug 53946). While investigating, we found that I have a large (11.5MB!) .metadata/.log with a lot of entries that looks like the following, which suggests that classpath container resolution is implicated (the workspace has a bunch of binary plug-in projects, and 5 source projects - the ws opens fine with I20040226). Please investigate. !MESSAGE Exception occurred in classpath container initializer: org.eclipse.pde.internal.core.RequiredPluginsInitializer@1ba3f9a !STACK 1 org.eclipse.core.internal.resources.ResourceException: Resource is out of sync with the file system: /org.eclipse.ui/.project. at org.eclipse.core.internal.localstore.FileSystemResourceManager.write (FileSystemResourceManager.java:671) at org.eclipse.core.internal.resources.File.internalSetContents (File.java:251) at org.eclipse.core.internal.resources.File.setContents(File.java:293) at org.eclipse.core.internal.localstore.FileSystemResourceManager.internalWrite (FileSystemResourceManager.java:259) at org.eclipse.core.internal.resources.Project.writeDescription (Project.java:925) at org.eclipse.core.internal.resources.Project.setDescription (Project.java:825) at org.eclipse.core.internal.resources.Project.setDescription (Project.java:847) at org.eclipse.jdt.internal.core.SetClasspathOperation.updateProjectReferencesIfNe cessary(SetClasspathOperation.java:810) at org.eclipse.jdt.internal.core.SetClasspathOperation.executeOperation (SetClasspathOperation.java:232) at org.eclipse.jdt.internal.core.JavaModelOperation.run (JavaModelOperation.java:700) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1567) at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation (JavaModelOperation.java:744) at org.eclipse.jdt.internal.core.JavaProject.setRawClasspath (JavaProject.java:2629) at org.eclipse.jdt.core.JavaCore$5.run(JavaCore.java:3304) at org.eclipse.jdt.internal.core.BatchOperation.executeOperation (BatchOperation.java:34) at org.eclipse.jdt.internal.core.JavaModelOperation.run (JavaModelOperation.java:700) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1567) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1586) at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:3164) at org.eclipse.jdt.core.JavaCore.setClasspathContainer (JavaCore.java:3290) at org.eclipse.pde.internal.core.ModelEntry.updateClasspathContainer (ModelEntry.java:110) at org.eclipse.pde.internal.core.RequiredPluginsInitializer.initialize (RequiredPluginsInitializer.java:40) at org.eclipse.jdt.core.JavaCore$1.run(JavaCore.java:1170) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java:788) at org.eclipse.core.runtime.Platform.run(Platform.java:497) at org.eclipse.jdt.core.JavaCore.getClasspathContainer (JavaCore.java:1165) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath (JavaProject.java:1867) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath (JavaProject.java:1790) at org.eclipse.jdt.internal.core.JavaProject.computeExpandedClasspath (JavaProject.java:351) at org.eclipse.jdt.internal.core.JavaProject.computeExpandedClasspath (JavaProject.java:368) at org.eclipse.jdt.internal.core.JavaProject.getExpandedClasspath (JavaProject.java:1316) at org.eclipse.jdt.internal.core.JavaProject.getExpandedClasspath (JavaProject.java:1295) at org.eclipse.jdt.internal.core.SetClasspathOperation.updateAffectedProjects (SetClasspathOperation.java:636) at org.eclipse.jdt.internal.core.SetClasspathOperation.generateClasspathChangeDelt as(SetClasspathOperation.java:515) at org.eclipse.jdt.internal.core.SetClasspathOperation.updateClasspath (SetClasspathOperation.java:606) at org.eclipse.jdt.internal.core.SetClasspathOperation.executeOperation (SetClasspathOperation.java:245) at org.eclipse.jdt.internal.core.JavaModelOperation.run (JavaModelOperation.java:700) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1567) at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation (JavaModelOperation.java:744) at org.eclipse.jdt.internal.core.JavaProject.setRawClasspath (JavaProject.java:2629) at org.eclipse.jdt.core.JavaCore$5.run(JavaCore.java:3304) at org.eclipse.jdt.internal.core.BatchOperation.executeOperation (BatchOperation.java:34) at org.eclipse.jdt.internal.core.JavaModelOperation.run (JavaModelOperation.java:700) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1567) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1586) at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:3164) at org.eclipse.jdt.core.JavaCore.setClasspathContainer (JavaCore.java:3290) at org.eclipse.pde.internal.core.ModelEntry.updateClasspathContainer (ModelEntry.java:110) at org.eclipse.pde.internal.core.RequiredPluginsInitializer.initialize (RequiredPluginsInitializer.java:40) at org.eclipse.jdt.core.JavaCore$1.run(JavaCore.java:1170) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java:788) at org.eclipse.core.runtime.Platform.run(Platform.java:497) at org.eclipse.jdt.core.JavaCore.getClasspathContainer (JavaCore.java:1165) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath (JavaProject.java:1867) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath (JavaProject.java:1790) at org.eclipse.jdt.internal.core.JavaProject.computeExpandedClasspath (JavaProject.java:351) at org.eclipse.jdt.internal.core.JavaProject.computeExpandedClasspath (JavaProject.java:368) at org.eclipse.jdt.internal.core.JavaProject.getExpandedClasspath (JavaProject.java:1316) at org.eclipse.jdt.internal.core.JavaProject.getExpandedClasspath (JavaProject.java:1295) at org.eclipse.jdt.internal.core.SetClasspathOperation.updateAffectedProjects (SetClasspathOperation.java:636) at org.eclipse.jdt.internal.core.SetClasspathOperation.generateClasspathChangeDelt as(SetClasspathOperation.java:515) at org.eclipse.jdt.internal.core.SetClasspathOperation.updateClasspath (SetClasspathOperation.java:606) at org.eclipse.jdt.internal.core.SetClasspathOperation.executeOperation (SetClasspathOperation.java:245) at org.eclipse.jdt.internal.core.JavaModelOperation.run (JavaModelOperation.java:700) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1567) at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation (JavaModelOperation.java:744) at org.eclipse.jdt.internal.core.JavaProject.setRawClasspath (JavaProject.java:2629) at org.eclipse.jdt.core.JavaCore$5.run(JavaCore.java:3304) at org.eclipse.jdt.internal.core.BatchOperation.executeOperation (BatchOperation.java:34) at org.eclipse.jdt.internal.core.JavaModelOperation.run (JavaModelOperation.java:700) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1567) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1586) at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:3164) at org.eclipse.jdt.core.JavaCore.setClasspathContainer (JavaCore.java:3290) at org.eclipse.pde.internal.core.ModelEntry.updateClasspathContainer (ModelEntry.java:110) at org.eclipse.pde.internal.core.RequiredPluginsInitializer.initialize (RequiredPluginsInitializer.java:40) at org.eclipse.jdt.core.JavaCore$1.run(JavaCore.java:1170) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java:788) at org.eclipse.core.runtime.Platform.run(Platform.java:497) at org.eclipse.jdt.core.JavaCore.getClasspathContainer (JavaCore.java:1165) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath (JavaProject.java:1867) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath (JavaProject.java:1790) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath (JavaProject.java:1762) at org.eclipse.jdt.internal.core.DeltaProcessingState.initializeRoots (DeltaProcessingState.java:147) at org.eclipse.jdt.internal.core.JavaModelOperation.run (JavaModelOperation.java:698) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1567) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1586) at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:3164) at org.eclipse.jdt.core.JavaCore.setClasspathContainer (JavaCore.java:3290) at org.eclipse.jdt.internal.launching.JREContainerInitializer.initialize (JREContainerInitializer.java:51) at org.eclipse.jdt.core.JavaCore$1.run(JavaCore.java:1170) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java:788) at org.eclipse.core.runtime.Platform.run(Platform.java:497) at org.eclipse.jdt.core.JavaCore.getClasspathContainer (JavaCore.java:1165) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath (JavaProject.java:1867) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath (JavaProject.java:1790) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath (JavaProject.java:1762) at org.eclipse.jdt.core.JavaCore.setClasspathContainer (JavaCore.java:3281) at org.eclipse.pde.internal.core.ModelEntry.updateClasspathContainer (ModelEntry.java:110) at org.eclipse.pde.internal.core.RequiredPluginsInitializer.initialize (RequiredPluginsInitializer.java:40) at org.eclipse.jdt.core.JavaCore$1.run(JavaCore.java:1170) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java:788) at org.eclipse.core.runtime.Platform.run(Platform.java:497) at org.eclipse.jdt.core.JavaCore.getClasspathContainer (JavaCore.java:1165) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath (JavaProject.java:1867) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath (JavaProject.java:1790) at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath (JavaProject.java:1762) at org.eclipse.jdt.internal.core.JavaProject.buildStructure (JavaProject.java:262) at org.eclipse.jdt.internal.core.Openable.generateInfos (Openable.java:169) at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed (JavaElement.java:536) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo (JavaElement.java:280) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo (JavaElement.java:266) at org.eclipse.jdt.internal.core.JavaElement.getChildren (JavaElement.java:221) at org.eclipse.jdt.internal.core.Openable.hasChildren (Openable.java:272) at org.eclipse.jdt.ui.StandardJavaElementContentProvider.hasChildren (StandardJavaElementContentProvider.java:213) at org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable (AbstractTreeViewer.java:1152) at org.eclipse.jface.viewers.AbstractTreeViewer.updatePlus (AbstractTreeViewer.java:1596) at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem (AbstractTreeViewer.java:384) at org.eclipse.jface.viewers.AbstractTreeViewer$1.run (AbstractTreeViewer.java:363) at org.eclipse.swt.custom.BusyIndicator.showWhile (BusyIndicator.java:84) at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren (AbstractTreeViewer.java:349) at org.eclipse.jface.viewers.AbstractTreeViewer$5.run (AbstractTreeViewer.java:808) at org.eclipse.jface.viewers.StructuredViewer.preservingSelection (StructuredViewer.java:810) at org.eclipse.jface.viewers.AbstractTreeViewer.inputChanged (AbstractTreeViewer.java:798) at org.eclipse.jface.viewers.ContentViewer.setInput (ContentViewer.java:238) at org.eclipse.jface.viewers.StructuredViewer.setInput (StructuredViewer.java:1004) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart.createPartControl (PackageExplorerPart.java:284) at org.eclipse.ui.internal.PartPane$1.run(PartPane.java:118) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java:788) at org.eclipse.core.runtime.Platform.run(Platform.java:497) at org.eclipse.ui.internal.PartPane.createChildControl (PartPane.java:114) at org.eclipse.ui.internal.ViewPane.createChildControl (ViewPane.java:322) at org.eclipse.ui.internal.PartPane.createControl(PartPane.java:226) at org.eclipse.ui.internal.ViewPane.createControl(ViewPane.java:275) at org.eclipse.ui.internal.PartTabFolder.createPartTab (PartTabFolder.java:589) at org.eclipse.ui.internal.PartTabFolder.createControl (PartTabFolder.java:528) at org.eclipse.ui.internal.PartSashContainer.createControl (PartSashContainer.java:240) at org.eclipse.ui.internal.PerspectivePresentation.activate (PerspectivePresentation.java:117) at org.eclipse.ui.internal.Perspective.onActivate(Perspective.java:629) at org.eclipse.ui.internal.WorkbenchPage.onActivate (WorkbenchPage.java:1957) at org.eclipse.ui.internal.WorkbenchWindow$6.run (WorkbenchWindow.java:1670) at org.eclipse.swt.custom.BusyIndicator.showWhile (BusyIndicator.java:84) at org.eclipse.ui.internal.WorkbenchWindow.setActivePage (WorkbenchWindow.java:1657) at org.eclipse.ui.internal.WorkbenchWindow.restoreState (WorkbenchWindow.java:1250) at org.eclipse.ui.internal.Workbench.restoreState(Workbench.java:1385) at org.eclipse.ui.internal.Workbench.access$9(Workbench.java:1353) at org.eclipse.ui.internal.Workbench$14.run(Workbench.java:1275) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java:788) at org.eclipse.core.runtime.Platform.run(Platform.java:497) at org.eclipse.ui.internal.Workbench.openPreviousWorkbenchState (Workbench.java:1231) at org.eclipse.ui.internal.Workbench.init(Workbench.java:907) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1519) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench (Workbench.java:263) 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:256) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:100) 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:279) at org.eclipse.core.launcher.Main.run(Main.java:742) at org.eclipse.core.launcher.Main.main(Main.java:581) !SUBENTRY 1 org.eclipse.core.resources 4 274 Mar 05, 2004 16:55:09.683 !MESSAGE Resource is out of sync with the file system: /org.eclipse.ui/.project. !ENTRY org.eclipse.core.runtime 4 2 Mar 05, 2004 16:55:09.808 !MESSAGE Problems occurred when invoking code from plug- in: "org.eclipse.core.runtime".
Jim, does the workspace contain binary projects that have been imported with links?
No. Just regular binary plug-in projects imported from the hosting eclipse (I20040226).
Will investigate. In the meantime, cc'ing JohnA and Philippe for comment as the problem seems to be occurring when the .project file is being written at the time of classpath container resolution.
This looks like a possible regresion of: Bug 47213 Inefficient recursion while initializing classpath container The StackOverflow is possibly caused by very deep recursion while initializing the classpath?
I don't think it is the same, in other bug, issue was due to reentering the #initializeRoots call, which is no longer occurring. There is no stack overflow here, and the container initializations are deeply recursive (since has to compute a CP delta which is triggering further resolutions). Wondering if this wouldn't rather be due to issues near PDE container which fails to initialize itself from times to times.
A failure in the PDE container initialization that is directly PDE-related typically results in an empty classpath. This could occur if the external plug-ins were not completely resolved by the time the container initializer is called. For this particular one though, it seems like it's happening when the project description is being modified. That is why I thought it might be JDT/Core- related.
Jim, defects like this one are hard to reproduce, as each workspace is unique. Please zip up your workspace so that we could get to the bottom of this thing.
The chief culprit has been tracked down and caught (see bug 53946). If I see these stack traces again, I will re-report. Ok to close.
Closing.