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
private void internalRefresh(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
		int markerLimit = getMarkerLimit();
		monitor.beginTask(Messages.getString("MarkerView.19"), markerLimit == -1? 60 : 100); 
		
		haltTableUpdates();
		IJobManager jobMan = Platform.getJobManager();
		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
		
		try {
			monitor.subTask(WAITING_FOR_WORKSPACE_CHANGES_TO_FINISH);
			
			jobMan.beginRule(root, monitor);
			
			if (monitor.isCanceled()) {
				return;
			}
			
			monitor.subTask(SEARCHING_FOR_MARKERS);
			SubProgressMonitor subMonitor = new SubProgressMonitor(monitor, 10);
			currentMarkers = MarkerList.compute(getFilter(), subMonitor, true);
			
			if (monitor.isCanceled()) {
				return;								
			}
			if (markerCountDirty) {
				monitor.subTask(REFRESHING_MARKER_COUNTS);
				totalMarkers = MarkerList.compute(getMarkerTypes()).length;
				markerCountDirty = false;
			}