Ahti Kitsik
Building develper tools. Python, Java, JavaScript.

writings about @ahtik

Eclipse workspace fails to start after crash - quick fix

By Ahti Kitsik, 15 Jan 2008

Here's a quick HOWTO for resolving Eclipse startup workspace loading problems. If you have a better suggestion then please leave a comment!

There can be a lot of other issues but here is one of the quite common ones - eclipse resources cache or state gets out of sync/corrupted.

This can happen when your IDE crashes OR also without crashing. For non-crashing case it's more likely a logic/bug problem and whenever possible, try to file a bug at bugs.eclipse.org!

Sometimes, just SOMETIMES, you'll get exceptions like following when launching Eclipse IDE after crashing it:

Root exception:
java.io.UTFDataFormatException: malformed input around byte 394
at java.io.DataInputStream.readUTF(Unknown Source)
at java.io.DataInputStream.readUTF(Unknown Source)
at org.eclipse.core.internal.resources.WorkspaceTreeReader_1.
at org.eclipse.core.internal.resources.WorkspaceTreeReader_1.
at org.eclipse.core.internal.resources.SaveManager.restoreTree(SaveManager.java:916)
at org.eclipse.core.internal.resources.SaveManager.restore(SaveManager.java:647)
at org.eclipse.core.internal.resources.SaveManager.startup(SaveManager.java:1319)
at org.eclipse.core.internal.resources.Workspace.startup(Workspace.java:1949)
at org.eclipse.core.internal.resources.Workspace.open(Workspace.java:1713)
at org.eclipse.core.resources.ResourcesPlugin.start(ResourcesPlugin.java:363)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$2.
at java.security.AccessController.doPrivileged(Native Method)

The key here is row "org.eclipse.core.internal.resources.SaveManager.restore(SaveManager.java:647)".

This stakctrace means your root .tree file is damaged and thereby unable to restore your opened projects.

The quickest way to fix this or any other resource-related exception is to:

  1. Shut down Eclipse IDE
  2. Remove and backup your workspace/.metadata/.plugins/org.eclipse.core.resources directory
  3. Start Eclipse IDE (with -clean to be super-safe)
  4. Reimport all projects (UPDATE: Just use File->Import->Existing Project into Workspace and browse your workspace/project directory)
  5. Enjoy

Maybe deleting workspace/.metadata/.plugins/org.eclipse.core.resources/.root/*tree would have been good enough for my case but it's definitely not a workaround for other possible workspace resource state and cache related exceptions.

I'm not sure if this information without any reproducible steps is useful for bugs.eclipse.org. Not filing it this time. Or should I?

UPDATE: If this does not work then Shaneem from comments got it fixed this way:

All these didn't work for me. I finally checked ./metadata/.log file and found a message like "I don't like this report action you copied from another proxy service". So opened the proxy service in text editor and removed it. Bingo! All errors vanished!

@ahtik is on twitter!