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
*/
		private Collection getAddedMarkers(Collection addedMarkers) {
			if (addedMarkers.isEmpty())
				return Util.EMPTY_COLLECTION;
			List toAdd = new ArrayList();
			Iterator added = addedMarkers.iterator();
			MarkerFilter[] filters = getEnabledFilters();
			while (added.hasNext()) {
				ConcreteMarker newMarker;
				try {
					newMarker = MarkerList.createMarker((IMarker) added.next());
					for (int i = 0; i < filters.length; i++) {
						if (filters[i].select(newMarker))
							toAdd.add(newMarker);
					}
				} catch (CoreException e) {
					IDEWorkbenchPlugin.getDefault().getLog().log(e.getStatus());
				}
			}
			return toAdd;
		}
		/**
		 * Refresh all of the contents of changed.
		 * 
		 * @param changed
		 *            Collection of ConcreteMarker
		 */
		public void refresh(Collection changed) {
			synchronized (updateKey) {
				refreshes.addAll(changed);