Project: Eclipse_Platform_UI
Bug 189901 [ErrorHandling] NPE showing error
Reported: 2007-05-30 08:30:01 | Status: verified fixed

Note: This might as well be CDT related, but I do not know. It may also be coincidence that Eclipse crashed while clicking on a project, but I do not think so. Details: I have some rather largish C/C++ projects in my workspace (several thousand files). It already takes very long (~1 Min) to open the workbench and when selecting a project in the navigator it takes (depending on project size) quite as long. During the waiting period the workbench is completely unresponsive. At some point the project selection leads to a crash while waiting for the workbench to become responsive again. The debugger shows the following: 1. NullPointerException: !ENTRY org.eclipse.ui 4 0 2007-05-30 13:03:02.177 !MESSAGE Error occurred during status handling !STACK 0 java.lang.NullPointerException at org.eclipse.ui.internal.statushandlers.StatusNotificationManager.openStatusDialog(StatusNotificationManager.java:155) at org.eclipse.ui.internal.statushandlers.StatusNotificationManager$2.run(StatusNotificationManager.java:110) at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:152) at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:118) at org.eclipse.swt.widgets.Display.syncExec(Display.java:3897) at org.eclipse.ui.internal.statushandlers.StatusNotificationManager.addError(StatusNotificationManager.java:108) at org.eclipse.ui.statushandlers.WorkbenchErrorHandler.handle(WorkbenchErrorHandler.java:50) at org.eclipse.ui.internal.ide.IDEWorkbenchErrorHandler.handle(IDEWorkbenchErrorHandler.java:91) at org.eclipse.ui.internal.WorkbenchErrorHandlerProxy.handle(WorkbenchErrorHandlerProxy.java:36) at org.eclipse.ui.statushandlers.StatusManager.handle(StatusManager.java:186) at org.eclipse.ui.statushandlers.StatusManager.handle(StatusManager.java:230) at org.eclipse.ui.statushandlers.StatusManager.handle(StatusManager.java:241) at org.eclipse.ui.application.WorkbenchAdvisor.eventLoopException(WorkbenchAdvisor.java:324) at org.eclipse.ui.internal.ExceptionHandler.handleException(ExceptionHandler.java:62) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2393) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219) at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461) 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:153) 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:363) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176) 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:324) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:497) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:436) at org.eclipse.equinox.launcher.Main.run(Main.java:1162) at org.eclipse.equinox.launcher.Main.main(Main.java:1137) 2. It stops in the 'Daemon Thread [Error Reader]' in ProcessClosure$ReaderThread.run, line 73 with an OutOfMemoryException. Afterwards the workbench is completely hung, I can only kill it thus corrupting my workspace :-(

Files changed in fix:
bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/statushandlers/StatusNotificationManager.java