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
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IMemento;
import org.eclipse.ui.ISelectionListener;
import org.eclipse.ui.IViewSite;
import org.eclipse.ui.IWorkbenchActionConstants;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.actions.ActionFactory;
import org.eclipse.ui.actions.SelectionProviderAction;
import org.eclipse.ui.part.FileEditorInput;
import org.eclipse.ui.part.MarkerTransfer;
import org.eclipse.ui.progress.UIJob;
import org.eclipse.ui.views.navigator.ShowInNavigatorAction;
import org.eclipse.ui.views.tasklist.ITaskListResourceAdapter;
public abstract class MarkerView extends TableView {
	private static final String WAITING_FOR_WORKSPACE_CHANGES_TO_FINISH = Messages.getString("MarkerView.waiting_on_changes"); 
	private static final String SEARCHING_FOR_MARKERS = Messages.getString("MarkerView.searching_for_markers"); 
	private static final String REFRESHING_MARKER_COUNTS = Messages.getString("MarkerView.refreshing_counts"); 
	private static final String QUEUEING_VIEWER_UPDATES = Messages.getString("MarkerView.queueing_updates"); 
	private static final String FILTERING_ON_MARKER_LIMIT = Messages.getString("MarkerView.18"); 
	
	private static final String TAG_SELECTION = "selection"; 
	private static final String TAG_MARKER = "marker"; 
	private static final String TAG_RESOURCE = "resource"; 
	private static final String TAG_ID = "id"; 
	
	
	
	private int preBusyMarkers = 0;