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
try {
				if (!PlatformUI.isWorkbenchRunning()) {
					controlExists = false;
				} else {	
					controlExists = controlExists();
					if (controlExists) {
						lastWorked = updateViewer();
					}
				}
			} finally {
				lock.release();
			}
			
			return Status.OK_STATUS;
		}
	}
	/**
	 * Job that does the real work for individual updates
	 */
	WidgetRefreshJob uiJob = new WidgetRefreshJob(UPDATING_TABLE_WIDGET);
	
	/**
	 * This job incrementally updates the viewer until all pending changes have
	 * been applied. It repeatedly schedules WidgetRefreshJobs until there are no more
	 * changes to apply. This job doesn't actually do any real work -- it simply
	 * schedules updates and updates the progress bar.
	 */
	RestartableJob updateJob;
	
	private ILock lock;