Bug 85350 [Markers] [Progress] NoClassDefFoundError from job running during shutdown
i200502150800 Got the following exception running Core UI application startup performance tests (the test just exits once the workbench is alive, so it is a very short session). I did not verify the source code, but it seems the runtime plug-in may have already been stopped when the job in question started doing its work. java.lang.NoClassDefFoundError: org/eclipse/core/runtime/jobs/ILock at org.eclipse.ui.views.markers.internal.TableContentProvider.cancelPendingChanges(TableContentProvider.java:342) at org.eclipse.ui.views.markers.internal.TableView.haltTableUpdates(TableView.java:94) at org.eclipse.ui.views.markers.internal.MarkerView.internalRefresh(MarkerView.java:188) at org.eclipse.ui.views.markers.internal.MarkerView.access$3(MarkerView.java:181) at org.eclipse.ui.views.markers.internal.MarkerView$3.run(MarkerView.java:281) at org.eclipse.ui.views.markers.internal.RestartableJob$2.run(RestartableJob.java:85) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:67)
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/MarkerView.java
if (getViewer().getControl().isDisposed())
				return Status.CANCEL_STATUS;
			if (refreshAll) {
				getViewer().refresh(true);
				refreshAll = false;
			} else if (!pendingMarkerUpdates.isEmpty()) {
				Object[] markers = pendingMarkerUpdates.toArray();
				for (int i = 0; i < markers.length; i++) {
					getViewer().refresh(markers[i], true);
				}
				pendingMarkerUpdates.clear();
			}
			pendingMarkerUpdates.clear();
			Tree tree = getTree();
			if (tree != null && !tree.isDisposed()) {
				updateStatusMessage();
				updateTitle();
				
				if (getCurrentMarkers().getSize() < 20)
					getViewer().expandAll();
			}
			return Status.OK_STATUS;
		}
	}
	private UpdateJob updateJob = new UpdateJob();
	
	
	private int preBusyMarkers = 0;
	protected Object[] focusElements;
	private Clipboard clipboard;