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
ConcreteMarker marker = (ConcreteMarker) ((IStructuredSelection) getViewer()
					.getSelection()).getFirstElement();
			if (marker != null) {
				contextId = IDE.getMarkerHelpRegistry().getHelp(
						marker.getMarker());
			}
			if (contextId == null) {
				contextId = getStaticContextId();
			}
			return HelpSystem.getContext(contextId);
		}
		public String getSearchExpression(Object target) {
			return null;
		}
	}
	private ContextProvider contextProvider = new ContextProvider();
	protected ActionCopyMarker copyAction;
	protected ActionPasteMarker pasteAction;
	protected SelectionProviderAction revealAction;
	protected SelectionProviderAction openAction;
	protected SelectionProviderAction deleteAction;
	protected SelectionProviderAction selectAllAction;
	protected SelectionProviderAction propertiesAction;
	private ISelectionListener focusListener = new ISelectionListener() {
		public void selectionChanged(IWorkbenchPart part, ISelection selection) {
			MarkerView.this.focusSelectionChanged(part, selection);
		}
	};
	private int totalMarkers = 0;