Bug 214223 [Markers] 'Marker id not found' exceptions from GroupMarkerField#compare(..) in log
I20071218-0800 Log fills up with these during an incremental auto-build. IIRC, the Problems has not been made visible since the last restart. Warning Thu Jan 03 14:22:58 CET 2008 Marker id 4826685 not found. org.eclipse.core.internal.resources.ResourceException: Marker id 4826685 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.MarkerGroup$GroupMarkerField.compare(MarkerGroup.java:306) at org.eclipse.ui.internal.provisional.views.markers.MarkerComparator.compare(MarkerComparator.java:88) at java.util.Arrays.mergeSort(Arrays.java:1293) at java.util.Arrays.mergeSort(Arrays.java:1282) at java.util.Arrays.mergeSort(Arrays.java:1282) at java.util.Arrays.mergeSort(Arrays.java:1282) at java.util.Arrays.mergeSort(Arrays.java:1282) at java.util.Arrays.mergeSort(Arrays.java:1282) at java.util.Arrays.mergeSort(Arrays.java:1282) at java.util.Arrays.mergeSort(Arrays.java:1282) at java.util.Arrays.sort(Arrays.java:1210) at org.eclipse.ui.internal.provisional.views.markers.CachedMarkerBuilder.sortAndMakeCategories(CachedMarkerBuilder.java:951) at org.eclipse.ui.internal.provisional.views.markers.CachedMarkerBuilder.buildAllMarkers(CachedMarkerBuilder.java:251) at org.eclipse.ui.internal.provisional.views.markers.CachedMarkerBuilder$1.run(CachedMarkerBuilder.java:368) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/provisional/views/markers/MarkersPropertyPage.java
/* (non-Javadoc)
	 * @see org.eclipse.jface.preference.PreferencePage#performOk()
	 */
	public boolean performOk() {
		if (marker == null || Util.isEditable(marker)) {
			saveChanges();
		}
		return super.performOk();
	}
	/**
	 * Saves the changes made in the dialog if needed. Creates a new marker if
	 * needed. Updates the existing marker only if there have been changes.
	 */
	private void saveChanges() {
		Map attrs;
		try {
			attrs = marker.getAttributes();
		} catch (CoreException e) {
			attrs = new HashMap();
			StatusManager.getManager().handle(e.getStatus());
		}
		attrs.put(IMarker.MESSAGE, descriptionText.getText());
		
		if (priorityCombo != null) {
			int priority = IMarker.PRIORITY_NORMAL;
			int index = priorityCombo.getSelectionIndex();
			if (index == priorityCombo
					.indexOf(MarkerMessages.propertiesDialog_priorityHigh))
				priority = IMarker.PRIORITY_HIGH;
			else if (index == priorityCombo