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

Bug 343056

Summary: Shell.createHandle() is throwing NPE
Product: [Eclipse Project] Platform Reporter: Bryan Hunt <bhunt>
Component: SWTAssignee: Platform-SWT-Inbox <platform-swt-inbox>
Status: CLOSED DUPLICATE QA Contact:
Severity: normal    
Priority: P3 CC: eclipse.felipe, pwebster, Silenio_Quarti
Version: 3.7   
Target Milestone: ---   
Hardware: PC   
OS: Mac OS X - Carbon (unsup.)   
Whiteboard:

Description Bryan Hunt CLA 2011-04-16 23:24:08 EDT
I'm using Eclipse 3.7M7 Cocoal and I've started seeing occasional problem in the IDE when invoking a command that opens a dialog.  The stack shows NPE being thrown by Shell.createHandle().  It seems fairly easy to reproduce once it happens, but I have not found a reliable way to initially reproduce the problem.  Right now, I can sometimes reproduce it by moving classes to new packages.


java.lang.NullPointerException
	at org.eclipse.swt.widgets.Shell.createHandle(Shell.java:665)
	at org.eclipse.swt.widgets.Widget.createWidget(Widget.java:602)
	at org.eclipse.swt.widgets.Control.createWidget(Control.java:979)
	at org.eclipse.swt.widgets.Scrollable.createWidget(Scrollable.java:159)
	at org.eclipse.swt.widgets.Shell.<init>(Shell.java:291)
	at org.eclipse.swt.widgets.Shell.<init>(Shell.java:369)
	at org.eclipse.jface.window.Window.createShell(Window.java:487)
	at org.eclipse.jface.window.Window.create(Window.java:430)
	at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1089)
	at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation$1.run(RefactoringWizardOpenOperation.java:172)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation.run(RefactoringWizardOpenOperation.java:193)
	at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation.run(RefactoringWizardOpenOperation.java:116)
	at org.eclipse.jdt.internal.ui.refactoring.actions.RefactoringStarter.activate(RefactoringStarter.java:38)
	at org.eclipse.jdt.internal.ui.refactoring.reorg.ReorgMoveStarter.run(ReorgMoveStarter.java:80)
	at org.eclipse.jdt.internal.ui.packageview.SelectionTransferDropAdapter.handleDropMove(SelectionTransferDropAdapter.java:283)
	at org.eclipse.jdt.internal.ui.packageview.SelectionTransferDropAdapter.performDrop(SelectionTransferDropAdapter.java:220)
	at org.eclipse.jdt.internal.ui.dnd.JdtViewerDropAdapter.drop(JdtViewerDropAdapter.java:246)
	at org.eclipse.jface.util.DelegatingDropAdapter$3.run(DelegatingDropAdapter.java:211)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
	at org.eclipse.jface.util.DelegatingDropAdapter.drop(DelegatingDropAdapter.java:209)
	at org.eclipse.swt.dnd.DNDListener.handleEvent(DNDListener.java:90)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4114)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1443)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1466)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1451)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1263)
	at org.eclipse.swt.dnd.DropTarget.drop(DropTarget.java:726)
	at org.eclipse.swt.dnd.DropTarget.outlineView_acceptDrop_item_childIndex(DropTarget.java:744)
	at org.eclipse.swt.dnd.DropTarget.dropTargetProc(DropTarget.java:469)
	at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
	at org.eclipse.swt.dnd.DropTarget.dndCallSuper(DropTarget.java:208)
	at org.eclipse.swt.dnd.DropTarget.performDragOperation(DropTarget.java:737)
	at org.eclipse.swt.dnd.DropTarget.dropTargetProc(DropTarget.java:454)
	at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
	at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:220)
	at org.eclipse.swt.widgets.Widget.mouseDownSuper(Widget.java:1081)
	at org.eclipse.swt.widgets.Tree.mouseDownSuper(Tree.java:2022)
	at org.eclipse.swt.widgets.Widget.mouseDown(Widget.java:1073)
	at org.eclipse.swt.widgets.Control.mouseDown(Control.java:2494)
	at org.eclipse.swt.widgets.Tree.mouseDown(Tree.java:1989)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:5453)
	at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
	at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:220)
	at org.eclipse.swt.widgets.Widget.windowSendEvent(Widget.java:2082)
	at org.eclipse.swt.widgets.Shell.windowSendEvent(Shell.java:2243)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:5517)
	at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
	at org.eclipse.swt.widgets.Display.applicationSendEvent(Display.java:4971)
	at org.eclipse.swt.widgets.Display.applicationProc(Display.java:5120)
	at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
	at org.eclipse.swt.internal.cocoa.NSApplication.sendEvent(NSApplication.java:128)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3596)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
	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:344)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	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:597)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
Comment 1 Silenio Quarti CLA 2012-02-01 15:11:45 EST
I believe this is a dup of bug#338975. Because the shells were leaked, we were not able to create new owns.

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