Bug 243165 [ErrorHandling] [StatusHandling] Fatal error appears twice when reported from JOB
When a job reports fatal error (f.e. OutOfMemoryException) it is reported twice (and the window prompting the user to close the workbench appears). I have investigated that it is reported directly once in ProgressManager internal listener done method, and the second report is picked from log via StatusManager StatusManagerLogListener.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchErrorHandler.java
private static String MSG_SWTError = IDEWorkbenchMessages.FatalError_SWTError;
	private static String MSG_FATAL_ERROR = IDEWorkbenchMessages.FatalError;
	private static String MSG_FATAL_ERROR_Recursive = IDEWorkbenchMessages.FatalError_RecursiveError;
	private static String MSG_FATAL_ERROR_Title = IDEWorkbenchMessages.InternalError;
	/**
	 * @param configurer
	 */
	public IDEWorkbenchErrorHandler(IWorkbenchConfigurer configurer) {
		workbenchConfigurer = configurer;
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.ui.statushandlers.WorkbenchErrorHandler#handle(org.eclipse.ui.statushandlers.StatusAdapter,
	 *      int)
	 */
	public void handle(final StatusAdapter statusAdapter, int style) {
		
		if (isFatal(statusAdapter)) {
			if (statusAdapter
					.getProperty(IProgressConstants.NO_IMMEDIATE_ERROR_PROMPT_PROPERTY) == Boolean.TRUE) {
				statusAdapter.setProperty(
						IProgressConstants.NO_IMMEDIATE_ERROR_PROMPT_PROPERTY,
						Boolean.FALSE);
			}
			super.handle(statusAdapter, style | StatusManager.BLOCK);
		} else {
			super.handle(statusAdapter, style);
		}