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
/**
		 * Number of items modified in the last update
		 */
		int lastWorked = 0;
		
		/**
		 * Remembers whether the viewer existed the last time this job was run
		 */
		boolean controlExists = true;
		
		WidgetRefreshJob(String title) {
			super(title);
		}
		
		/**
		 * Will be executed each time the update thread wakes up. This makes
		 * a single incremental update to the viewer (ie: adds or removes a few items)
		 */ 
		public IStatus runInUIThread(IProgressMonitor monitor) {
			
			
			if (lock.getDepth() > 0) {
				lastWorked = 0;
				return Status.OK_STATUS;
			}
			
			lock.acquire();