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
*/
			public void helpRequested(HelpEvent e) {
				IContext context = contextProvider.getContext(getViewer()
						.getControl());
				PlatformUI.getWorkbench().getHelpSystem().displayHelp(context);
			}
		});
		
		
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
	 */
	public Object getAdapter(Class adaptable) {
		if (adaptable.equals(IContextProvider.class))
			return contextProvider;
		if (adaptable.equals(IShowInSource.class)) {
			return new IShowInSource() {
				public ShowInContext getShowInContext() {
					ISelection selection = getViewer().getSelection();
					if (!(selection instanceof IStructuredSelection))
						return null;
					IStructuredSelection structured = (IStructuredSelection) selection;
					Iterator markerIterator = structured.iterator();
					List newSelection = new ArrayList();
					while (markerIterator.hasNext()) {
						ConcreteMarker element = (ConcreteMarker) markerIterator
								.next();