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/MarkerEntry.java
public String getPath() {
		if (folder == null) {
			if (!marker.exists()) {
				return super.getPath();
			}
			
			try {
				Object pathAttribute = marker
						.getAttribute(MarkerViewUtil.PATH_ATTRIBUTE);
				if (pathAttribute != null) {
					folder = pathAttribute.toString();
					return folder;
				}
			} catch (CoreException exception) {
				
				if (Policy.DEBUG_MARKERS)
					StatusManager.getManager().handle(exception.getStatus());
			}
			IPath path = marker.getResource().getFullPath();
			int n = path.segmentCount() - 1; 
			
			if (n <= 0) {
				return super.getPath();
			}
			int len = 0;
			for (int i = 0; i < n; ++i) {
				len += path.segment(i).length();
			}
			
			if (n > 1) {