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/TableContentProvider.java
* immediately, as the viewer will actually be updated in a background thread.
	 * 
	 * @param newVisibleItems
	 */
	public void set(Collection newVisibleItems, IProgressMonitor mon) {
		lock.acquire();
		
		try {
			queues.set(newVisibleItems, mon);
				
			scheduleUpdate();
		} finally {
			lock.release();
		}
	}
	
	/**
	 * If the contents of the viewer have somehow become out-of-sync with the "visibleItems"
	 * set, this method will restore synchronization.
	 */
	private void resync() {
		if (controlExists()) {
			int count = queues.getViewer().getTable().getItemCount();
			if (count != queues.countVisibleItems()) {
				queues.getViewer().refresh();
			}
		}
	}
	
	/**