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
protected SelectionProviderAction revealAction;
	protected SelectionProviderAction openAction;
	protected SelectionProviderAction showInNavigatorAction;
	protected SelectionProviderAction deleteAction;
	protected SelectionProviderAction selectAllAction;
	protected SelectionProviderAction propertiesAction;
	
	private ISelectionListener focusListener = new ISelectionListener() {
		public void selectionChanged(IWorkbenchPart part, ISelection selection) {
			MarkerView.this.focusSelectionChanged(part, selection);
		}
	};
	
	private MarkerList currentMarkers = new MarkerList();
	private int totalMarkers = 0;
	private boolean markerCountDirty = true;
	Job uiJob = new UIJob(Messages.getString("MarkerView.refreshProgress")) { 
		public IStatus runInUIThread(IProgressMonitor monitor) {						
			updateStatusMessage();
			updateTitle();
			return Status.OK_STATUS;
		}
	};
	
	/**
	 * This job is scheduled whenever a filter or resource change occurs. It computes the new
	 * set of markers and schedules a UI Job to cause the changes to be reflected in the UI.
	 */
	
	private RestartableJob refreshJob = null;