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

Bug 367189

Summary: NPE and SWT Exceptions in cancelling launch config with help opened
Product: [Eclipse Project] JDT Reporter: Girish Balre <grkumar>
Component: DebugAssignee: JDT-Debug-Inbox <jdt-debug-inbox>
Status: CLOSED DUPLICATE QA Contact:
Severity: normal    
Priority: P3 CC: Michael_Rennie, remy.suen
Version: 3.6   
Target Milestone: ---   
Hardware: PC   
OS: Windows 7   
Whiteboard:

Description Girish Balre CLA 2011-12-20 09:06:23 EST
Build Identifier: 3.6

if we open launch configuration, such as server launch configuration.and then if we open help by clicking f1. on clicking cancel only the help goes of and the the whole launch config dialog. this seems to be wrong. moreover a SWTException is also logged as soon as cancel is clicked.
org.eclipse.swt.SWTException: Graphic is disposed
	at org.eclipse.swt.SWT.error(SWT.java:4083)
	at org.eclipse.swt.SWT.error(SWT.java:3998)
	at org.eclipse.swt.SWT.error(SWT.java:3969)
	at org.eclipse.swt.graphics.Image.getBounds(Image.java:1164)
	at org.eclipse.swt.widgets.Label.computeSize(Label.java:150)
	at org.eclipse.swt.layout.FormData.computeSize(FormData.java:117)
	at org.eclipse.swt.layout.FormData.getWidth(FormData.java:146)
	at org.eclipse.swt.layout.FormData.getLeftAttachment(FormData.java:201)
	at org.eclipse.swt.layout.FormLayout.computeWidth(FormLayout.java:265)
	at org.eclipse.swt.layout.FormLayout.layout(FormLayout.java:332)
	at org.eclipse.swt.layout.FormLayout.computeSize(FormLayout.java:241)
	at org.eclipse.swt.widgets.Composite.computeSize(Composite.java:233)
	at org.eclipse.swt.layout.GridData.computeSize(GridData.java:491)
	at org.eclipse.swt.layout.GridLayout.layout(GridLayout.java:217)
	at org.eclipse.swt.layout.GridLayout.layout(GridLayout.java:193)
	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1275)
	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1261)
	at org.eclipse.swt.widgets.Composite.layout(Composite.java:664)
	at org.eclipse.swt.widgets.Composite.layout(Composite.java:622)
	at org.eclipse.swt.widgets.Composite.layout(Composite.java:585)
	at org.eclipse.jface.dialogs.TitleAreaDialog.layoutForNewMessage(TitleAreaDialog.java:473)
	at org.eclipse.jface.dialogs.TitleAreaDialog.access$0(TitleAreaDialog.java:427)
	at org.eclipse.jface.dialogs.TitleAreaDialog$1.handleEvent(TitleAreaDialog.java:166)
	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.Control.sendResize(Control.java:2649)
	at org.eclipse.swt.widgets.Composite.sendResize(Composite.java:975)
	at org.eclipse.swt.widgets.Composite.setBounds(Composite.java:1024)
	at org.eclipse.swt.widgets.Decorations.setBounds(Decorations.java:871)
	at org.eclipse.swt.widgets.Shell.setBounds(Shell.java:1476)
	at org.eclipse.swt.widgets.Control.setBounds(Control.java:2777)
	at org.eclipse.swt.widgets.Control.setBounds(Control.java:2773)
	at org.eclipse.jface.dialogs.TrayDialog.closeTray(TrayDialog.java:165)
	at org.eclipse.jface.dialogs.TrayDialog.close(TrayDialog.java:177)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.close(LaunchConfigurationsDialog.java:354)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationPropertiesDialog.close(LaunchConfigurationPropertiesDialog.java:117)
	at org.eclipse.jface.dialogs.Dialog.cancelPressed(Dialog.java:488)
	at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:474)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.buttonPressed(LaunchConfigurationsDialog.java:318)
	at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:234)
	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.Display.runDeferredEvents(Display.java:4066)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
	at org.eclipse.jface.window.Window.open(Window.java:801)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.open(LaunchConfigurationsDialog.java:1133)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationPropertiesDialog.open(LaunchConfigurationPropertiesDialog.java:203)
	at org.eclipse.debug.ui.DebugUITools.openLaunchConfigurationPropertiesDialog(DebugUITools.java:448)
	at org.eclipse.debug.ui.DebugUITools.openLaunchConfigurationPropertiesDialog(DebugUITools.java:425)
	at org.eclipse.wst.server.ui.internal.editor.OverviewEditorPart$9.linkActivated(OverviewEditorPart.java:588)
	at org.eclipse.ui.forms.widgets.AbstractHyperlink.handleActivate(AbstractHyperlink.java:233)
	at org.eclipse.ui.forms.widgets.AbstractHyperlink.handleMouseUp(AbstractHyperlink.java:327)
	at org.eclipse.ui.forms.widgets.AbstractHyperlink.access$2(AbstractHyperlink.java:311)
	at org.eclipse.ui.forms.widgets.AbstractHyperlink$4.handleEvent(AbstractHyperlink.java:125)
	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.Display.runDeferredEvents(Display.java:4066)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2629)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2593)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2427)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:670)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:663)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
	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)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	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.equinox.launcher.Main.invokeFramework(Main.java:619)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1407)

