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
};
	}
	/*
	 * Return whether there are multiple errors to be displayed
	 */
	private boolean isMultipleStatusDialog() {
		return statuses.size() > 1;
	}
	/**
	 * Return a viewer sorter for looking at the jobs.
	 * 
	 * @return ViewerSorter
	 */
	private ViewerComparator getViewerComparator() {
		return new ViewerComparator() {
			/*
			 * (non-Javadoc)
			 * 
			 * @see org.eclipse.jface.viewers.ViewerComparator#compare(org.eclipse.jface.viewers.Viewer,
			 *      java.lang.Object, java.lang.Object)
			 */
			public int compare(Viewer testViewer, Object e1, Object e2) {
				String message1 = ((IStatus) e1).getMessage();
				String message2 = ((IStatus) e2).getMessage();
				if (message1 == null)
					return 1;
				if (message2 == null)
					return -1;
				return message1.compareTo(message2);
			}