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
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IMarker;
import org.eclipse.core.resources.IMarkerDelta;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IResourceChangeEvent;
import org.eclipse.core.resources.IResourceChangeListener;
import org.eclipse.core.resources.IResourceDelta;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.resources.mapping.ResourceMapping;
import org.eclipse.core.resources.mapping.ResourceMappingContext;
import org.eclipse.core.resources.mapping.ResourceTraversal;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.IJobChangeListener;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.help.HelpSystem;
import org.eclipse.help.IContext;
import org.eclipse.help.IContextProvider;