Bug 224341 [ErrorHandling] SafeRunnnableDialog shows only "Reason" as message.
In case of an error the SafeRunner.class will open a SafeRunnnableDialg which (often) only prints String "Reason" and no further information. The reason are a failure in the dialog and and wrong properties-file entry. At end [Line 74] of constructor SafeRunnableDialog(IStatus status) of org.eclipse.jface.util.SafeRunnableDialog.class you will see following code: this.message = JFaceResources.format(JFaceResources .getString("SafeRunnableDialog_reason"), new Object[] { //$NON-NLS-1$ status.getMessage(), reason }); 1.) JFaceResources.format(String key, Object[] args) expects as first parameter a key in a resource bundle, but is already getting the localized value to this key --> leading to MissingResourceException 2.) the properties-value of key "SafeRunnableDialog_reason" in org.eclipse.jface.message.properties = "Reason", but should be "{0} Reason: {1}"
bundles/org.eclipse.jface/src/org/eclipse/jface/util/SafeRunnableDialog.java
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
/**
 * SafeRunnableDialog is a dialog that can show the results of multiple safe
 * runnable errors.
 * 
 */
class SafeRunnableDialog extends ErrorDialog {
	private TableViewer statusListViewer;
	private Collection statuses = new ArrayList();
	/**
	 * Create a new instance of the receiver on a status.
	 * 
	 * @param status
	 *            The status to display.
	 */
	SafeRunnableDialog(IStatus status) {
		super(null, JFaceResources.getString("error"), status.getMessage(), 
				status, IStatus.ERROR);
		setShellStyle(SWT.DIALOG_TRIM | SWT.MODELESS | SWT.RESIZE | SWT.MIN | SWT.MAX
				| getDefaultOrientation());
		setStatus(status);
		statuses.add(status);
		
		setBlockOnOpen(false);
		String reason = JFaceResources
				.getString("SafeRunnableDialog_checkDetailsMessage");