Bug 212002 [Markers] NPE in CachedMarkerBuilder.getMarkerItem
I20071204-1547 Sorry, no steps. Just found this in the log: !ENTRY org.eclipse.ui 4 0 2007-12-05 12:03:37.031 !MESSAGE Unhandled event loop exception !STACK 0 java.lang.NullPointerException at org.eclipse.ui.internal.provisional.views.markers.CachedMarkerBuilder.getMarkerItem(CachedMarkerBuilder.java:555) at org.eclipse.ui.internal.provisional.views.markers.ExtendedMarkersView.setSelection(ExtendedMarkersView.java:1427) at org.eclipse.ui.internal.provisional.views.markers.MarkerSupportInternalUtilities.showMarker(MarkerSupportInternalUtilities.java:180) at org.eclipse.ui.views.markers.MarkerViewUtil.showMarker(MarkerViewUtil.java:101) at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.updateMarkerViews(AbstractDecoratedTextEditor.java:1865) at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.updateMarkerViews(JavaEditor.java:2697) at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.updateStatusLine(JavaEditor.java:3116) at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.selectionChanged(JavaEditor.java:1872) at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor$EditorSelectionChangedListener.selectionChanged(JavaEditor.java:285) at org.eclipse.jface.text.TextViewer.firePostSelectionChanged(TextViewer.java:2560) at org.eclipse.jface.text.TextViewer.firePostSelectionChanged(TextViewer.java:2512) at org.eclipse.jface.text.TextViewer$5.run(TextViewer.java:2491) at org.eclipse.swt.widgets.Display.runTimer(Display.java:3813) at org.eclipse.swt.widgets.Display.messageProc(Display.java:3031) at org.eclipse.swt.internal.win32.OS.$$YJP$$DispatchMessageW(Native Method) at org.eclipse.swt.internal.win32.OS.DispatchMessageW(OS.java) at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2327) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3359) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2381) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2345) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2211) at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:473) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:468) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:362) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:175) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:561) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:501) at org.eclipse.equinox.launcher.Main.run(Main.java:1239) at org.eclipse.equinox.launcher.Main.main(Main.java:1215)
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/provisional/views/markers/CachedMarkerBuilder.java
else
					progressService.schedule(markerProcessJob, TIME_OUT);
			}
		};
	}
	/**
	 * Return whether or not the receiver has markers without scheduling
	 * anything if it doesn't.
	 * 
	 * @return boolean <code>true</code> if the markers have not been
	 *         calculated.
	 */
	boolean hasNoMarkers() {
		return currentMap == null;
	}
	/**
	 * Return whether or not the receiver is building.
	 * 
	 * @return boolean
	 */
	boolean isBuilding() {
		return building;
	}
	/**
	 * Schedule an update of the markers with a delay.
	 * 
	 */
	void scheduleMarkerUpdate() {
		cancelJobs();
		currentMap = null;