Community
Participate
Working Groups
- I was trying to track down a bug in search. - I had created a new project, and imported some XML files, did a search, which found a match in an XML file, and opened it (had to open file in default editor, due to other problem with XML files opening in scripted resource editor example by default). - I then deleted the project. I got an error dialog, and the log had: Log: Wed Jun 06 11:20:44 EDT 2001 2 org.eclipse.core.resources 2 Problems occurred when invoking code from plug-in: org.eclipse.core.resources. java.lang.NullPointerException java.lang.Throwable() java.lang.Exception() java.lang.RuntimeException() java.lang.NullPointerException() void org.eclipse.core.internal.resources.File.create(java.io.InputStream, boolean, org.eclipse.core.runtime.IProgressMonitor) void org.eclipse.core.internal.resources.File.create(java.io.InputStream, boolean, org.eclipse.core.runtime.IProgressMonitor) void org.eclipse.jdt.internal.core.JavaProject.setSharedProperty(org.eclipse.core.runtime.QualifiedName, java.lang.String) void org.eclipse.jdt.internal.core.JavaProject.saveClasspath(boolean) void org.eclipse.jdt.internal.core.JavaProject.saveClasspath() void org.eclipse.jdt.internal.core.DeltaProcessor.checkProjectPropertyFileUpdate(org.eclipse.core.resources.IResourceDelta, org.eclipse.jdt.core.IJavaElement) void org.eclipse.jdt.internal.core.DeltaProcessor.checkProjectPropertyFileUpdate(org.eclipse.core.resources.IResourceDelta, org.eclipse.jdt.core.IJavaElement) void org.eclipse.jdt.internal.core.DeltaProcessor.checkProjectPropertyFileUpdate(org.eclipse.core.resources.IResourceDelta, org.eclipse.jdt.core.IJavaElement) void org.eclipse.jdt.internal.core.JavaModelManager.resourceChanged(org.eclipse.core.resources.IResourceChangeEvent) void org.eclipse.core.internal.events.NotificationManager$1.run() void org.eclipse.core.internal.runtime.InternalPlatform.run(org.eclipse.core.runtime.ISafeRunnable) void org.eclipse.core.runtime.Platform.run(org.eclipse.core.runtime.ISafeRunnable) void org.eclipse.core.internal.events.NotificationManager.notify(org.eclipse.core.internal.events.ResourceChangeListenerList$ListenerEntry [], org.eclipse.core.resources.IResourceChangeEvent, boolean) void org.eclipse.core.internal.events.NotificationManager.broadcastChanges(org.eclipse.core.internal.events.ResourceChangeListenerList$ListenerEntry [], int, org.eclipse.core.resources.IResourceDelta, boolean) org.eclipse.core.resources.IResourceDelta org.eclipse.core.internal.events.NotificationManager.broadcastChanges(org.eclipse.core.resources.IResourceDelta, org.eclipse.core.internal.watson.ElementTree, int, boolean, boolean) org.eclipse.core.resources.IResourceDelta org.eclipse.core.internal.resources.Workspace.broadcastChanges(org.eclipse.core.resources.IResourceDelta, org.eclipse.core.internal.watson.ElementTree, int, boolean, boolean, org.eclipse.core.runtime.IProgressMonitor) void org.eclipse.core.internal.resources.Workspace.endOperation(boolean, org.eclipse.core.runtime.IProgressMonitor) void org.eclipse.core.internal.resources.Workspace.run(org.eclipse.core.resources.IWorkspaceRunnable, org.eclipse.core.runtime.IProgressMonitor) void org.eclipse.ui.actions.WorkspaceModifyOperation.run(org.eclipse.core.runtime.IProgressMonitor) void org.eclipse.jface.operation.ModalContext$ModalContextThread.run() Log: Wed Jun 06 11:20:44 EDT 2001 1 org.eclipse.core.resources 4 Unhandled exception caught in event loop. Log: Wed Jun 06 11:20:45 EDT 2001 4 org.eclipse.ui 0 java.lang.NullPointerException java.lang.NullPointerException java.lang.Throwable() java.lang.Exception() java.lang.RuntimeException() java.lang.NullPointerException() java.lang.String org.eclipse.search.internal.ui.SearchResultLabelProvider$FileLabelProvider.getText(java.lang.Object) java.lang.String org.eclipse.search.internal.ui.SearchResultLabelProvider$FileLabelProvider.getText(java.lang.Object) java.lang.String org.eclipse.search.internal.ui.SearchResultLabelProvider.getText(java.lang.Object) void org.eclipse.jface.viewers.TableViewer.doUpdateItem(org.eclipse.swt.widgets.Widget, java.lang.Object, boolean) void org.eclipse.jface.viewers.StructuredViewer.updateItem(org.eclipse.swt.widgets.Widget, java.lang.Object) void org.eclipse.search.internal.ui.SearchResultViewer.handleUpdateMatch(org.eclipse.search.ui.ISearchResultViewEntry) void org.eclipse.search.internal.ui.SearchManager.handleRemoveMatch(org.eclipse.core.resources.IMarker) boolean org.eclipse.search.internal.ui.SearchManager$2.visit(org.eclipse.core.resources.IResourceDelta) void org.eclipse.core.internal.events.ResourceDelta.accept(org.eclipse.core.resources.IResourceDeltaVisitor, boolean) void org.eclipse.core.internal.events.ResourceDelta.accept(org.eclipse.core.resources.IResourceDeltaVisitor, boolean) void org.eclipse.core.internal.events.ResourceDelta.accept(org.eclipse.core.resources.IResourceDeltaVisitor, boolean) void org.eclipse.core.internal.events.ResourceDelta.accept(org.eclipse.core.resources.IResourceDeltaVisitor) void org.eclipse.search.internal.ui.SearchManager.handleResourceChanged(org.eclipse.core.resources.IResourceChangeEvent) void org.eclipse.search.internal.ui.SearchManager$1.run() void org.eclipse.ui.internal.UIWorkspaceLock.doPendingWork() void org.eclipse.ui.internal.UISynchronizer$1.run() void org.eclipse.swt.widgets.RunnableLock.run() boolean org.eclipse.swt.widgets.Synchronizer.runAsyncMessages() boolean org.eclipse.swt.widgets.Display.runAsyncMessages() boolean org.eclipse.swt.widgets.Display.readAndDispatch() void org.eclipse.jface.operation.ModalContext$ModalContextThread.block() void org.eclipse.jface.operation.ModalContext.run(org.eclipse.jface.operation.IRunnableWithProgress, boolean, org.eclipse.core.runtime.IProgressMonitor, org.eclipse.swt.widgets.Display) void org.eclipse.jface.dialogs.ProgressMonitorDialog.run(boolean, boolean, org.eclipse.jface.operation.IRunnableWithProgress) void org.eclipse.ui.actions.DeleteResourceAction.run() void org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(org.eclipse.swt.widgets.Event) void org.eclipse.jface.action.ActionContributionItem.handleWidgetEvent(org.eclipse.swt.widgets.Event) void org.eclipse.jface.action.ActionContributionItem$ActionListener.handleEvent(org.eclipse.swt.widgets.Event) void org.eclipse.swt.widgets.EventTable.sendEvent(org.eclipse.swt.widgets.Event) void org.eclipse.swt.widgets.Widget.notifyListeners(int, org.eclipse.swt.widgets.Event) boolean org.eclipse.swt.widgets.Display.runDeferredEvents() boolean org.eclipse.swt.widgets.Display.readAndDispatch() void org.eclipse.ui.internal.Workbench.runEventLoop() java.lang.Object org.eclipse.ui.internal.Workbench.run(java.lang.Object) java.lang.Object org.eclipse.core.internal.boot.InternalBootLoader.run(java.lang.String, java.net.URL, java.lang.String, java.lang.String []) java.lang.Object org.eclipse.core.boot.BootLoader.run(java.lang.String, java.net.URL, java.lang.String, java.lang.String []) java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object []) java.lang.Object org.eclipse.core.launcher.Main.basicRun(java.lang.String []) java.lang.Object org.eclipse.core.launcher.Main.run(java.lang.String []) void org.eclipse.core.launcher.UIMain.main(java.lang.String []) Log: Wed Jun 06 11:20:45 EDT 2001 4 org.eclipse.ui 0 Exception creating image descriptor for: org.eclipse.core.resources.taskmarker org.eclipse.core.internal.resources.ResourceException: Marker id: 3 not found. java.lang.Throwable(java.lang.String) java.lang.Exception(java.lang.String) org.eclipse.core.runtime.CoreException(org.eclipse.core.runtime.IStatus) org.eclipse.core.internal.resources.ResourceException(org.eclipse.core.runtime.IStatus) void org.eclipse.core.internal.resources.Marker.checkInfo(org.eclipse.core.internal.resources.MarkerInfo) java.lang.String org.eclipse.core.internal.resources.Marker.getType() boolean org.eclipse.core.internal.resources.Marker.isSubtypeOf(java.lang.String) org.eclipse.jface.resource.ImageDescriptor org.eclipse.ui.internal.registry.MarkerImageProviderRegistry.getImageDescriptor(org.eclipse.core.resources.IMarker) org.eclipse.jface.resource.ImageDescriptor org.eclipse.ui.internal.model.WorkbenchMarker.getImageDescriptor(java.lang.Object) org.eclipse.swt.graphics.Image org.eclipse.ui.texteditor.MarkerAnnotation.getImage(org.eclipse.swt.widgets.Display) void org.eclipse.ui.texteditor.MarkerAnnotation.paint(org.eclipse.swt.graphics.GC, org.eclipse.swt.widgets.Canvas, org.eclipse.swt.graphics.Rectangle) void org.eclipse.jface.text.source.VerticalRuler.doPaint(org.eclipse.swt.graphics.GC) void org.eclipse.jface.text.source.VerticalRuler.doubleBufferPaint(org.eclipse.swt.graphics.GC) void org.eclipse.jface.text.source.VerticalRuler$2.paintControl(org.eclipse.swt.events.PaintEvent) void org.eclipse.swt.widgets.TypedListener.handleEvent(org.eclipse.swt.widgets.Event) void org.eclipse.swt.widgets.EventTable.sendEvent(org.eclipse.swt.widgets.Event) void org.eclipse.swt.widgets.Widget.sendEvent(int, org.eclipse.swt.widgets.Event) org.eclipse.swt.internal.win32.LRESULT org.eclipse.swt.widgets.Composite.WM_PAINT(int, int) int org.eclipse.swt.widgets.Control.windowProc(int, int, int) int org.eclipse.swt.widgets.Display.windowProc(int, int, int, int) int org.eclipse.swt.internal.win32.OS.DispatchMessage(org.eclipse.swt.internal.win32.MSG) boolean org.eclipse.swt.widgets.Display.readAndDispatch() void org.eclipse.jface.window.Window.runEventLoop(org.eclipse.swt.widgets.Shell) int org.eclipse.jface.window.Window.open() void org.eclipse.jface.dialogs.MessageDialog.openError(org.eclipse.swt.widgets.Shell, java.lang.String, java.lang.String) void org.eclipse.ui.internal.Workbench.handleExceptionInEventLoop(java.lang.Throwable) void org.eclipse.ui.internal.Workbench.runEventLoop() java.lang.Object org.eclipse.ui.internal.Workbench.run(java.lang.Object) java.lang.Object org.eclipse.core.internal.boot.InternalBootLoader.run(java.lang.String, java.net.URL, java.lang.String, java.lang.String []) java.lang.Object org.eclipse.core.boot.BootLoader.run(java.lang.String, java.net.URL, java.lang.String, java.lang.String []) java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object []) java.lang.Object org.eclipse.core.launcher.Main.basicRun(java.lang.String []) java.lang.Object org.eclipse.core.launcher.Main.run(java.lang.String []) void org.eclipse.core.launcher.UIMain.main(java.lang.String []) Log: Wed Jun 06 11:20:45 EDT 2001 4 org.eclipse.ui 0 Exception creating image descriptor for: org.eclipse.core.resources.taskmarker org.eclipse.core.internal.resources.ResourceException: Marker id: 2 not found. java.lang.Throwable(java.lang.String) java.lang.Exception(java.lang.String) org.eclipse.core.runtime.CoreException(org.eclipse.core.runtime.IStatus) org.eclipse.core.internal.resources.ResourceException(org.eclipse.core.runtime.IStatus) void org.eclipse.core.internal.resources.Marker.checkInfo(org.eclipse.core.internal.resources.MarkerInfo) java.lang.String org.eclipse.core.internal.resources.Marker.getType() boolean org.eclipse.core.internal.resources.Marker.isSubtypeOf(java.lang.String) org.eclipse.jface.resource.ImageDescriptor org.eclipse.ui.internal.registry.MarkerImageProviderRegistry.getImageDescriptor(org.eclipse.core.resources.IMarker) org.eclipse.jface.resource.ImageDescriptor org.eclipse.ui.internal.model.WorkbenchMarker.getImageDescriptor(java.lang.Object) org.eclipse.swt.graphics.Image org.eclipse.ui.texteditor.MarkerAnnotation.getImage(org.eclipse.swt.widgets.Display) void org.eclipse.ui.texteditor.MarkerAnnotation.paint(org.eclipse.swt.graphics.GC, org.eclipse.swt.widgets.Canvas, org.eclipse.swt.graphics.Rectangle) void org.eclipse.jface.text.source.VerticalRuler.doPaint(org.eclipse.swt.graphics.GC) void org.eclipse.jface.text.source.VerticalRuler.doubleBufferPaint(org.eclipse.swt.graphics.GC) void org.eclipse.jface.text.source.VerticalRuler$2.paintControl(org.eclipse.swt.events.PaintEvent) void org.eclipse.swt.widgets.TypedListener.handleEvent(org.eclipse.swt.widgets.Event) void org.eclipse.swt.widgets.EventTable.sendEvent(org.eclipse.swt.widgets.Event) void org.eclipse.swt.widgets.Widget.sendEvent(int, org.eclipse.swt.widgets.Event) org.eclipse.swt.internal.win32.LRESULT org.eclipse.swt.widgets.Composite.WM_PAINT(int, int) int org.eclipse.swt.widgets.Control.windowProc(int, int, int) int org.eclipse.swt.widgets.Display.windowProc(int, int, int, int) int org.eclipse.swt.internal.win32.OS.DispatchMessage(org.eclipse.swt.internal.win32.MSG) boolean org.eclipse.swt.widgets.Display.readAndDispatch() void org.eclipse.jface.window.Window.runEventLoop(org.eclipse.swt.widgets.Shell) int org.eclipse.jface.window.Window.open() void org.eclipse.jface.dialogs.MessageDialog.openError(org.eclipse.swt.widgets.Shell, java.lang.String, java.lang.String) void org.eclipse.ui.internal.Workbench.handleExceptionInEventLoop(java.lang.Throwable) void org.eclipse.ui.internal.Workbench.runEventLoop() java.lang.Object org.eclipse.ui.internal.Workbench.run(java.lang.Object) java.lang.Object org.eclipse.core.internal.boot.InternalBootLoader.run(java.lang.String, java.net.URL, java.lang.String, java.lang.String []) java.lang.Object org.eclipse.core.boot.BootLoader.run(java.lang.String, java.net.URL, java.lang.String, java.lang.String []) java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object []) java.lang.Object org.eclipse.core.launcher.Main.basicRun(java.lang.String []) java.lang.Object org.eclipse.core.launcher.Main.run(java.lang.String []) void org.eclipse.core.launcher.UIMain.main(java.lang.String []) Core knows about their problem in create, but what's interesting is that it triggered the other problems. The SearchResultLabelProvider$FileLabelProvider generated a NPE in the notification from Core for the deletion. Also, the editor's marker annotation model is trying to refer to a marker which has been deleted when the ruler redraws. Both of these are apparently due to the UI running (in the error dialog's event loop) before they've had a chance to properly update in response to the deletion, because it aborted due to the NPE when notifying the Java model. NOTES: KH (6/6/2001 12:56:44 PM) Moving to JUI for comment. EG (6/6/2001 11:23:23 AM) there are 2 walkbacks: - SearchResultLabelProvider - VerticalRuler We should investigate to understand the consequences and whether we are not defensive enough. It is critical the CORE problem is fixed. JW (6/6/01 5:17:03 PM) Defer if the Core problem is fixed. JM (6/6/2001 6:44:12 PM) Problem is fixed for 120. See 1GESYPI: ITPUI:WIN2000 - NullPointerException: Navigator EG (6/6/2001 1:21:31 PM) defered
moved to 'active'
PRODUCT VERSION: 119
case is handled properly in the latest - closing