Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 192453 - eclipse fails to recover from workspace crash
Summary: eclipse fails to recover from workspace crash
Status: RESOLVED DUPLICATE of bug 151075
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Resources (show other bugs)
Version: 3.2.2   Edit
Hardware: Macintosh Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Platform-Resources-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-06-13 10:38 EDT by Godmar Back CLA
Modified: 2007-06-21 14:58 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 Godmar Back CLA 2007-06-13 10:38:05 EDT
Build ID: M20070212-1330 (Fedora Core release 6 (Zod))

Steps To Reproduce:
On startup, eclipse shows:

"An error has occurred. See the log file /home/.....metadata/.log"

More information:
The log file contains messages such as:
!ENTRY org.eclipse.core.resources 2 10035 2007-06-13 10:33:44.734
!MESSAGE A workspace crash was detected. The previous session did not exit normally.
    
!ENTRY org.eclipse.osgi 4 0 2007-06-13 10:33:44.836
!MESSAGE An error occurred while automatically activating bundle org.eclipse.core.resources (33).
!STACK 0
org.osgi.framework.BundleException: Exception in org.eclipse.core.internal.compatibility.PluginActivator.start() of bundle org.eclipse.core.resources.   
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:1010)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:966)
    at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:317)


...
Caused by: org.eclipse.core.internal.dtree.ObjectNotFoundException: Tree element /vizjpda/src/vizjpda/StreamRedirectThread.java not found.
    at org.eclipse.core.internal.dtree.AbstractDataTree.handleNotFound(AbstractDataTree.java:257)
    at org.eclipse.core.internal.dtree.DeltaDataTree.getData(DeltaDataTree.java:585)
    at org.eclipse.core.internal.dtree.DataDeltaNode.asBackwardDelta(DataDeltaNode.java:50)
    at org.eclipse.core.internal.dtree.NoDataDeltaNode.asBackwardDelta(NoDataDeltaNode.java:59)
    at org.eclipse.core.internal.dtree.NoDataDeltaNode.asBackwardDelta(NoDataDeltaNode.java:59)
 

...

Root exception:
org.eclipse.core.internal.dtree.ObjectNotFoundException: Tree element /vizjpda/src/vizjpda/StreamRedirectThread.java not found.
    at org.eclipse.core.internal.dtree.AbstractDataTree.handleNotFound(AbstractDataTree.java:257)
    at org.eclipse.core.internal.dtree.DeltaDataTree.getData(DeltaDataTree.java:585)
    at org.eclipse.core.internal.dtree.DataDeltaNode.asBackwardDelta(DataDeltaNode.java:50)
    at org.eclipse.core.internal.dtree.NoDataDeltaNode.asBackwardDelta(NoDataDeltaNode.java:59)


...

!ENTRY org.eclipse.osgi 4 0 2007-06-13 10:33:44.844
!MESSAGE Application error
!STACK 1
java.lang.NoClassDefFoundError: org/eclipse/core/resources/IContainer
    at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:96)
    at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
    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:597)
    at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
    at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
    at org.eclipse.core.launcher.Main.run(Main.java:977)
    at org.eclipse.core.launcher.Main.main(Main.java:952)


Since I do not know what I did to trigger this bug, I don't think there's much you can do ---- except, please, include instructions in your log as to how to put eclipse back into a clean state. Which of the many files it creates in .metadata do I have to delete, without wiping out my projects.

These instructions should appear in the log. Example:

"If eclipse fails to start, delete the files so and so."
Comment 1 Godmar Back CLA 2007-06-13 10:43:07 EDT
ps: before you point out the obvious, the file about which it complains does of course exist:

# ls -l eclipse-workspace/vizjpda/src/vizjpda/StreamRedirectThread.java 
-rw-r--r-- 1 gback gback 3189 Jun 11 11:20 eclipse-workspace/vizjpda/src/vizjpda/StreamRedirectThread.java

It's Eclipse's metadata that's wrong. Now why eclipse keeps metadata is beyond me - it seems a bad idea in the first place. Instead, it should infer the state of a project from the filesystem.  (This would also eliminate the extremely silly "refresh project" operation - which, incidentally, is one of the most frequent actions I take in eclipse.  I shouldn't have to.)
Comment 2 Godmar Back CLA 2007-06-13 10:59:35 EDT
I did a grep -r for this file that was supposedly missing, and deleted two files where I found reference to it. (You think that's a dumb idea? No - writing an IDE that can't recover from inconsistent or missing metadata is a bad idea.)

./.plugins/org.eclipse.core.resources/.root/34.tree
./.plugins/org.eclipse.core.resources/.snap

As a result, all projects are lost. Attempts to reimport them from CVS are met by: 

"The resource 'xxx' already exists in the workspace and will be deleted. Proceed with the checkout of 'xxx'?"

I'm sorry if I appear frustrated - I am, and please do not take this as personal criticism. Eclipse has been a great source of aggravation for me. Most of the time savings that come through its features such a code completion are lost because instead of debugging my code, I end up either having to debug eclipse, or to perform the equivalent of reboot/reinstall, which is to manually check my outstanding changes into CVS, wipe my workspace directory, remove every single .dot file eclipse left, and start from scratch until I had another snatch with eclipse. (Which I've done several times now due to errors like this one.)
Comment 3 DJ Houghton CLA 2007-06-21 14:48:29 EDT
Similar to bug 151075.
Comment 4 John Arthorne CLA 2007-06-21 14:58:21 EDT

*** This bug has been marked as a duplicate of bug 151075 ***