Bug 136292 [Markers] problems view: NPE after delete
20060412-0010 Not sure if this is reproducable, but when I deleted a project, I got the following exception. The problem view was grouped by 'Type' at that moment. !ENTRY org.eclipse.ui.ide 4 4 2006-04-12 10:13:35.483 !MESSAGE Marker id: 4684521 not found. !STACK 1 org.eclipse.core.internal.resources.ResourceException: Marker id: 4684521 not found. at org.eclipse.core.internal.resources.Marker.checkInfo(Marker.java:56) at org.eclipse.core.internal.resources.Marker.getType(Marker.java:194) at org.eclipse.ui.views.markers.internal.Util.getMarkerTypeName(Util.java:380) at org.eclipse.ui.views.markers.internal.FieldCategory.getValue(FieldCategory.java:61) at org.eclipse.ui.views.markers.internal.FieldCategory.compare(FieldCategory.java:88) at org.eclipse.ui.views.markers.internal.CategorySorter.compare(CategorySorter.java:58) at org.eclipse.ui.views.markers.internal.CategorySorter.compare(CategorySorter.java:72) at org.eclipse.jface.viewers.ViewerComparator$1.compare(ViewerComparator.java:184) at java.util.Arrays.mergeSort(Arrays.java:1284) at java.util.Arrays.mergeSort(Arrays.java:1295) at java.util.Arrays.mergeSort(Arrays.java:1295) at java.util.Arrays.mergeSort(Arrays.java:1295) at java.util.Arrays.mergeSort(Arrays.java:1295) at java.util.Arrays.mergeSort(Arrays.java:1296) at java.util.Arrays.mergeSort(Arrays.java:1296) at java.util.Arrays.mergeSort(Arrays.java:1295) at java.util.Arrays.mergeSort(Arrays.java:1295) at java.util.Arrays.mergeSort(Arrays.java:1295) at java.util.Arrays.mergeSort(Arrays.java:1296) at java.util.Arrays.sort(Arrays.java:1223) at org.eclipse.jface.viewers.ViewerComparator.sort(ViewerComparator.java:182) at org.eclipse.ui.views.markers.internal.MarkerAdapter.buildAllMarkers(MarkerAdapter.java:251) at org.eclipse.ui.views.markers.internal.MarkerView.updateForContentsRefresh(MarkerView.java:544) at org.eclipse.ui.views.markers.internal.MarkerView$MarkerProcessJob.run(MarkerView.java:148) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58) !SUBENTRY 1 org.eclipse.core.resources 4 376 2006-04-12 10:13:35.483 !MESSAGE Marker id: 4684521 not found. !ENTRY org.eclipse.core.jobs 4 2 2006-04-12 10:13:35.573 !MESSAGE An internal error occurred during: "Process resource updates". !STACK 0 java.lang.NullPointerException at java.lang.String.compareTo(String.java) at org.eclipse.ui.views.markers.internal.FieldCategory.compare(FieldCategory.java:88) at org.eclipse.ui.views.markers.internal.CategorySorter.compare(CategorySorter.java:58) at org.eclipse.ui.views.markers.internal.CategorySorter.compare(CategorySorter.java:72) at org.eclipse.jface.viewers.ViewerComparator$1.compare(ViewerComparator.java:184) at java.util.Arrays.mergeSort(Arrays.java:1284) at java.util.Arrays.mergeSort(Arrays.java:1295) at java.util.Arrays.mergeSort(Arrays.java:1295) at java.util.Arrays.mergeSort(Arrays.java:1295) at java.util.Arrays.mergeSort(Arrays.java:1295) at java.util.Arrays.mergeSort(Arrays.java:1296) at java.util.Arrays.mergeSort(Arrays.java:1296) at java.util.Arrays.mergeSort(Arrays.java:1295) at java.util.Arrays.mergeSort(Arrays.java:1295) at java.util.Arrays.mergeSort(Arrays.java:1295) at java.util.Arrays.mergeSort(Arrays.java:1296) at java.util.Arrays.sort(Arrays.java:1223) at org.eclipse.jface.viewers.ViewerComparator.sort(ViewerComparator.java:182) at org.eclipse.ui.views.markers.internal.MarkerAdapter.buildAllMarkers(MarkerAdapter.java:251) at org.eclipse.ui.views.markers.internal.MarkerView.updateForContentsRefresh(MarkerView.java:544) at org.eclipse.ui.views.markers.internal.MarkerView$MarkerProcessJob.run(MarkerView.java:148) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/Util.java
return nameAttribute.toString();
			}
		} catch (CoreException exception) {
			log(exception);
		}
		return marker.getResource().getName();
	}
	/**
	 * Return whether or not the marker is editable.
	 * 
	 * @param marker
	 * @return boolean <code>true</code> if it is editable
	 */
	public static boolean isEditable(IMarker marker) {
		if (marker == null) {
			return false;
		}
		try {
			return marker.isSubtypeOf(IMarker.BOOKMARK)
					|| (marker.isSubtypeOf(IMarker.TASK) && marker
							.getAttribute(IMarker.USER_EDITABLE, true));
		} catch (CoreException e) {
			return false;
		}
	}
	/**
	 * Return an error status for the given exception.
	 * 
	 * @param exception
	 * @return IStatus