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

Bug 374420

Summary: NPE in WorkbenchSourceProvider
Product: [Eclipse Project] Platform Reporter: Brian de Alwis <bsd>
Component: UIAssignee: Platform-UI-Inbox <Platform-UI-Inbox>
Status: CLOSED DUPLICATE QA Contact:
Severity: normal    
Priority: P3 CC: remy.suen
Version: 4.2   
Target Milestone: ---   
Hardware: PC   
OS: Mac OS X - Carbon (unsup.)   
Whiteboard:

Description Brian de Alwis CLA 2012-03-15 13:01:46 EDT
It's possible to get an NPE in WorkbenchSourceProvider if a dialog is opened and opened while the splash screen is shown.

In this case theShell is the splash's shell, but the display does not have an active shell.

Daemon Thread [Thread-1] (Suspended (exception NullPointerException))	
	WorkbenchSourceProvider$6.handleEvent(Event) line: 684	
	EventTable.sendEvent(Event) line: 84	
	Display.filterEvent(Event) line: 1068	
	Display.sendEvent(EventTable, Event) line: 4129	
	Shell(Widget).sendEvent(Event) line: 1457	
	Shell(Widget).sendEvent(int, Event, boolean) line: 1480	
	Shell(Widget).sendEvent(int) line: 1461	
	Shell.windowDidBecomeKey(long, long, long) line: 2103	
	Display.windowProc(long, long, long) line: 5510	
	OS.objc_msgSendSuper(objc_super, long, long) line: not available [native method]	
	Display.applicationSendEvent(long, long, long) line: 4976	
	Display.applicationProc(long, long, long) line: 5125	
	OS.objc_msgSend(long, long, long) line: not available [native method]	
	NSApplication.sendEvent(NSEvent) line: 128	
	Display.readAndDispatch() line: 3612	
	SwingSWT.invokeAndWait(Runnable) line: 141	
	ServerConnector.connectToServer(String, String) line: 147	
	ServerConnector.prompt() line: 85	
	ServerList.connectMasterServer() line: 176	
	Activator$1.handleEvent(Event) line: 71	
	EventHandlerWrapper.handleEvent(Event, Permission) line: 197	
	EventHandlerTracker.dispatchEvent(EventHandlerWrapper, Permission, int, Event) line: 197	
	EventHandlerTracker.dispatchEvent(Object, Object, int, Object) line: 1	
	EventManager.dispatchEvent(Set, EventDispatcher, int, Object) line: 230	
	ListenerQueue.dispatchEventSynchronous(int, Object) line: 148	
	EventAdminImpl.dispatchEvent(Event, boolean) line: 135	
	EventAdminImpl.sendEvent(Event) line: 78	
	EventComponent.sendEvent(Event) line: 39	
	EventBroker.send(String, Object) line: 81	
	UIEventPublisher.notifyChanged(Notification) line: 57	
	PartImpl(BasicNotifierImpl).eNotify(Notification) line: 374	
	PartImpl(UIElementImpl).setRenderer(Object) line: 269	
	PartRenderingEngine.createWidget(MUIElement, Object) line: 881	
	PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 616	
	PartRenderingEngine$6.run() line: 505	
	SafeRunner.run(ISafeRunnable) line: 42	
	PartRenderingEngine.createGui(MUIElement, Object, IEclipseContext) line: 490	
	ElementReferenceRenderer.createWidget(MUIElement, Object) line: 74	
	PartRenderingEngine.createWidget(MUIElement, Object) line: 882	
	PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 616	
	PartRenderingEngine.safeCreateGui(MUIElement) line: 718	
	PartRenderingEngine.access$2(PartRenderingEngine, MUIElement) line: 689	
	PartRenderingEngine$7.run() line: 683	
	SafeRunner.run(ISafeRunnable) line: 42	
	PartRenderingEngine.createGui(MUIElement) line: 668	
	StackRenderer.showTab(MUIElement) line: 1010	
	StackRenderer(LazyStackRenderer).postProcess(MUIElement) line: 97	
	PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 632	
	PartRenderingEngine.safeCreateGui(MUIElement) line: 718	
	PartRenderingEngine.access$2(PartRenderingEngine, MUIElement) line: 689	
	PartRenderingEngine$7.run() line: 683	
	SafeRunner.run(ISafeRunnable) line: 42	
	PartRenderingEngine.createGui(MUIElement) line: 668	
	SashRenderer(SWTPartRenderer).processContents(MElementContainer<MUIElement>) line: 59	
	PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 628	
	PartRenderingEngine.safeCreateGui(MUIElement) line: 718	
	PartRenderingEngine.access$2(PartRenderingEngine, MUIElement) line: 689	
	PartRenderingEngine$7.run() line: 683	
	SafeRunner.run(ISafeRunnable) line: 42	
	PartRenderingEngine.createGui(MUIElement) line: 668	
	SashRenderer(SWTPartRenderer).processContents(MElementContainer<MUIElement>) line: 59	
	PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 628	
	PartRenderingEngine.safeCreateGui(MUIElement) line: 718	
	PartRenderingEngine.access$2(PartRenderingEngine, MUIElement) line: 689	
	PartRenderingEngine$7.run() line: 683	
	SafeRunner.run(ISafeRunnable) line: 42	
	PartRenderingEngine.createGui(MUIElement) line: 668	
	SashRenderer(SWTPartRenderer).processContents(MElementContainer<MUIElement>) line: 59	
	PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 628	
	PartRenderingEngine.safeCreateGui(MUIElement) line: 718	
	PartRenderingEngine.access$2(PartRenderingEngine, MUIElement) line: 689	
	PartRenderingEngine$7.run() line: 683	
	SafeRunner.run(ISafeRunnable) line: 42	
	PartRenderingEngine.createGui(MUIElement) line: 668	
	PerspectiveRenderer(SWTPartRenderer).processContents(MElementContainer<MUIElement>) line: 59	
	PerspectiveRenderer.processContents(MElementContainer<MUIElement>) line: 59	
	PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 628	
	PartRenderingEngine.safeCreateGui(MUIElement) line: 718	
	PartRenderingEngine.access$2(PartRenderingEngine, MUIElement) line: 689	
	PartRenderingEngine$7.run() line: 683	
	SafeRunner.run(ISafeRunnable) line: 42	
	PartRenderingEngine.createGui(MUIElement) line: 668	
	PerspectiveStackRenderer.showTab(MUIElement) line: 103	
	PerspectiveStackRenderer(LazyStackRenderer).postProcess(MUIElement) line: 97	
	PerspectiveStackRenderer.postProcess(MUIElement) line: 77	
	PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 632	
	PartRenderingEngine.safeCreateGui(MUIElement) line: 718	
	PartRenderingEngine.access$2(PartRenderingEngine, MUIElement) line: 689	
	PartRenderingEngine$7.run() line: 683	
	SafeRunner.run(ISafeRunnable) line: 42	
	PartRenderingEngine.createGui(MUIElement) line: 668	
	SashRenderer(SWTPartRenderer).processContents(MElementContainer<MUIElement>) line: 59	
	PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 628	
	PartRenderingEngine.safeCreateGui(MUIElement) line: 718	
	PartRenderingEngine.access$2(PartRenderingEngine, MUIElement) line: 689	
	PartRenderingEngine$7.run() line: 683	
	SafeRunner.run(ISafeRunnable) line: 42	
	PartRenderingEngine.createGui(MUIElement) line: 668	
	WBWRenderer(SWTPartRenderer).processContents(MElementContainer<MUIElement>) line: 59	
	WBWRenderer.processContents(MElementContainer<MUIElement>) line: 626	
	PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 628	
	PartRenderingEngine.safeCreateGui(MUIElement) line: 718	
	PartRenderingEngine.access$2(PartRenderingEngine, MUIElement) line: 689	
	PartRenderingEngine$7.run() line: 683	
	SafeRunner.run(ISafeRunnable) line: 42	
	PartRenderingEngine.createGui(MUIElement) line: 668	
	PartRenderingEngine$9.run() line: 954	
	Realm.runWithDefault(Realm, Runnable) line: 332	
	PartRenderingEngine.run(MApplicationElement, IEclipseContext) line: 909	
	E4Workbench.createAndRunUI(MApplicationElement) line: 85	
	Workbench$4.run() line: 580	
	Realm.runWithDefault(Realm, Runnable) line: 332	
	Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 535	
	PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 149	
	DSApplication.start(IApplicationContext) line: 35	
	EclipseAppHandle.run(Object) line: 196	
	EclipseAppLauncher.runApplication(Object) line: 110	
	EclipseAppLauncher.start(Object) line: 79	
	EclipseStarter.run(Object) line: 353	
	EclipseStarter.run(String[], Runnable) line: 180	
	NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
	NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25	
	Method.invoke(Object, Object...) line: 597	
	Main.invokeFramework(String[], URL[]) line: 629	
	Main.basicRun(String[]) line: 584	
	Main.run(String[]) line: 1438	
	Main.main(String[]) line: 1414
Comment 1 Brian de Alwis CLA 2012-03-23 09:10:00 EDT

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