on clicking on OK button after this on the server launch config an NPE is logged as follows:


java.lang.NullPointerException
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.handleApplyPressed(LaunchConfigurationTabGroupViewer.java:1352)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationPropertiesDialog.okPressed(LaunchConfigurationPropertiesDialog.java:194)
	at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:472)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.buttonPressed(LaunchConfigurationsDialog.java:318)
	at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:234)
	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.Display.runDeferredEvents(Display.java:4066)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
	at org.eclipse.jface.window.Window.open(Window.java:801)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.open(LaunchConfigurationsDialog.java:1133)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationPropertiesDialog.open(LaunchConfigurationPropertiesDialog.java:203)
	at org.eclipse.debug.ui.DebugUITools.openLaunchConfigurationPropertiesDialog(DebugUITools.java:448)
	at org.eclipse.debug.ui.DebugUITools.openLaunchConfigurationPropertiesDialog(DebugUITools.java:425)
	at org.eclipse.wst.server.ui.internal.editor.OverviewEditorPart$9.linkActivated(OverviewEditorPart.java:588)
	at org.eclipse.ui.forms.widgets.AbstractHyperlink.handleActivate(AbstractHyperlink.java:233)
	at org.eclipse.ui.forms.widgets.AbstractHyperlink.handleMouseUp(AbstractHyperlink.java:327)
	at org.eclipse.ui.forms.widgets.AbstractHyperlink.access$2(AbstractHyperlink.java:311)
	at org.eclipse.ui.forms.widgets.AbstractHyperlink$4.handleEvent(AbstractHyperlink.java:125)
	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.Display.runDeferredEvents(Display.java:4066)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2629)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2593)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2427)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:670)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:663)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
	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)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	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.equinox.launcher.Main.invokeFramework(Main.java:619)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1407)

Maybe this bug is related to Bug 333684.


Reproducible: Always

Steps to Reproduce:
1. Create a server, maybe HTTP Preview
2. open the server editor by double clicking on the server instance in servers view.
3. open the launch configuration through the link on server editor.
4. click on f1
5. now click on cancel.
6. an SWTException is logged
7. now click on OK
8. an NPE is logged
Comment 1 Remy Suen CLA 2012-01-03 09:26:02 EST
(In reply to comment #0)
> Build Identifier: 3.6

You're on 3.6. The bug fix described by bug 333684 went into 3.7.
Comment 2 Michael Rennie CLA 2012-01-04 10:56:47 EST

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