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/CachedMarkerBuilder.java
/*
				 * (non-Javadoc)
				 * 
				 * @see org.eclipse.jface.operation.IRunnableWithProgress#run(org.eclipse.core.runtime.IProgressMonitor)
				 */
				public void run(IProgressMonitor monitor) {
					
					if (refreshingMarkers())
						return;
					sortAndMakeCategories(monitor, currentMap);
				}
			});
		} catch (InvocationTargetException e) {
			StatusManager.getManager().handle(
					StatusUtil.newStatus(IStatus.ERROR,
							e.getLocalizedMessage(), e));
		} catch (InterruptedException e) {
			StatusManager.getManager().handle(
					StatusUtil.newStatus(IStatus.ERROR,
							e.getLocalizedMessage(), e));
		}
	}
	/**
	 * Check if the markers are still being built. If so schedule an update.
	 * 
	 * @return <code>true</code> if the map is empty.
	 */
	private boolean refreshingMarkers() {
		if (currentMap == null) {
			scheduleMarkerUpdate();