Community
Participate
Working Groups
1. Open a Java file. 2. Drag it to a view stack. 3. Minimize that stack. 4. Shutdown Eclipse. java.lang.NullPointerException at org.eclipse.ui.internal.WorkbenchWindow.getShell(WorkbenchWindow.java:1077) at org.eclipse.jdt.internal.ui.text.JavaReconciler.uninstall(JavaReconciler.java:345) at org.eclipse.jface.text.source.SourceViewer.unconfigure(SourceViewer.java:692) at org.eclipse.jdt.internal.ui.javaeditor.JavaSourceViewer.unconfigure(JavaSourceViewer.java:357) at org.eclipse.jface.text.source.SourceViewer.handleDispose(SourceViewer.java:745) at org.eclipse.jface.text.source.projection.ProjectionViewer.handleDispose(ProjectionViewer.java:1363) at org.eclipse.jdt.internal.ui.javaeditor.JavaSourceViewer.handleDispose(JavaSourceViewer.java:462) at org.eclipse.jface.text.TextViewer$2.widgetDisposed(TextViewer.java:1798) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:123) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062) at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:774) at org.eclipse.swt.custom.StyledText.handleDispose(StyledText.java:5825) at org.eclipse.swt.custom.StyledText$7.handleEvent(StyledText.java:5651) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1058) at org.eclipse.swt.widgets.Widget.release(Widget.java:808) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:872) at org.eclipse.swt.widgets.Canvas.releaseChildren(Canvas.java:167) at org.eclipse.swt.widgets.Widget.release(Widget.java:811) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:872) at org.eclipse.swt.widgets.Widget.release(Widget.java:811) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:872) at org.eclipse.swt.widgets.Widget.release(Widget.java:811) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:872) at org.eclipse.swt.widgets.Widget.release(Widget.java:811) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:872) at org.eclipse.swt.widgets.Widget.release(Widget.java:811) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:872) at org.eclipse.swt.widgets.Widget.release(Widget.java:811) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:872) at org.eclipse.swt.widgets.Widget.release(Widget.java:811) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:872) at org.eclipse.swt.widgets.Canvas.releaseChildren(Canvas.java:167) at org.eclipse.swt.widgets.Decorations.releaseChildren(Decorations.java:773) at org.eclipse.swt.widgets.Shell.releaseChildren(Shell.java:1267) at org.eclipse.swt.widgets.Widget.release(Widget.java:811) at org.eclipse.swt.widgets.Widget.dispose(Widget.java:446) at org.eclipse.swt.widgets.Decorations.dispose(Decorations.java:447) at org.eclipse.swt.widgets.Shell.dispose(Shell.java:714) at org.eclipse.swt.widgets.Display.release(Display.java:3707) at org.eclipse.swt.graphics.Device.dispose(Device.java:295) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:131) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
1. Open a Java file. 2. Drag it to a view stack. 3. Window > Open Perspective > Debug 4. Shutdown Eclipse. You'll get the same thing. I also got another stack trace before I got the one in comment 0. java.lang.NullPointerException at org.eclipse.ui.SubActionBars.setGlobalActionHandler(SubActionBars.java:581) at org.eclipse.jdt.ui.actions.ReferencesSearchGroup.updateGlobalActionHandlers(ReferencesSearchGroup.java:228) at org.eclipse.jdt.ui.actions.ReferencesSearchGroup.dispose(ReferencesSearchGroup.java:222) at org.eclipse.jdt.ui.actions.JavaSearchActionGroup.dispose(JavaSearchActionGroup.java:201) at org.eclipse.jdt.internal.ui.actions.CompositeActionGroup.dispose(CompositeActionGroup.java:54) at org.eclipse.jdt.internal.ui.javaeditor.JavaOutlinePage.dispose(JavaOutlinePage.java:877) at org.eclipse.ui.views.contentoutline.ContentOutline.doDestroyPage(ContentOutline.java:149) at org.eclipse.ui.part.PageBookView.removePage(PageBookView.java:860) at org.eclipse.ui.part.PageBookView.dispose(PageBookView.java:518) at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.invalidate(CompatibilityPart.java:128) at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.destroy(CompatibilityPart.java:208) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:47) at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:795) at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:775) at org.eclipse.e4.core.internal.di.InjectorImpl.uninject(InjectorImpl.java:163) at org.eclipse.e4.core.internal.di.InjectorImpl.disposed(InjectorImpl.java:326) at org.eclipse.e4.core.internal.di.Requestor.disposed(Requestor.java:112) at org.eclipse.e4.core.internal.contexts.ContextObjectSupplier$ContextInjectionListener.update(ContextObjectSupplier.java:59) at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(TrackableComputationExt.java:90) at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.doHandleInvalid(TrackableComputationExt.java:53) at org.eclipse.e4.core.internal.contexts.Computation.handleInvalid(Computation.java:59) at org.eclipse.e4.core.internal.contexts.EclipseContext.dispose(EclipseContext.java:196) at org.eclipse.e4.core.internal.contexts.EclipseContext.dispose(EclipseContext.java:186) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.clearContext(PartRenderingEngine.java:604) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:545) at org.eclipse.ui.internal.WorkbenchWindow.hardClose(WorkbenchWindow.java:1357) at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:1058) at org.eclipse.ui.internal.WorkbenchWindow.access$9(WorkbenchWindow.java:1037) at org.eclipse.ui.internal.WorkbenchWindow$6.run(WorkbenchWindow.java:1084) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:1082) at org.eclipse.ui.internal.Workbench$13.run(Workbench.java:1023) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.ui.internal.Workbench.busyClose(Workbench.java:1017) at org.eclipse.ui.internal.Workbench.access$11(Workbench.java:951) at org.eclipse.ui.internal.Workbench$14.run(Workbench.java:1093) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.ui.internal.Workbench.close(Workbench.java:1091) at org.eclipse.ui.internal.Workbench.close(Workbench.java:1064) at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:1055) at org.eclipse.ui.internal.WorkbenchWindow.access$9(WorkbenchWindow.java:1037) at org.eclipse.ui.internal.WorkbenchWindow$6.run(WorkbenchWindow.java:1084) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:1082) at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:1098) at org.eclipse.ui.internal.WorkbenchWindow$4.close(WorkbenchWindow.java:426) at org.eclipse.e4.ui.workbench.renderers.swt.WBWRenderer$8.shellClosed(WBWRenderer.java:421) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:98) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062) at org.eclipse.swt.widgets.Decorations.closeWidget(Decorations.java:308) at org.eclipse.swt.widgets.Decorations.WM_CLOSE(Decorations.java:1665) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4162) at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341) at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1598) at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2038) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4873) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2454) at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:497) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4251) at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341) at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1598) at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2038) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4886) at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method) at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2459) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3655) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:713)
Cannot reproduce on I20100911-2002. Probably resolved due to the recursive removeGui(MUIElement) implementation.