Bug 25955 [Workbench] Exiting while saving can cause problems
This seems to be a problem with either the workbench in general or the editor structure in particular. I have reproduced this with the Java editor but there is no reason why it wouldn't occur with other editors as well. Dirty a Java editor. Press Ctrl+S to save the editor. While it is saving, quickly close the main perspective window, either by clicking the X or by choosing File->Save. When prompted to save dirty resources say Okay. An error dialog appears stating that the save failed, and a stack trace is printed to the log (sorry, I don't have my log anymore, but it's fairly easy to reproduce). The dialog says: "Problems occurred while trying to save the state of the workbench." Details: "Save cannot be called from inside an operation." I guess the real problem is that I'm able to exit while a workspace operation is taking place. Reproduced on both Win2K and Linux.
bundles/org.eclipse.ui.workbench/extensions/org/eclipse/jface/window/ApplicationWindow.java
ModalContext.run(runnable, fork, mgr.getProgressMonitor(), display);
				} catch (InvocationTargetException ite) {
					holder[0] = ite;
				} catch (InterruptedException ie) {
					holder[0] = ie;
				}
			}});
		if (holder[0] != null) {
			if (holder[0] instanceof InvocationTargetException) {
				throw (InvocationTargetException) holder[0];
			} else if (holder[0] instanceof InterruptedException) {
				throw (InterruptedException) holder[0];
			}
		}
	} finally {
		
		for (int i = 0; i < shells.length; i++) {
			Shell current = shells[i];
			if (current == shell) continue;
			if (current != null && !current.isDisposed()) {
				current.setEnabled(enabled[i]);
			}
		}
		if (!contents.isDisposed())
			contents.setEnabled(contentsWasEnabled);
		if (menuBar != null && !menuBar.isDisposed())
			menuBar.setEnabled(menuBarWasEnabled);
		if (toolbarControl != null && !toolbarControl.isDisposed())
			toolbarControl.setEnabled(toolbarWasEnabled);
		mgr.setCancelEnabled(cancelWasEnabled);