Bug 28034

Summary: [Editor Mgmt] NPE restoring workbench
Product: [Eclipse Project] Platform Reporter: Nick Edgar <n.a.edgar>
Component: UIAssignee: Nick Edgar <n.a.edgar>
Status: RESOLVED FIXED QA Contact:
Severity: critical    
Priority: P1 CC: airvine
Version: 2.1   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Nick Edgar CLA 2002-12-10 12:54:39 EST
build I20021110

- got the new build
- started it, pointing at my old workspace
- got the error dialog: Unable to read workbench state. Workbench layout will 
be reset.

Log has:

!SESSION Dec 10, 2002 13:07:54.384 --------------------------------------------
-
java.fullversion=J2RE 1.3.1 IBM Windows 32 build cn131-20020403 (JIT enabled: 
jitc)
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Command-line arguments: -os win32 -ws win32 -arch x86 -dev bin -data 
d:\eclipse\plugins -update -install file:D:/eclipse-I20021210/eclipse/
!ENTRY org.eclipse.ui.workbench 4 2 Dec 10, 2002 13:07:54.400
!MESSAGE Problems occurred when invoking code from plug-
in: "org.eclipse.ui.workbench".
!STACK 0
java.lang.NullPointerException
	at org.eclipse.ui.internal.EditorWorkbook.createTab
(EditorWorkbook.java:406)
	at org.eclipse.ui.internal.EditorWorkbook.createTab
(EditorWorkbook.java:395)
	at org.eclipse.ui.internal.EditorWorkbook.createControl
(EditorWorkbook.java:222)
	at org.eclipse.ui.internal.PartSashContainer.createControl
(PartSashContainer.java:181)
	at org.eclipse.ui.internal.EditorArea.createControl
(EditorArea.java:324)
	at org.eclipse.ui.internal.PartSashContainer.createControl
(PartSashContainer.java:181)
	at org.eclipse.ui.internal.PerspectivePresentation.activate
(PerspectivePresentation.java:94)
	at org.eclipse.ui.internal.Perspective.onActivate(Perspective.java:665)
	at org.eclipse.ui.internal.WorkbenchPage.onActivate
(WorkbenchPage.java:1631)
	at org.eclipse.ui.internal.WorkbenchWindow$7.run
(WorkbenchWindow.java:1256)
	at org.eclipse.swt.custom.BusyIndicator.showWhile
(BusyIndicator.java:65)
	at org.eclipse.ui.internal.WorkbenchWindow.setActivePage
(WorkbenchWindow.java:1243)
	at org.eclipse.ui.internal.WorkbenchWindow.restoreState
(WorkbenchWindow.java:1126)
	at org.eclipse.ui.internal.Workbench.restoreState(Workbench.java:1257)
	at org.eclipse.ui.internal.Workbench.access$7(Workbench.java:1226)
	at org.eclipse.ui.internal.Workbench$8.run(Workbench.java:852)
	at org.eclipse.core.internal.runtime.InternalPlatform.run
(InternalPlatform.java:850)
	at org.eclipse.core.runtime.Platform.run(Platform.java:413)
	at org.eclipse.ui.internal.Workbench.openPreviousWorkbenchState
(Workbench.java:804)
	at org.eclipse.ui.internal.Workbench.init(Workbench.java:604)
	at org.eclipse.ui.internal.Workbench.run(Workbench.java:1379)
	at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:845)
	at org.eclipse.core.boot.BootLoader.run(BootLoader.java:462)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:247)
	at org.eclipse.core.launcher.Main.run(Main.java:703)
	at org.eclipse.core.launcher.Main.main(Main.java:539)
Comment 1 Nick Edgar CLA 2002-12-10 13:14:30 EST
After letting it blow away my UI state, I tried launching my target.
Got the sane error dialog, but the stack is slightly different:

!SESSION Dec 10, 2002 13:27:21.540 --------------------------------------------
-
java.fullversion=J2RE 1.3.1 IBM Windows 32 build cn131-20020403 (JIT disabled)
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Command-line arguments: -plugins 
file:d:\eclipse\plugins\.metadata\.plugins\org.eclipse.pde.core\d__temp_eclipse
\plugin_path.properties -dev bin, -data d:\temp\eclipse -os win32 -ws win32 -
arch x86 -nl en_US -firstuse -install file:D:/eclipse-I20021210/eclipse/
!ENTRY org.eclipse.ui.workbench 4 2 Dec 10, 2002 13:27:21.540
!MESSAGE Problems occurred when invoking code from plug-
in: "org.eclipse.ui.workbench".
!STACK 0
java.lang.NullPointerException
	at org.eclipse.swt.custom.BusyIndicator.showWhile
(BusyIndicator.java:66)
	at org.eclipse.ui.internal.WorkbenchWindow.setActivePage
(WorkbenchWindow.java:1243)
	at org.eclipse.ui.internal.WorkbenchWindow.restoreState
(WorkbenchWindow.java:1126)
	at org.eclipse.ui.internal.Workbench.restoreState(Workbench.java:1257)
	at org.eclipse.ui.internal.Workbench.access$7(Workbench.java:1226)
	at org.eclipse.ui.internal.Workbench$8.run(Workbench.java:852)
	at org.eclipse.core.internal.runtime.InternalPlatform.run
(InternalPlatform.java:850)
	at org.eclipse.core.runtime.Platform.run(Platform.java:413)
	at org.eclipse.ui.internal.Workbench.openPreviousWorkbenchState
(Workbench.java:804)
	at org.eclipse.ui.internal.Workbench.init(Workbench.java:604)
	at org.eclipse.ui.internal.Workbench.run(Workbench.java:1379)
	at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:845)
	at org.eclipse.core.boot.BootLoader.run(BootLoader.java:462)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:247)
	at org.eclipse.core.launcher.Main.run(Main.java:703)
	at org.eclipse.core.launcher.Main.main(Main.java:539)
	at org.eclipse.core.launcher.Main.main(Main.java:539)
Comment 2 Nick Edgar CLA 2002-12-10 13:21:01 EST
Line 406 in EditorWorkbook.createTab is:
  pullDownBar.setVisible(true);

EditorWorkbook has since been changed to move tab creation after creation of 
the pulldown.
Comment 3 Nick Edgar CLA 2002-12-10 13:49:36 EST
Andrew fixed this just after the first re-build input.
Should rebuild again for this one, since this will cause users to lose their 
UI state.