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
/**
	 * Creates a new TableContentProvider that will control the contents of the given
	 * viewer. 
	 * 
	 * @param viewer
	 * @param description user-readable string that will be included in progress monitors
	 * @param service IWorkbenchSiteProgressService or <code>null</null>
	 * 	 the service that this content provider will inform of 
	 * 	updates.
	 */
	public TableContentProvider(TableViewer viewer, String description, IWorkbenchSiteProgressService service) {
		this.queues = new DeferredQueue(viewer);
		this.description = description;
		uiJob.setPriority(Job.LONG);
		uiJob.setSystem(true);
		
		updateJob = new RestartableJob(TABLE_SYNCHRONIZATION, 
				new IRunnableWithProgress() {
					public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
						doUpdate(monitor);
					}
			}, service);
		
		lock = Platform.getJobManager().newLock();
	}
	/**
	 * Sets the view's sorter (or null if no sorting is to be used)
	 * 
	 * @param c comparator that controls the view's sort order (or null if no sorting)