Community
Participate
Working Groups
3.1 RC3, Solaris 8, Motif, CDE I have all the Platform/UI code and its dependencies checked out. Then, to isolate one particular change, I close all projects except one, "org.eclipse.ui.tests". This leads to the following errors: !SESSION 2005-06-20 13:08:00.684 ----------------------------------------------- eclipse.buildId=I20050617-1618 java.version=1.4.2 java.vendor=Sun Microsystems Inc. BootLoader constants: OS=solaris, ARCH=sparc, WS=motif, NL=en_US Command-line arguments: -os solaris -ws motif -arch sparc -data workspace !ENTRY org.eclipse.core.resources 1 1 2005-06-20 13:08:09.367 !MESSAGE Could not load library: libcore_3_1_0.so. This library provides platform-specific optimizations for certain file system operations. This library is not present on all platforms, so this may not be an error. The resources plug-in will safely fall back to using java.io.File functionality. !ENTRY org.eclipse.jdt.ui 4 0 2005-06-20 13:47:37.866 !MESSAGE Error in JDT Core during reconcile !STACK 1 Java Model Exception: Java Model Status [org.eclipse.ui.workbench does not exist] at org.eclipse.jdt.internal.core.JavaElement.newNotPresentException(JavaElement.java:468) at org.eclipse.jdt.internal.core.JavaProject.buildStructure(JavaProject.java:328) at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:233) at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:488) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:232) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:218) at org.eclipse.jdt.internal.core.JavaProject.getJavaProjectElementInfo(JavaProject.java:1513) at org.eclipse.jdt.internal.core.JavaProject.newNameLookup(JavaProject.java:2419) at org.eclipse.jdt.internal.core.SearchableEnvironment.<init>(SearchableEnvironment.java:60) at org.eclipse.jdt.internal.core.SearchableEnvironment.<init>(SearchableEnvironment.java:74) at org.eclipse.jdt.internal.core.CancelableNameEnvironment.<init>(CancelableNameEnvironment.java:26) at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:148) at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:214) at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:79) at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:718) at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:777) at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1081) at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:98) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1044) at org.eclipse.core.runtime.Platform.run(Platform.java:783) at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:82) at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:147) at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86) at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:94) at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:75) at org.eclipse.jdt.internal.ui.text.JavaReconciler.process(JavaReconciler.java:339) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:204) !SUBENTRY 1 org.eclipse.jdt.core 4 969 2005-06-20 13:47:37.870 !MESSAGE org.eclipse.ui.workbench does not exist !ENTRY org.eclipse.jdt.ui 4 0 2005-06-20 13:47:37.877 !MESSAGE Error in JDT Core during reconcile !STACK 1 Java Model Exception: Java Model Status [org.eclipse.ui.workbench does not exist] at org.eclipse.jdt.internal.core.JavaElement.newNotPresentException(JavaElement.java:468) at org.eclipse.jdt.internal.core.JavaProject.buildStructure(JavaProject.java:328) at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:233) at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:488) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:232) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:218) at org.eclipse.jdt.internal.core.JavaProject.getJavaProjectElementInfo(JavaProject.java:1513) at org.eclipse.jdt.internal.core.JavaProject.newNameLookup(JavaProject.java:2419) at org.eclipse.jdt.internal.core.SearchableEnvironment.<init>(SearchableEnvironment.java:60) at org.eclipse.jdt.internal.core.SearchableEnvironment.<init>(SearchableEnvironment.java:74) at org.eclipse.jdt.internal.core.CancelableNameEnvironment.<init>(CancelableNameEnvironment.java:26) at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:148) at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:214) at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:79) at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:718) at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:777) at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1081) at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:104) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1044) at org.eclipse.core.runtime.Platform.run(Platform.java:783) at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:82) at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:147) at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.reconcile(CompositeReconcilingStrategy.java:86) at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:94) at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:75) at org.eclipse.jdt.internal.ui.text.JavaReconciler.process(JavaReconciler.java:339) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:204) !SUBENTRY 1 org.eclipse.jdt.core 4 969 2005-06-20 13:47:37.879 !MESSAGE org.eclipse.ui.workbench does not exist
A reconcile operation that needs a project being closed is running. We never (even in 2.0) handled this case. We would either need a way to force the project close to wait for the reconcile operation to finish before proceeding, or we would need to not log the error. Note that we only log the JavaModelException, the user would notice only if s/he looked at the .log file.
You also get this case when you delete your projects from the workbench. STEPS 1) Load org.eclipse.platform.doc.isv and org.eclipse.platform.doc.user 2) Delete them (delete contents too) !ENTRY org.eclipse.jdt.ui 4 10001 2005-06-21 08:09:42.500 !MESSAGE Internal Error !STACK 1 Java Model Exception: Java Model Status [org.eclipse.platform.doc.isv does not exist] at org.eclipse.jdt.internal.core.JavaElement.newNotPresentException(JavaElement.java:468) at org.eclipse.jdt.internal.core.JavaProject.buildStructure(JavaProject.java:328) at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:233) at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:488) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:232) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:218) at org.eclipse.jdt.internal.core.JavaElement.getChildren(JavaElement.java:173) at org.eclipse.jdt.internal.core.JavaProject.getPackageFragmentRoots(JavaProject.java:1706) at org.eclipse.jdt.internal.corext.refactoring.RefactoringAvailabilityTester.isInferTypeArgumentsAvailable(RefactoringAvailabilityTester.java:386) at org.eclipse.jdt.internal.corext.refactoring.RefactoringAvailabilityTester.isInferTypeArgumentsAvailable(RefactoringAvailabilityTester.java:413) at org.eclipse.jdt.ui.actions.InferTypeArgumentsAction.selectionChanged(InferTypeArgumentsAction.java:97) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchSelectionChanged(SelectionDispatchAction.java:210) at org.eclipse.jdt.ui.actions.SelectionDispatchAction.selectionChanged(SelectionDispatchAction.java:205) at org.eclipse.jface.viewers.Viewer$2.run(Viewer.java:162) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1044) at org.eclipse.core.runtime.Platform.run(Platform.java:783) at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44) at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:148) at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:160) at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:1784) at org.eclipse.jface.viewers.StructuredViewer.handleInvalidSelection(StructuredViewer.java:991) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$PackageExplorerProblemTreeViewer.handleInvalidSelection(PackageExplorerPart.java:406) at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1213) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$PackageExplorerProblemTreeViewer.preservingSelection(PackageExplorerPart.java:624) at org.eclipse.jface.viewers.AbstractTreeViewer.remove(AbstractTreeViewer.java:1420) at org.eclipse.jface.viewers.AbstractTreeViewer.remove(AbstractTreeViewer.java:1442) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider$5.run(PackageExplorerContentProvider.java:640) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider$7.run(PackageExplorerContentProvider.java:659) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:118) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3047) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2706) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1699) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1663) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163) 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.invokeFramework(Main.java:334) at org.eclipse.core.launcher.Main.basicRun(Main.java:278) at org.eclipse.core.launcher.Main.run(Main.java:973) at org.eclipse.core.launcher.Main.main(Main.java:948) !SUBENTRY 1 org.eclipse.jdt.core 4 969 2005-06-21 08:09:42.515 !MESSAGE org.eclipse.platform.doc.isv does not exist
Duplicate of Bug 98769?
No, it is not a dup of bug 98769 (which is about refactoring attempting to use a Java project that has been closed).
Changed ReconcileWorkingCopyOperation#makeConsistent(...) to catch the JavaModelException and ignore it if the project has lost it Java nature, is closed, or is removed.
Verified for 3.2M6 using build I20060327-0010.