Bug 53953 - problems on startup
Summary: problems on startup
Status: RESOLVED WORKSFORME
Alias: None
Product: PDE
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.0   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: PDE-UI-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-03-05 17:44 EST by Jim des Rivieres CLA
Modified: 2004-03-10 10:28 EST (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jim des Rivieres CLA 2004-03-05 17:44:29 EST
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".
Comment 1 Wassim Melhem CLA 2004-03-05 17:47:31 EST
Jim, does the workspace contain binary projects that have been imported with 
links?
Comment 2 Jim des Rivieres CLA 2004-03-05 17:53:32 EST
No. Just regular binary plug-in projects imported from the hosting eclipse 
(I20040226).
Comment 3 Wassim Melhem CLA 2004-03-05 18:00:27 EST
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. 
Comment 4 John Arthorne CLA 2004-03-08 14:10:37 EST
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?
Comment 5 Philipe Mulet CLA 2004-03-08 18:15:26 EST
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. 
Comment 6 Wassim Melhem CLA 2004-03-08 18:27:49 EST
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.
Comment 7 Wassim Melhem CLA 2004-03-09 23:57:09 EST
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.
Comment 8 Jim des Rivieres CLA 2004-03-10 09:01:55 EST
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.
Comment 9 Wassim Melhem CLA 2004-03-10 10:28:22 EST
Closing.