Bug 148970 - Exceptions opening external Java file
Summary: Exceptions opening external Java file
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.1.2   Edit
Hardware: PC Windows XP
: P3 major (vote)
Target Milestone: 3.3 M1   Edit
Assignee: Jerome Lanneluc CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-06-28 07:10 EDT by Dani Megert CLA
Modified: 2006-08-07 09:13 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dani Megert CLA 2006-06-28 07:10:20 EDT
JDT Core and UI from HEAD

Opening an external Java file using File > Open File... results in exceptions. This used to work just fine before. Related to fix for bug 142530?


!ENTRY org.eclipse.jdt.ui 4 0 2006-06-28 13:11:22.716
!MESSAGE Error in JDT Core during reconcile
!STACK 1
Java Model Exception: Core Exception [code 368] Resource '/ ' does not exist.
	at org.eclipse.jdt.internal.core.SetContainerOperation.executeOperation(SetContainerOperation.java:167)
	at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:720)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1737)
	at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:784)
	at org.eclipse.jdt.core.JavaCore.setClasspathContainer(JavaCore.java:4075)
	at org.eclipse.jdt.internal.launching.JREContainerInitializer.initialize(JREContainerInitializer.java:57)
	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:1970)
	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:1337)
	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:1470)
	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2544)
	at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:1847)
	at org.eclipse.jdt.internal.core.JavaProject.buildStructure(JavaProject.java:384)
	at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:229)
	at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:505)
	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:249)
	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:235)
	at org.eclipse.jdt.internal.core.JavaProject.getJavaProjectElementInfo(JavaProject.java:1513)
	at org.eclipse.jdt.internal.core.JavaProject.newNameLookup(JavaProject.java:2195)
	at org.eclipse.jdt.internal.core.SearchableEnvironment.<init>(SearchableEnvironment.java:53)
	at org.eclipse.jdt.internal.core.SearchableEnvironment.<init>(SearchableEnvironment.java:67)
	at org.eclipse.jdt.internal.core.CancelableNameEnvironment.<init>(CancelableNameEnvironment.java:26)
	at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:159)
	at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:248)
	at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:152)
	at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:71)
	at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:720)
	at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:779)
	at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1131)
	at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:97)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
	at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:82)
	at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.initialReconcile(JavaReconcilingStrategy.java:172)
	at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.initialReconcile(CompositeReconcilingStrategy.java:114)
	at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.initialReconcile(JavaCompositeReconcilingStrategy.java:125)
	at org.eclipse.jface.text.reconciler.MonoReconciler.initialProcess(MonoReconciler.java:103)
	at org.eclipse.jdt.internal.ui.text.JavaReconciler.initialProcess(JavaReconciler.java:331)
	at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:170)
Caused by: org.eclipse.core.internal.resources.ResourceException: Resource '/ ' does not exist.
	at org.eclipse.core.internal.resources.Resource.checkExists(Resource.java:304)
	at org.eclipse.core.internal.resources.Resource.checkAccessible(Resource.java:187)
	at org.eclipse.core.internal.resources.Project.checkAccessible(Project.java:142)
	at org.eclipse.core.internal.resources.Resource.touch(Resource.java:1598)
	at org.eclipse.core.internal.resources.Project.touch(Project.java:1045)
	at org.eclipse.jdt.internal.core.SetContainerOperation.executeOperation(SetContainerOperation.java:153)
	at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:720)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1737)
	at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:784)
	at org.eclipse.jdt.core.JavaCore.setClasspathContainer(JavaCore.java:4075)
	at org.eclipse.jdt.internal.launching.JREContainerInitializer.initialize(JREContainerInitializer.java:57)
	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:1970)
	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:1337)
	at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:1470)
	at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2544)
	at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:1847)
	at org.eclipse.jdt.internal.core.JavaProject.buildStructure(JavaProject.java:384)
	at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:229)
	at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:505)
	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:249)
	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:235)
	at org.eclipse.jdt.internal.core.JavaProject.getJavaProjectElementInfo(JavaProject.java:1513)
	at org.eclipse.jdt.internal.core.JavaProject.newNameLookup(JavaProject.java:2195)
	at org.eclipse.jdt.internal.core.SearchableEnvironment.<init>(SearchableEnvironment.java:53)
	at org.eclipse.jdt.internal.core.SearchableEnvironment.<init>(SearchableEnvironment.java:67)
	at org.eclipse.jdt.internal.core.CancelableNameEnvironment.<init>(CancelableNameEnvironment.java:26)
	at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:159)
	at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:248)
	at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:152)
	at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:71)
	at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:720)
	at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:779)
	at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1131)
	at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:97)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
	at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:82)
	at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.initialReconcile(JavaReconcilingStrategy.java:172)
	at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.initialReconcile(CompositeReconcilingStrategy.java:114)
	at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.initialReconcile(JavaCompositeReconcilingStrategy.java:125)
	at org.eclipse.jface.text.reconciler.MonoReconciler.initialProcess(MonoReconciler.java:103)
	at org.eclipse.jdt.internal.ui.text.JavaReconciler.initialProcess(JavaReconciler.java:331)
	at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:170)
!SUBENTRY 1 org.eclipse.core.resources 4 368 2006-06-28 13:11:22.726
!MESSAGE Resource '/ ' does not exist.
Comment 1 Jerome Lanneluc CLA 2006-06-28 07:13:18 EDT
I'm not sure how bug 142530 could cause this since no .jar file is involved here.
Comment 2 Dani Megert CLA 2006-06-28 07:17:59 EDT
I see. Is indeed already broken in I20060620-1010 (works in 3.2_M20060609-1217).
Comment 3 Jerome Lanneluc CLA 2006-06-28 10:17:05 EDT
Changed SetContainerOperation#executeOperation() to catch the CoreException when touching the project and ignore it if it is an external Java project.
Added regression test ReconcilerTests#testExternal2().
Released for 3.3 M1 in HEAD.
Comment 4 Dani Megert CLA 2006-06-28 10:21:16 EDT
Why got it introduced?
Comment 5 Jerome Lanneluc CLA 2006-06-28 10:24:35 EDT
Anything having to do with classpath was completely rewritten recently.
Comment 6 Frederic Fusier CLA 2006-08-07 09:13:43 EDT
Verified for 3.3 M1 using build I20060807-0010.