Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 66651

Summary: [Preferences] NPE pressing ok button in preferences while workspace rebuilds
Product: [Eclipse Project] Platform Reporter: Ingo Richter <ingo.richter>
Component: UIAssignee: Andrew Eidsness <eclipse>
Status: RESOLVED DUPLICATE QA Contact:
Severity: normal    
Priority: P2    
Version: 3.0   
Target Milestone: 3.0 RC3   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Ingo Richter CLA 2004-06-11 08:01:07 EDT
I pressed the ok button in the preferences dialog while the workspace was
rebuilding. I'm running Eclipse I20040611.

I got this error:

java.lang.NullPointerException
	at
org.eclipse.ui.internal.ide.dialogs.IDEStartupPreferencePage.performOk(IDEStartupPreferencePage.java:92)
	at org.eclipse.jface.preference.PreferenceDialog$11.run(PreferenceDialog.java:745)
	at
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:615)
	at org.eclipse.core.runtime.Platform.run(Platform.java:758)
	at
org.eclipse.jface.preference.PreferenceDialog.okPressed(PreferenceDialog.java:728)
	at
org.eclipse.jface.preference.PreferenceDialog.buttonPressed(PreferenceDialog.java:199)
	at
org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog.buttonPressed(WorkbenchPreferenceDialog.java:75)
	at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:506)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:89)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:796)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2732)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2398)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:668)
	at org.eclipse.jface.window.Window.open(Window.java:648)
	at org.eclipse.ui.internal.OpenPreferencesAction.run(OpenPreferencesAction.java:72)
	at org.eclipse.jface.action.Action.runWithEvent(Action.java:881)
	at
org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:915)
	at
org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:866)
	at
org.eclipse.jface.action.ActionContributionItem$7.handleEvent(ActionContributionItem.java:785)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:796)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2732)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2398)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1362)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1333)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:252)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141)
	at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:96)
	at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:334)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:272)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:128)
	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.core.launcher.Main.basicRun(Main.java:185)
	at org.eclipse.core.launcher.Main.run(Main.java:638)
	at org.eclipse.core.launcher.Main.main(Main.java:622)
Comment 1 Tod Creasey CLA 2004-06-11 10:13:33 EDT

*** This bug has been marked as a duplicate of 65276 ***
Comment 2 Tod Creasey CLA 2004-06-11 10:14:54 EDT
Reopening. I think this might be different.
Comment 3 Tod Creasey CLA 2004-06-11 10:37:45 EDT
I couldn't even get this one to start  on a fresh workspace

STEPS
1) Start a fresh workspace
2) Open the startup and shutdown preference page

java.lang.StringIndexOutOfBoundsException: String index out of range: -1
	at java.lang.String.charAt(String.java:444)
	at org.eclipse.ui.internal.ide.ChooseWorkspaceData.setInitialDefault
(ChooseWorkspaceData.java:113)
	at org.eclipse.ui.internal.ide.ChooseWorkspaceData.<init>
(ChooseWorkspaceData.java:77)
	at org.eclipse.ui.internal.ide.ChooseWorkspaceData.getShowDialogValue
(ChooseWorkspaceData.java:315)
	at 
org.eclipse.ui.internal.ide.dialogs.IDEStartupPreferencePage.createLaunchPrompt
Pref(IDEStartupPreferencePage.java:130)
	at 
org.eclipse.ui.internal.ide.dialogs.IDEStartupPreferencePage.createContents
(IDEStartupPreferencePage.java:54)
	at org.eclipse.jface.preference.PreferencePage.createControl
(PreferencePage.java:217)
	at org.eclipse.jface.preference.PreferenceDialog$12.run
(PreferenceDialog.java:1007)
	at org.eclipse.core.internal.runtime.InternalPlatform.run
(InternalPlatform.java:615)
	at org.eclipse.core.runtime.Platform.run(Platform.java:758)
	at org.eclipse.jface.preference.PreferenceDialog.showPage
(PreferenceDialog.java:1002)
	at org.eclipse.jface.preference.PreferenceDialog$8.selectionChanged
(PreferenceDialog.java:529)
	at org.eclipse.jface.viewers.StructuredViewer$3.run
(StructuredViewer.java:452)
	at org.eclipse.core.internal.runtime.InternalPlatform.run
(InternalPlatform.java:615)
	at org.eclipse.core.runtime.Platform.run(Platform.java:758)
	at org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged
(StructuredViewer.java:450)
	at org.eclipse.jface.viewers.StructuredViewer.handlePostSelect
(StructuredViewer.java:710)
	at org.eclipse.jface.viewers.StructuredViewer$5.widgetSelected
(StructuredViewer.java:728)
	at org.eclipse.jface.util.OpenStrategy.firePostSelectionEvent
(OpenStrategy.java:200)
	at org.eclipse.jface.util.OpenStrategy.access$4(OpenStrategy.java:195)
	at org.eclipse.jface.util.OpenStrategy$3.run(OpenStrategy.java:349)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages
(Synchronizer.java:106)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:2709)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2401)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:668)
	at org.eclipse.jface.window.Window.open(Window.java:648)
	at org.eclipse.ui.internal.OpenPreferencesAction.run
(OpenPreferencesAction.java:72)
	at org.eclipse.jface.action.Action.runWithEvent(Action.java:881)
	at 
org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection
(ActionContributionItem.java:915)
	at org.eclipse.jface.action.ActionContributionItem.access$2
(ActionContributionItem.java:866)
	at org.eclipse.jface.action.ActionContributionItem$7.handleEvent
(ActionContributionItem.java:785)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:796)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2732)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2398)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1362)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1333)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench
(Workbench.java:252)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141)
	at org.eclipse.ui.internal.ide.IDEApplication.run
(IDEApplication.java:96)
	at org.eclipse.core.internal.runtime.PlatformActivator$1.run
(PlatformActivator.java:334)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:272)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:128)
	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.core.launcher.Main.basicRun(Main.java:185)
	at org.eclipse.core.launcher.Main.run(Main.java:638)
	at org.eclipse.core.launcher.Main.main(Main.java:622)
Comment 4 Andrew Eidsness CLA 2004-06-11 10:54:38 EDT
The second traceback was caused by not enough checking on an input parameter.  
Tod has reviewed that change and its been released to HEAD.

This bug is still open to investigate the original traceback.
Comment 5 Andrew Eidsness CLA 2004-06-11 11:58:06 EDT
The first trace and second trace are different problems.  The first trace has 
not been investigated, but the second trace has been fixed.  Since bug 66702 has 
been raised to describe the second part of this bug it will be used to track the 
fix.
Comment 6 Andrew Eidsness CLA 2004-06-14 11:11:04 EDT
There are two tracebacks described by this bug.  The second has already had bug 
66702 created (and resolved) as the main tracking bug for the problem.  The 
first traceback is a duplicate of bug 65276.

*** This bug has been marked as a duplicate of 65276 ***