Bug 62254 [MarkersView] Markers View attempting to update after shutdown
Got this one the console running the suites - looks like a simple check for required in the update method java.lang.NullPointerException at org.eclipse.core.internal.runtime.InternalPlatform.isRunning (InternalPlatform.java:923) at org.eclipse.core.internal.jobs.JobListeners.handleException (JobListeners.java:136) at org.eclipse.core.internal.jobs.JobListeners.doNotify (JobListeners.java:119) at org.eclipse.core.internal.jobs.JobListeners.done (JobListeners.java:159) at org.eclipse.core.internal.jobs.JobManager.endJob (JobManager.java:420) at org.eclipse.core.internal.jobs.WorkerPool.endJob (WorkerPool.java:133) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:76) java.lang.IllegalStateException: Job manager has been shut down. at org.eclipse.core.internal.jobs.JobManager.schedule (JobManager.java:761) at org.eclipse.core.internal.jobs.InternalJob.schedule (InternalJob.java:313) at org.eclipse.core.runtime.jobs.Job.schedule(Job.java:399) at org.eclipse.ui.views.markers.internal.TableContentProvider.doUpdate (TableContentProvider.java:352) at org.eclipse.ui.views.markers.internal.TableContentProvider.access$4 (TableContentProvider.java:346) at org.eclipse.ui.views.markers.internal.TableContentProvider$3.run (TableContentProvider.java:184) at org.eclipse.ui.views.markers.internal.RestartableJob$2.run (RestartableJob.java:86) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:66)
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableContentProvider.java
/**
	 * Returns true iff this content provider contains changes that are not yet
	 * reflected in the viewer.
	 * 
	 * @return true iff the reciever has unprocessed changes
	 */
	public boolean hasPendingChanges() {
		return queues.hasPendingChanges() || sortOrder != queues.getSorter();
	}
	
	/**
	 * Returns an estimate of the total work remaining (used for progress monitors)
	 * 
	 * @return
	 */
	private int totalWork() {
		return queues.workRemaining() + 1;
	}
	
	/**
	 * Starts the update thread... this will continue to make incremental changes
	 * to the viewer until the pending* sets become empty. Does nothing if the
	 * update thread is already running or if there are no changes to process.
	 */
	private void scheduleUpdate() {		
		if (hasPendingChanges()) {
			updateJob.schedule();
		}
	}