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

Bug 347630

Summary: RC2 NPE in DeleteFromModelCommandHandler
Product: [Modeling] Papyrus Reporter: Ed Willink <ed>
Component: CoreAssignee: Project Inbox <mdt-papyrus-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: eclipse-bugzilla
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows Vista   
Whiteboard:

Description Ed Willink CLA 2011-05-30 07:13:32 EDT
While exiting from Eclipse I get (without any Papyrus editors ever started)

Thread [main] (Suspended (exception NullPointerException))	
	DeleteFromModelCommandHandler(GraphicalCommandHandler).getSelectedElements() line: 54	
	DeleteFromModelCommandHandler.getCommand() line: 39	
	DeleteFromModelCommandHandler(GraphicalCommandHandler).isEnabled() line: 101	
	HandlerProxy.isEnabled() line: 320	
	Command.isEnabled() line: 833	
	Command.setHandler(IHandler) line: 965	
	HandlerAuthority.updateCommand(String, IHandlerActivation) line: 457	
	HandlerAuthority.deactivateHandler(IHandlerActivation) line: 312	
	HandlerService.deactivateHandler(IHandlerActivation) line: 148	
	HandlerService.deactivateHandlers(Collection) line: 157	
	HandlerPersistence.clearActivations(IHandlerService) line: 104	
	HandlerPersistence.dispose() line: 125	
	HandlerService.dispose() line: 163	
	ServiceLocator.dispose() line: 142	
	Workbench.shutdown() line: 3052	
	Workbench.busyClose(boolean) line: 1118	
	Workbench.access$15(Workbench, boolean) line: 1035	
	Workbench$25.run() line: 1279	
	BusyIndicator.showWhile(Display, Runnable) line: 70	
	Workbench.close(int, boolean) line: 1277	
	Workbench.close() line: 1249	
	WorkbenchWindow.busyClose() line: 727	
	WorkbenchWindow.access$0(WorkbenchWindow) line: 715	
	WorkbenchWindow$5.run() line: 860	
	BusyIndicator.showWhile(Display, Runnable) line: 70	
	WorkbenchWindow.close() line: 858	
	WorkbenchWindow(Window).handleShellCloseEvent() line: 741	
	Window$3.shellClosed(ShellEvent) line: 687	
	TypedListener.handleEvent(Event) line: 98	
	EventTable.sendEvent(Event) line: 84	
	Shell(Widget).sendEvent(Event) line: 1053	
	Shell(Widget).sendEvent(int, Event, boolean) line: 1077	
	Shell(Widget).sendEvent(int, Event) line: 1062	
	Shell(Decorations).closeWidget() line: 308	
	Shell(Decorations).WM_CLOSE(int, int) line: 1677	
	Shell(Control).windowProc(int, int, int, int) line: 4513	
	Shell(Canvas).windowProc(int, int, int, int) line: 341	
	Shell(Decorations).windowProc(int, int, int, int) line: 1610	
	Shell.windowProc(int, int, int, int) line: 2060	
	Display.windowProc(int, int, int, int) line: 4970	
	OS.DefWindowProcW(int, int, int, int) line: not available [native method]	
	OS.DefWindowProc(int, int, int, int) line: 2525	
	Shell.callWindowProc(int, int, int, int) line: 498	
	Shell(Control).windowProc(int, int, int, int) line: 4606	
	Shell(Canvas).windowProc(int, int, int, int) line: 341	
	Shell(Decorations).windowProc(int, int, int, int) line: 1610	
	Shell.windowProc(int, int, int, int) line: 2060	
	Display.windowProc(int, int, int, int) line: 4970	
	OS.DefWindowProcW(int, int, int, int) line: not available [native method]	
	OS.DefWindowProc(int, int, int, int) line: 2525	
	Shell.callWindowProc(int, int, int, int) line: 498	
	Shell(Control).windowProc(int, int, int, int) line: 4606	
	Shell(Canvas).windowProc(int, int, int, int) line: 341	
	Shell(Decorations).windowProc(int, int, int, int) line: 1610	
	Shell.windowProc(int, int, int, int) line: 2060	
	Display.windowProc(int, int, int, int) line: 4970	
	OS.DispatchMessageW(MSG) line: not available [native method]	
	OS.DispatchMessage(MSG) line: 2530	
	Display.readAndDispatch() line: 3750	
	Workbench.runEventLoop(Window$IExceptionHandler, Display) line: 2696	
	Workbench.runUI() line: 2660	
	Workbench.access$4(Workbench) line: 2494	
	Workbench$7.run() line: 674	
	Realm.runWithDefault(Realm, Runnable) line: 332	
	Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 667	
	PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 149	
	IDEApplication.start(IApplicationContext) line: 123	
	EclipseAppHandle.run(Object) line: 196	
	EclipseAppLauncher.runApplication(Object) line: 110	
	EclipseAppLauncher.start(Object) line: 79	
	EclipseStarter.run(Object) line: 344	
	EclipseStarter.run(String[], Runnable) line: 179	
	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: 592	
	Main.invokeFramework(String[], URL[]) line: 622	
	Main.basicRun(String[]) line: 577	
	Main.run(String[]) line: 1410	
	Main.main(String[]) line: 1386
Comment 1 Yann Tanguy CLA 2011-06-01 07:50:10 EDT
I could not reproduce this on RC2, here is what I did:
- dl eclipse modeling RC2
- install Papyrus
- start eclipse and exit

Can you give details so that I can reproduce and fix this ?
Comment 2 Ed Willink CLA 2011-06-01 12:04:44 EDT
You probably need to open a Sample Ecore Editor and perhaps an Xtext editor to have some action bars to observe.
Comment 3 Yann Tanguy CLA 2011-06-05 16:15:07 EDT
Fixed in r4828:
Several handlers did not test (PlatformUI.getWorkbench().getActiveWorkbenchWindow() == null) which occurs during exit.
Comment 4 Yann Tanguy CLA 2011-06-05 16:15:22 EDT
Fixed in r4828
Comment 5 Alain Le Guennec CLA 2011-10-07 06:45:35 EDT
I think this is somewhat related to bug #356469.