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
elementMem.putString(TAG_ID, String.valueOf(marker.getMarker().getId()));
		}
	}
	/* (non-Javadoc)
	 * @see org.eclipse.ui.views.internal.tableview.TableView#restoreSelection(org.eclipse.ui.IMemento)
	 */
	protected IStructuredSelection restoreSelection(IMemento memento) {
		if (memento == null) {
			return new StructuredSelection();
		}
		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
		IMemento selectionMemento = memento.getChild(TAG_SELECTION);
		if (selectionMemento == null) {
			return new StructuredSelection();
		}
		ArrayList selectionList = new ArrayList();
		IMemento[] markerMems = selectionMemento.getChildren(TAG_MARKER);
		for (int i = 0; i < markerMems.length; i++) {
			try {
				long id = new Long(markerMems[i].getString(TAG_ID)).longValue();
				IResource resource = root.findMember(markerMems[i].getString(TAG_RESOURCE));
				if (resource != null) {
					IMarker marker = resource.findMarker(id);
					if (marker != null)
						selectionList.add(MarkerList.createMarker(marker));
				}
			} catch (CoreException e) {
			}
		}
		return new StructuredSelection(selectionList);