Project: Eclipse_Platform_UI
Bug 16433 Bad failure mode when view fails to load
Reported: 2002-05-20 10:42:50 | Status: resolved fixed

Build 20020519 1) Start with a new workspace 2) New->Project->Plugin Project 3) Choose the sample "Plugin with a view" 4) Hit finish 5) Now launch a runtime workspace with this new plugin 6) Open the "Sample View" created by the plugin 7) Shutdown the runtime workbench 8) Edit the Plugin class for your sample view plugin 9) Override the Plugin.startup() method, and cause it to throw a CoreException. 10) Restart the runtime workbench. 11) You get the "unable to restore workbench state" dialog. Then, the workbench just crashes! There is nothing in the log file. Attempting to restart the workbench just immediately crashes again. On the console you can see the exception that caused the crash: java.lang.NullPointerException at org.eclipse.ui.internal.PageLayout.createView(PageLayout.java:272) at org.eclipse.ui.internal.PageLayout.addView(PageLayout.java:205) at org.eclipse.ui.internal.registry.PerspectiveExtensionReader.processView(Perspect iveExtensionReader.java:188) at org.eclipse.ui.internal.registry.PerspectiveExtensionReader.processExtension(Per spectiveExtensionReader.java:87) at org.eclipse.ui.internal.registry.PerspectiveExtensionReader.readElement(Perspect iveExtensionReader.java:219) at org.eclipse.ui.internal.registry.RegistryReader.readElements(RegistryReader.java :119) at org.eclipse.ui.internal.registry.RegistryReader.readExtension(RegistryReader.jav a:128) at org.eclipse.ui.internal.registry.RegistryReader.readRegistry(RegistryReader.java :140) at org.eclipse.ui.internal.registry.PerspectiveExtensionReader.extendLayout(Perspec tiveExtensionReader.java:61) at org.eclipse.ui.internal.Perspective.loadPredefinedPersp(Perspective.java:600) at org.eclipse.ui.internal.Perspective.createPresentation(Perspective.java:231) at org.eclipse.ui.internal.Perspective.<init>(Perspective.java:131) at org.eclipse.ui.internal.WorkbenchPage.createPerspective(WorkbenchPage.java:870) at org.eclipse.ui.internal.WorkbenchPage.init(WorkbenchPage.java:1449) at org.eclipse.ui.internal.WorkbenchPage.<init>(WorkbenchPage.java:326) at org.eclipse.ui.internal.WorkbenchWindow.busyOpenPage(WorkbenchWindow.java:339) at org.eclipse.ui.internal.WorkbenchWindow$6.run(WorkbenchWindow.java:903) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:56) at org.eclipse.ui.internal.WorkbenchWindow.openPage(WorkbenchWindow.java:900) at org.eclipse.ui.internal.Workbench.openFirstTimeWindow(Workbench.java:727) at org.eclipse.ui.internal.Workbench.init(Workbench.java:563) at org.eclipse.ui.internal.Workbench.run(Workbench.java:1061) at org.eclipse.core.internal.boot.InternalBootLoader.run(InternalBootLoader.java:73 9) at org.eclipse.core.boot.BootLoader.run(BootLoader.java:424) at EclipseRuntimeLauncher.main(EclipseRuntimeLauncher.java:24)

Files changed in fix:
bundles/org.eclipse.ui/Eclipse UI/org/eclipse/ui/internal/PageLayout.java