Bug 58542 Dangerous change to setSystem in MarkersViews
In MarkerView.refresh() there is the line uiJob.setSystem(true); Which may happen after the uiJob has run. As a result it is possible that it is not being used to decrement the count of jobs and the progress monitor can run forever.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerView.java
} catch (CoreException e) {
			throw new InvocationTargetException(e);
		} finally {
			jobMan.endRule(root);
		}
		
		if (monitor.isCanceled()) {
			return;
		}
		
		
			
		Collection markers = Arrays.asList(currentMarkers.toArray());
		
		if (markerLimit != -1) {
			
			monitor.subTask(FILTERING_ON_MARKER_LIMIT);
			SubProgressMonitor mon = new SubProgressMonitor(monitor, 40);
			
			markers = SortUtil.getFirst(markers, getSorter(), markerLimit, mon);
			if (monitor.isCanceled()) return;
			currentMarkers = new MarkerList(markers);
		}
		monitor.subTask(QUEUEING_VIEWER_UPDATES);
		
		SubProgressMonitor sub = new SubProgressMonitor(monitor, 50);
		setContents(markers, sub);
		if (monitor.isCanceled()) return;
		
		uiJob.schedule();