Eclipse workspace fails to start after crash – quick fix

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:
org.eclipse.core.internal.resources.ResourceException(null)[567]:
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.
readPluginsSavedStates(WorkspaceTreeReader_1.java:111)
at org.eclipse.core.internal.resources.WorkspaceTreeReader_1.
readTree(WorkspaceTreeReader_1.java:159)
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.
run(BundleContextImpl.java:999)
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?

  • DJ Houghton

    Unfortunately with most of these types of startup problems, the real problems happen when the workspace is shutting down so the above stack trace isn’t much help. But if you feel you might have some info that can help us track down a problem, please enter a report.

    At one point we started working on a tool which would try and restore broken workspaces. I am not sure of its state, but it is available on the Core team downloads page and the source is in CVS:

    http://www.eclipse.org/eclipse/platform-core/downloads.php

    For the beginners – If you do follow the steps above, when it says to re-import all your projects, that doesn’t mean you have to re-load them all from CVS. You should be able to do “File -> Import -> General -> Existing Projects into Workspace” and then choose your workspace directory.

  • http://ahtik.com Ahti

    Excellent hint, thanks! I’ll take a look at Core Tools.

    Also thanks for the “beginner” hint – true, one could think that “re-import” means new checkout from cvs/svn.

    Simple import existing project projects into Workspace is enough.

    Btw, if your Existing Project import wizard is unable to find your projects (finds just one, for example) then this can be caused by some nested project directory structure.

    Just make sure that you don’t have nested .project files (one at the parent directory for example).

    Workaround to get all your projects imported is to point to the exact subdirectory that contains just your .project. Or temporarily remove .project from the parent directory :)

    For 99% of cases Import existing project wizard works perfectly.

  • http://ahtik.com Ahti

    btw, unfortunately looks like Core Tools is not upgraded to 3.3x. Latest download is for 3.2 release. We’ll see if it still works with 3.4Mx

  • Daniel Bany

    Excellent hint, worked perfectly for me, single import brought everything back perfectly. thanks a lot

  • http://ahtik.com Ahti

    Thanks, glad it helped! :)

  • Jörg Spilker

    Well, eclipse starts again after i removed the org.eclupse.core.resources directory. But importing the projects from the workspace results in a crash again :-(

  • http://ahtik.com Ahti

    All I can say is that try to import one by one and find out the affected project :)

    Or simply remove all the .settings directories from your projects. That can help too.

  • Walter

    My problem was that I tried to open in eclipse a file that is too large and it died. After that point, I was not able to open eclipse. I searched for the file name in the contents of the files in .metadata directory. I found it in the .metadata\.plugins\org.eclipse.ui.workbench\workbench.xml file. I made a zip copy of the .metadata directory as a backup and then edited the workbench.xml file in a text editor. I searched for all entries of the filename and removed the xml tag entries that had that filename.
    I had to delete
    an editor entry in the editors, an item entry in the navigationHistory, and a file entry in mruList.

    Once I saved the file, I was then able to open eclipse with no problems. It would be nice if eclipse would recognize the file is too large to open and not open it, or would only load a certain number of bytes of the file into memory and when I paged up or down would unload the current block of file data from memory and load the new block. It owuld also be nice if it allowed you to not load a file that is causing problems when you start up and simply tell you the file had difficulty loading. The warning message it gives makes on believe that the system would be in an unstable condition and one should not continue to load eclipse.

  • elguma

    Thanks for the tip.

    I’m one of the hardcore users who like sharing workspace instead of just source code through svn. I use sshfs for this, and sometimes forget to close eclipse when suspending the laptop – this time the results was this error :/, but fortunately I was able to run using this tip. Thanks!

  • http://ahtik.com Ahti

    elguma, glad to help :)

    these recaptcha words get worse and worse, surprising that some people still manage to comment here :)

  • Stokes

    It’s 2009, and this article is still helping. Mine failed on a brand new Eclipse install, so I reinstalled it before googling. Ran into the same problem (because the problem was in my workspace, of course) before finding this page.

    Thanks!

  • hawaiiantime

    gosh, you saved me!!!
    thanks a lot!! :)

  • André

    Thanks, saved my day!

    Version: 3.4.2
    Build id: M20090211-1700
    With subclipse and PDT installed..

  • James Calfee

    I have too many projects to be happy with this solution. This is not the first time either. This time it was intermittent when opening projects for a while and finally became start-up fatal.

    I’m using Eclipse 3.2 on ext3. Since this the following did not help, I believe I have ruled out a memory allocation problem in the VM:

    eclipse -vmargs -Xms128m -Xmx1G -XX:PermSize=64M -XX:MaxPermSize=128M

    Eclipse need to manage the workspace in more of a transactional way so this can’t happen. Is there a re-build tool?

  • ned

    I have installed rational application developer 7.5 on Redhat Enterprise linux 5.2 and I have been having problems opening the workbench window.. Here is the error log which has been created in the .log file for the workspace..

    !SESSION 2009-08-29 14:08:04.453 ———————————————–
    eclipse.buildId=unknown
    java.fullversion=J2RE 1.6.0 IBM J9 2.4 Linux x86-32 jvmxi3260-20080816_22093 (JIT enabled, AOT enabled)
    J9VM – 20080816_022093_lHdSMr
    JIT – r9_20080721_1330ifx2
    GC – 20080724_AA
    BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_US
    Framework arguments: -product com.ibm.rational.rad.product.v75.ide
    Command-line arguments: -os linux -ws gtk -arch x86 -product com.ibm.rational.rad.product.v75.ide

    !ENTRY org.eclipse.ui.workbench 4 0 2009-08-29 14:08:18.717
    !MESSAGE Widget disposed too early!
    !STACK 0
    java.lang.RuntimeException: Widget disposed too early!
    at org.eclipse.ui.internal.WorkbenchPartReference$1.widgetDisposed(Unknown Source)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
    at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.release(Unknown Source)
    at org.eclipse.swt.widgets.Control.release(Unknown Source)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Unknown Source)
    at org.eclipse.swt.widgets.Widget.release(Unknown Source)
    at org.eclipse.swt.widgets.Control.release(Unknown Source)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Unknown Source)
    at org.eclipse.swt.widgets.Widget.release(Unknown Source)
    at org.eclipse.swt.widgets.Control.release(Unknown Source)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Unknown Source)
    at org.eclipse.swt.widgets.Canvas.releaseChildren(Unknown Source)
    at org.eclipse.swt.widgets.Decorations.releaseChildren(Unknown Source)
    at org.eclipse.swt.widgets.Shell.releaseChildren(Unknown Source)
    at org.eclipse.swt.widgets.Widget.release(Unknown Source)
    at org.eclipse.swt.widgets.Control.release(Unknown Source)
    at org.eclipse.swt.widgets.Widget.dispose(Unknown Source)
    at org.eclipse.swt.widgets.Shell.dispose(Unknown Source)
    at org.eclipse.swt.widgets.Display.release(Unknown Source)
    at org.eclipse.swt.graphics.Device.dispose(Unknown Source)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(Unknown Source)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(Unknown Source)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Unknown Source)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Unknown Source)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Unknown Source)
    at org.eclipse.equinox.launcher.Main.basicRun(Unknown Source)
    at org.eclipse.equinox.launcher.Main.run(Unknown Source)
    at org.eclipse.equinox.launcher.Main.main(Unknown Source)

    !ENTRY org.eclipse.ui.workbench 4 0 2009-08-29 14:08:18.721
    !MESSAGE Widget disposed too early!
    !STACK 0
    java.lang.RuntimeException: Widget disposed too early!
    at org.eclipse.ui.internal.WorkbenchPartReference$1.widgetDisposed(Unknown Source)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
    at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.release(Unknown Source)
    at org.eclipse.swt.widgets.Control.release(Unknown Source)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Unknown Source)
    at org.eclipse.swt.widgets.Widget.release(Unknown Source)
    at org.eclipse.swt.widgets.Control.release(Unknown Source)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Unknown Source)
    at org.eclipse.swt.widgets.Widget.release(Unknown Source)
    at org.eclipse.swt.widgets.Control.release(Unknown Source)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Unknown Source)
    at org.eclipse.swt.widgets.Canvas.releaseChildren(Unknown Source)
    at org.eclipse.swt.widgets.Decorations.releaseChildren(Unknown Source)
    at org.eclipse.swt.widgets.Shell.releaseChildren(Unknown Source)
    at org.eclipse.swt.widgets.Widget.release(Unknown Source)
    at org.eclipse.swt.widgets.Control.release(Unknown Source)
    at org.eclipse.swt.widgets.Widget.dispose(Unknown Source)
    at org.eclipse.swt.widgets.Shell.dispose(Unknown Source)
    at org.eclipse.swt.widgets.Display.release(Unknown Source)
    at org.eclipse.swt.graphics.Device.dispose(Unknown Source)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(Unknown Source)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(Unknown Source)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Unknown Source)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Unknown Source)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Unknown Source)
    at org.eclipse.equinox.launcher.Main.basicRun(Unknown Source)
    at org.eclipse.equinox.launcher.Main.run(Unknown Source)
    at org.eclipse.equinox.launcher.Main.main(Unknown Source)

    !ENTRY org.eclipse.ui.workbench 4 0 2009-08-29 14:08:18.723
    !MESSAGE Widget disposed too early!
    !STACK 0
    java.lang.RuntimeException: Widget disposed too early!
    at org.eclipse.ui.internal.WorkbenchPartReference$1.widgetDisposed(Unknown Source)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
    at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.release(Unknown Source)
    at org.eclipse.swt.widgets.Control.release(Unknown Source)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Unknown Source)
    at org.eclipse.swt.widgets.Widget.release(Unknown Source)
    at org.eclipse.swt.widgets.Control.release(Unknown Source)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Unknown Source)
    at org.eclipse.swt.widgets.Widget.release(Unknown Source)
    at org.eclipse.swt.widgets.Control.release(Unknown Source)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Unknown Source)
    at org.eclipse.swt.widgets.Canvas.releaseChildren(Unknown Source)
    at org.eclipse.swt.widgets.Decorations.releaseChildren(Unknown Source)
    at org.eclipse.swt.widgets.Shell.releaseChildren(Unknown Source)
    at org.eclipse.swt.widgets.Widget.release(Unknown Source)
    at org.eclipse.swt.widgets.Control.release(Unknown Source)
    at org.eclipse.swt.widgets.Widget.dispose(Unknown Source)
    at org.eclipse.swt.widgets.Shell.dispose(Unknown Source)
    at org.eclipse.swt.widgets.Display.release(Unknown Source)
    at org.eclipse.swt.graphics.Device.dispose(Unknown Source)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(Unknown Source)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(Unknown Source)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Unknown Source)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Unknown Source)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Unknown Source)
    at org.eclipse.equinox.launcher.Main.basicRun(Unknown Source)
    at org.eclipse.equinox.launcher.Main.run(Unknown Source)
    at org.eclipse.equinox.launcher.Main.main(Unknown Source)

    !ENTRY org.eclipse.ui.workbench 4 0 2009-08-29 14:08:18.725
    !MESSAGE Widget disposed too early!
    !STACK 0
    java.lang.RuntimeException: Widget disposed too early!
    at org.eclipse.ui.internal.WorkbenchPartReference$1.widgetDisposed(Unknown Source)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
    at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.release(Unknown Source)
    at org.eclipse.swt.widgets.Control.release(Unknown Source)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Unknown Source)
    at org.eclipse.swt.widgets.Widget.release(Unknown Source)
    at org.eclipse.swt.widgets.Control.release(Unknown Source)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Unknown Source)
    at org.eclipse.swt.widgets.Widget.release(Unknown Source)
    at org.eclipse.swt.widgets.Control.release(Unknown Source)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Unknown Source)
    at org.eclipse.swt.widgets.Canvas.releaseChildren(Unknown Source)
    at org.eclipse.swt.widgets.Decorations.releaseChildren(Unknown Source)
    at org.eclipse.swt.widgets.Shell.releaseChildren(Unknown Source)
    at org.eclipse.swt.widgets.Widget.release(Unknown Source)
    at org.eclipse.swt.widgets.Control.release(Unknown Source)
    at org.eclipse.swt.widgets.Widget.dispose(Unknown Source)
    at org.eclipse.swt.widgets.Shell.dispose(Unknown Source)
    at org.eclipse.swt.widgets.Display.release(Unknown Source)
    at org.eclipse.swt.graphics.Device.dispose(Unknown Source)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(Unknown Source)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(Unknown Source)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Unknown Source)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Unknown Source)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Unknown Source)
    at org.eclipse.equinox.launcher.Main.basicRun(Unknown Source)
    at org.eclipse.equinox.launcher.Main.run(Unknown Source)
    at org.eclipse.equinox.launcher.Main.main(Unknown Source)

    !ENTRY org.eclipse.osgi 4 0 2009-08-29 14:08:18.771
    !MESSAGE Application error
    !STACK 1
    org.eclipse.swt.SWTError: XPCOM error -2147467262
    at org.eclipse.swt.browser.Mozilla.error(Unknown Source)
    at org.eclipse.swt.browser.Mozilla.setText(Unknown Source)
    at org.eclipse.swt.browser.Browser.setText(Unknown Source)
    at org.eclipse.ui.internal.intro.impl.presentations.BrowserIntroPartImplementation.generateContentForPage(Unknown Source)
    at org.eclipse.ui.internal.intro.impl.presentations.BrowserIntroPartImplementation.dynamicStandbyStateChanged(Unknown Source)
    at org.eclipse.ui.internal.intro.impl.presentations.BrowserIntroPartImplementation.doStandbyStateChanged(Unknown Source)
    at org.eclipse.ui.internal.intro.impl.model.AbstractIntroPartImplementation.standbyStateChanged(Unknown Source)
    at org.eclipse.ui.internal.intro.impl.model.IntroPartPresentation.standbyStateChanged(Unknown Source)
    at org.eclipse.ui.intro.config.CustomizableIntroPart.standbyStateChanged(Unknown Source)
    at org.eclipse.ui.internal.ViewIntroAdapterPart$2.run(Unknown Source)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(Unknown Source)
    at org.eclipse.ui.internal.ViewIntroAdapterPart.setStandby(Unknown Source)
    at org.eclipse.ui.internal.ViewIntroAdapterPart$1.propertyChanged(Unknown Source)
    at org.eclipse.ui.internal.WorkbenchPartReference.fireInternalPropertyChange(Unknown Source)
    at org.eclipse.ui.internal.WorkbenchPartReference.fireZoomChange(Unknown Source)
    at org.eclipse.ui.internal.PartPane.setZoomed(Unknown Source)
    at org.eclipse.ui.internal.PartStack.setZoomed(Unknown Source)
    at org.eclipse.ui.internal.PartSashContainer.zoomIn(Unknown Source)
    at org.eclipse.ui.internal.PartSashContainer.childRequestZoomIn(Unknown Source)
    at org.eclipse.ui.internal.LayoutPart.requestZoomIn(Unknown Source)
    at org.eclipse.ui.internal.PartStack.setState(Unknown Source)
    at org.eclipse.ui.internal.WorkbenchPage.setState(Unknown Source)
    at org.eclipse.ui.internal.WorkbenchPage.toggleZoom(Unknown Source)
    at org.eclipse.ui.internal.WorkbenchIntroManager.setIntroStandby(Unknown Source)
    at org.eclipse.ui.internal.WorkbenchIntroManager.showIntro(Unknown Source)
    at org.eclipse.ui.application.WorkbenchWindowAdvisor.openIntro(Unknown Source)
    at org.eclipse.ui.internal.ide.application.IDEWorkbenchWindowAdvisor.openIntro(Unknown Source)
    at org.eclipse.ui.internal.WorkbenchWindow.open(Unknown Source)
    at org.eclipse.ui.internal.Workbench$22.runWithException(Unknown Source)
    at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(Unknown Source)
    at org.eclipse.swt.widgets.RunnableLock.run(Unknown Source)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Unknown Source)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Unknown Source)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
    at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(Unknown Source)
    at org.eclipse.ui.internal.Workbench$27.runWithException(Unknown Source)
    at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(Unknown Source)
    at org.eclipse.swt.widgets.RunnableLock.run(Unknown Source)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Unknown Source)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Unknown Source)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
    at org.eclipse.ui.internal.Workbench.runUI(Unknown Source)
    at org.eclipse.ui.internal.Workbench.access$4(Unknown Source)
    at org.eclipse.ui.internal.Workbench$5.run(Unknown Source)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Unknown Source)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Unknown Source)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(Unknown Source)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(Unknown Source)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(Unknown Source)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Unknown Source)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Unknown Source)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Unknown Source)
    at org.eclipse.equinox.launcher.Main.basicRun(Unknown Source)
    at org.eclipse.equinox.launcher.Main.run(Unknown Source)
    at org.eclipse.equinox.launcher.Main.main(Unknown Source)

    !ENTRY com.ibm.team.filesystem.ide.ui 4 0 2009-08-29 14:08:20.616
    !MESSAGE
    !STACK 0
    org.osgi.framework.BundleException: Exception in com.ibm.team.filesystem.ui.UiPlugin.stop() of bundle com.ibm.team.filesystem.ide.ui.
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.stop(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.BundleHost.stopWorker(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.suspend(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.Framework.suspendBundle(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.decFWSL(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.shutdown(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.SystemBundle.suspend(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.Framework.close(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.OSGi.close(Unknown Source)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.shutdown(Unknown Source)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Unknown Source)
    at org.eclipse.equinox.launcher.Main.basicRun(Unknown Source)
    at org.eclipse.equinox.launcher.Main.run(Unknown Source)
    at org.eclipse.equinox.launcher.Main.main(Unknown Source)
    Caused by: org.eclipse.swt.SWTException: Widget is disposed
    at org.eclipse.swt.SWT.error(Unknown Source)
    at org.eclipse.swt.SWT.error(Unknown Source)
    at org.eclipse.swt.SWT.error(Unknown Source)
    at org.eclipse.swt.widgets.Widget.error(Unknown Source)
    at org.eclipse.swt.widgets.Widget.getDisplay(Unknown Source)
    at com.ibm.team.filesystem.ui.autocommit.AutoCommitParticipant.getDisplay(Unknown Source)
    at com.ibm.team.filesystem.ui.autocommit.AutoCommitParticipant.removeKeystrokeListener(Unknown Source)
    at com.ibm.team.filesystem.ui.autocommit.AutoCommitParticipant.uninstall(Unknown Source)
    at com.ibm.team.filesystem.rcp.core.internal.changes.util.AutoCommitManager.setParticipant(Unknown Source)
    at com.ibm.team.filesystem.ui.UiPlugin.stop(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Unknown Source)
    … 21 more
    Root exception:
    org.eclipse.swt.SWTException: Widget is disposed
    at org.eclipse.swt.SWT.error(Unknown Source)
    at org.eclipse.swt.SWT.error(Unknown Source)
    at org.eclipse.swt.SWT.error(Unknown Source)
    at org.eclipse.swt.widgets.Widget.error(Unknown Source)
    at org.eclipse.swt.widgets.Widget.getDisplay(Unknown Source)
    at com.ibm.team.filesystem.ui.autocommit.AutoCommitParticipant.getDisplay(Unknown Source)
    at com.ibm.team.filesystem.ui.autocommit.AutoCommitParticipant.removeKeystrokeListener(Unknown Source)
    at com.ibm.team.filesystem.ui.autocommit.AutoCommitParticipant.uninstall(Unknown Source)
    at com.ibm.team.filesystem.rcp.core.internal.changes.util.AutoCommitManager.setParticipant(Unknown Source)
    at com.ibm.team.filesystem.ui.UiPlugin.stop(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.stop(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.BundleHost.stopWorker(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.suspend(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.Framework.suspendBundle(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.decFWSL(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.shutdown(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.SystemBundle.suspend(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.Framework.close(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.OSGi.close(Unknown Source)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.shutdown(Unknown Source)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Unknown Source)
    at org.eclipse.equinox.launcher.Main.basicRun(Unknown Source)
    at org.eclipse.equinox.launcher.Main.run(Unknown Source)
    at org.eclipse.equinox.launcher.Main.main(Unknown Source)

    !ENTRY com.ibm.team.workitem.rcp.ui 4 0 2009-08-29 14:08:20.618
    !MESSAGE
    !STACK 0
    org.osgi.framework.BundleException: Exception in com.ibm.team.workitem.rcp.ui.internal.WorkItemRCPUIPlugin.stop() of bundle com.ibm.team.workitem.rcp.ui.
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.stop(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.BundleHost.stopWorker(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.suspend(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.Framework.suspendBundle(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.decFWSL(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.shutdown(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.SystemBundle.suspend(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.Framework.close(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.OSGi.close(Unknown Source)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.shutdown(Unknown Source)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Unknown Source)
    at org.eclipse.equinox.launcher.Main.basicRun(Unknown Source)
    at org.eclipse.equinox.launcher.Main.run(Unknown Source)
    at org.eclipse.equinox.launcher.Main.main(Unknown Source)
    Caused by: java.lang.NullPointerException
    at com.ibm.team.workitem.rcp.ui.internal.feed.FeedsMigration.storePrefs(Unknown Source)
    at com.ibm.team.workitem.rcp.ui.internal.feed.FeedsMigration.stop(Unknown Source)
    at com.ibm.team.workitem.rcp.ui.internal.WorkItemRCPUIPlugin.stop(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Unknown Source)
    … 21 more
    Root exception:
    java.lang.NullPointerException
    at com.ibm.team.workitem.rcp.ui.internal.feed.FeedsMigration.storePrefs(Unknown Source)
    at com.ibm.team.workitem.rcp.ui.internal.feed.FeedsMigration.stop(Unknown Source)
    at com.ibm.team.workitem.rcp.ui.internal.WorkItemRCPUIPlugin.stop(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.stop(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.BundleHost.stopWorker(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.suspend(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.Framework.suspendBundle(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.decFWSL(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.shutdown(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.SystemBundle.suspend(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.Framework.close(Unknown Source)
    at org.eclipse.osgi.framework.internal.core.OSGi.close(Unknown Source)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.shutdown(Unknown Source)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Unknown Source)
    at org.eclipse.equinox.launcher.Main.basicRun(Unknown Source)
    at org.eclipse.equinox.launcher.Main.run(Unknown Source)
    at org.eclipse.equinox.launcher.Main.main(Unknown Source)

  • UweL

    Thanks a lot, it worked. Saved me a great deal of time!

  • Jon

    Saved my bacon, thanks. (Eclipse 3.5.1 64-bit Linux)

  • Lachlan Cotter

    Many thanks for this excellent post. What a lifesaver.

  • constant

    Thanks a lot~

  • Vikas

    Thanks a lot…it worked,

  • Colingaj

    I backed up my .root and .safetable directories then started Eclipse successfully. All my projects were gone. Next, I shut down Eclipse and removed the newly created .root and .safetable directories, replacing them with the old backed up versions. Eclipse started fine and all my projects showed up.

  • Ridhopahwanaerwandhani

    Thanks a lot …. your article help me

  • Vikasvijp

    Thanks alot. It helped!

  • http://twitter.com/r15habh rishabh

    Thanks. It helped !!

  • http://www.facebook.com/people/Manuela-Marginean/100001312931166 Manuela Marginean

    Thank you, you saved my day. I have worked with eclipse and RAD for more than 4 years by now, but never had this problem before.

  • Michael Zumstein

    yes, worked like a charm! saved my day. thx

  • Kamilo

    Thanks

  • Anonymous

    Thanks, that helped even with error not-so-similar to it:

  • sushl

    Thanks

  • Darryl Ducasse

    You are kidding right?  That’s not an IDE, that is a JOKE. Eclipse sucks ass!

  • tanja

    thank you!
    you’ve just helped to recover my RAD7 from a huge crash during remote debugging on a unstable buggy server :)

  • Jim Grill

    I go through this on a regular basis.  I wish I had better options for java and python development.

  • Phpgeek Programmer

    thanks, fixing my problem while cannot opening eclipse workspace.

  • Bugme

    woot, works :) thanks

  • Yonisib

    huge thank! saved me the day.