Bug 178906 Infinite error dialogs due to error closing error dialog
Build: I20070320-0010 I installed GEF using update manager, and chose to apply changes without restarting. This caused an error in the registry, and an error dialog opened. When I clicked "ok" on the error dialog, another error occurred, and the dialog reopened. This led to an infinite recursion of error dialogs. Well, almost infinite. Eventually the process ran out of handles, at which point I got a fairly entertaining series of dialogs, as shown in the attached screen shot.
bundles/org.eclipse.jface/src/org/eclipse/jface/util/SafeRunnable.java
/*******************************************************************************
 * Copyright (c) 2000, 2006 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *     Chris Gross (schtoo@schtoo.com) - support for ISafeRunnableRunner added
 *       (bug 49497 [RCP] JFace dependency on org.eclipse.core.runtime enlarges standalone JFace applications)
 *******************************************************************************/
package org.eclipse.jface.util;
import org.eclipse.core.runtime.ISafeRunnable;
import org.eclipse.core.runtime.OperationCanceledException;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.resource.JFaceResources;
/**
 * Implements a default implementation of ISafeRunnable.
 * The default implementation of <code>handleException</code>
 * opens a message dialog.
 * <p><b>Note:<b> This class can open an error dialog and should not 
 *  be used outside of the UI Thread.</p>
 */
public abstract class SafeRunnable implements ISafeRunnable {