Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 347625 - RC2: NPE in HideEmptyColumnState
Summary: RC2: NPE in HideEmptyColumnState
Status: CLOSED FIXED
Alias: None
Product: Papyrus
Classification: Modeling
Component: Core (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows Vista
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Vincent Lorenzo CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-05-30 06:53 EDT by Ed Willink CLA
Modified: 2015-06-26 15:27 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ed Willink CLA 2011-05-30 06:53:20 EDT
In RC2 Papyrus contributes an NPE to actions such as selecting a file in the project explorer of closing the SAmple Ecore Editor.

a) why is Papyrus involved at this point?

b) the NPE:

Thread [main] (Suspended (exception NullPointerException))	
	HideEmptyColumnState.refreshState() line: 37	
	HideEmptyColumnState(AbstractToggleStateProvider).selectionChanged(IWorkbenchPart, ISelection) line: 84	
	WindowSelectionService(AbstractSelectionService).fireSelection(IWorkbenchPart, ISelection) line: 156	
	WindowSelectionService(AbstractSelectionService).setActivePart(IWorkbenchPart) line: 282	
	WWinPartService.updateActivePart() line: 135	
	WWinPartService.access$0(WWinPartService) line: 125	
	WWinPartService$WWinListener.partDeactivated(IWorkbenchPartReference) line: 50	
	PartListenerList2$4.run() line: 115	
	SafeRunner.run(ISafeRunnable) line: 42	
	Platform.run(ISafeRunnable) line: 888	
	PartListenerList2.fireEvent(SafeRunnable, IPartListener2, IWorkbenchPartReference, String) line: 55	
	PartListenerList2.firePartDeactivated(IWorkbenchPartReference) line: 113	
	PartService.firePartDeactivated(IWorkbenchPartReference) line: 242	
	PartService.setActivePart(IWorkbenchPartReference) line: 300	
	WorkbenchPagePartList.fireActivePartChanged(IWorkbenchPartReference, IWorkbenchPartReference) line: 57	
	WorkbenchPagePartList(PartList).setActivePart(IWorkbenchPartReference) line: 136	
	WorkbenchPage.setActivePart(IWorkbenchPart, boolean) line: 3636	
	WorkbenchPage.internalActivate(IWorkbenchPart, boolean) line: 691	
	WorkbenchPage.activate(IWorkbenchPart) line: 663	
	WorkbenchPage.makeActive(IWorkbenchPartReference) line: 1324	
	WorkbenchPage.updateActivePart() line: 1304	
	WorkbenchPage.handleDeferredEvents() line: 1496	
	WorkbenchPage.deferUpdates(boolean) line: 1485	
	WorkbenchPage.closeEditors(IEditorReference[], boolean) line: 1459	
	WorkbenchPage.closeEditor(IEditorReference, boolean) line: 1514	
	EditorPane.doHide() line: 61	
	EditorStack(PartStack).close(IPresentablePart) line: 537	
	EditorStack.close(IPresentablePart[]) line: 206	
	PartStack$1.close(IPresentablePart[]) line: 120	
	TabbedStackPresentation$1.handleEvent(TabFolderEvent) line: 83	
	DefaultTabFolder(AbstractTabFolder).fireEvent(TabFolderEvent) line: 269	
	DefaultTabFolder(AbstractTabFolder).fireEvent(int, AbstractTabItem) line: 278	
	DefaultTabFolder.access$1(DefaultTabFolder, int, AbstractTabItem) line: 1	
	DefaultTabFolder$1.closeButtonPressed(CTabItem) line: 71	
	PaneFolder.notifyCloseListeners(CTabItem) line: 631	
	PaneFolder$3.close(CTabFolderEvent) line: 206	
	CTabFolder.onMouse(Event) line: 1598	
	CTabFolder$1.handleEvent(Event) line: 261	
	EventTable.sendEvent(Event) line: 84	
	CTabFolder(Widget).sendEvent(Event) line: 1053	
	Display.runDeferredEvents() line: 4163	
	Display.readAndDispatch() line: 3752	
	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 Ed Willink CLA 2012-02-05 14:39:07 EST
Just seen this woth 0.9 on 3.8M5 when starting up a debug session with no open Papyrus files.
Comment 2 Ed Willink CLA 2012-02-05 14:40:19 EST
And in OnlyCommonColumnsState.

If the activation is needed, it should at least wait till Eclipse has started.
Comment 3 Ed Willink CLA 2012-05-29 16:07:47 EDT
One year on and another RC2, and now this occurs while open a new Eclipse nested workspace:

Thread [main] (Suspended (exception NullPointerException))	
	HideEmptyColumnState.refreshState() line: 37	
	HideEmptyColumnState(AbstractToggleStateProvider).selectionChanged(IWorkbenchPart, ISelection) line: 89	
	SelectionService.notifyListeners(String, IWorkbenchPart, ISelection) line: 140	
	SelectionService.updateSelection(IWorkbenchPart) line: 108	
	WorkbenchPage$E4PartListener.partActivated(MPart) line: 166	
	PartServiceImpl$2.run() line: 190	
	SafeRunner.run(ISafeRunnable) line: 42	
	PartServiceImpl.firePartActivated(MPart) line: 188	
	PartServiceImpl.setPart(MPart) line: 163	
	GeneratedMethodAccessor17.invoke(Object, Object[]) line: not available	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25	
	Method.invoke(Object, Object...) line: 592	
	MethodRequestor.execute() line: 56	
	ContextObjectSupplier$ContextInjectionListener.update(IEclipseContext, int, Object[]) line: 77	
	TrackableComputationExt.update(ContextChangeEvent) line: 106	
	EclipseContext.processScheduled(Set<Scheduled>) line: 308	
	EclipseContext.set(String, Object) line: 322	
	EclipseContext.activate() line: 608	
	EclipseContext.activateBranch() line: 613	
	PartActivationHistory.activate(MPart, boolean) line: 52	
	PartServiceImpl.activate(MPart, boolean, boolean) line: 560	
	PartServiceImpl.activate(MPart, boolean) line: 531	
	ContributedPartRenderer(AbstractPartRenderer).activate(MPart) line: 105	
	ContributedPartRenderer$1.handleEvent(Event) line: 61	
	EventTable.sendEvent(Event) line: 84	
	ContributedPartRenderer$2(Widget).sendEvent(Event) line: 1053	
	ContributedPartRenderer$2(Widget).sendEvent(int, Event, boolean) line: 1077	
	ContributedPartRenderer$2(Widget).sendEvent(int) line: 1058	
	Shell.setActiveControl(Control) line: 1447	
	Shell.WM_MOUSEACTIVATE(int, int) line: 2328	
	Shell(Control).windowProc(int, int, int, int) line: 4572	
	Shell(Canvas).windowProc(int, int, int, int) line: 341	
	Shell(Decorations).windowProc(int, int, int, int) line: 1627	
	Shell.windowProc(int, int, int, int) line: 2069	
	Display.windowProc(int, int, int, int) line: 4989	
	OS.DefWindowProcW(int, int, int, int) line: not available [native method]	
	OS.DefWindowProc(int, int, int, int) line: 2541	
	Composite(Scrollable).callWindowProc(int, int, int, int) line: 80	
	Composite(Control).windowProc(int, int, int, int) line: 4623	
	Display.windowProc(int, int, int, int) line: 4989	
	OS.DefWindowProcW(int, int, int, int) line: not available [native method]	
	OS.DefWindowProc(int, int, int, int) line: 2541	
	Composite(Scrollable).callWindowProc(int, int, int, int) line: 80	
	Composite(Control).windowProc(int, int, int, int) line: 4623	
	Display.windowProc(int, int, int, int) line: 4989	
	OS.DefWindowProcW(int, int, int, int) line: not available [native method]	
	OS.DefWindowProc(int, int, int, int) line: 2541	
	Composite(Scrollable).callWindowProc(int, int, int, int) line: 80	
	Composite(Control).windowProc(int, int, int, int) line: 4623	
	Display.windowProc(int, int, int, int) line: 4989	
	OS.DefWindowProcW(int, int, int, int) line: not available [native method]	
	OS.DefWindowProc(int, int, int, int) line: 2541	
	Composite(Scrollable).callWindowProc(int, int, int, int) line: 80	
	Composite(Control).windowProc(int, int, int, int) line: 4623	
	Display.windowProc(int, int, int, int) line: 4989	
	OS.DefWindowProcW(int, int, int, int) line: not available [native method]	
	OS.DefWindowProc(int, int, int, int) line: 2541	
	Composite(Scrollable).callWindowProc(int, int, int, int) line: 80	
	Composite(Control).windowProc(int, int, int, int) line: 4623	
	Display.windowProc(int, int, int, int) line: 4989	
	OS.DefWindowProcW(int, int, int, int) line: not available [native method]	
	OS.DefWindowProc(int, int, int, int) line: 2541	
	CTabFolder(Scrollable).callWindowProc(int, int, int, int) line: 80	
	CTabFolder(Control).windowProc(int, int, int, int) line: 4623	
	Display.windowProc(int, int, int, int) line: 4989	
	OS.DefWindowProcW(int, int, int, int) line: not available [native method]	
	OS.DefWindowProc(int, int, int, int) line: 2541	
	Composite(Scrollable).callWindowProc(int, int, int, int) line: 80	
	Composite(Control).windowProc(int, int, int, int) line: 4623	
	Display.windowProc(int, int, int, int) line: 4989	
	OS.DefWindowProcW(int, int, int, int) line: not available [native method]	
	OS.DefWindowProc(int, int, int, int) line: 2541	
	ContributedPartRenderer$2(Scrollable).callWindowProc(int, int, int, int) line: 80	
	ContributedPartRenderer$2(Control).windowProc(int, int, int, int) line: 4623	
	Display.windowProc(int, int, int, int) line: 4989	
	OS.DefWindowProcW(int, int, int, int) line: not available [native method]	
	OS.DefWindowProc(int, int, int, int) line: 2541	
	Composite(Scrollable).callWindowProc(int, int, int, int) line: 80	
	Composite(Control).windowProc(int, int, int, int) line: 4623	
	Display.windowProc(int, int, int, int) line: 4989	
	OS.DefWindowProcW(int, int, int, int) line: not available [native method]	
	OS.DefWindowProc(int, int, int, int) line: 2541	
	Tree.callWindowProc(int, int, int, int) line: 1442	
	Tree.windowProc(int, int, int, int) line: 5859	
	Display.windowProc(int, int, int, int) line: 4989	
	OS.CallWindowProcW(int, int, int, int, int) line: not available [native method]	
	OS.CallWindowProc(int, int, int, int, int) line: 2440	
	Tree.callWindowProc(int, int, int, int) line: 1534	
	Tree(Control).windowProc(int, int, int, int) line: 4623	
	Tree.windowProc(int, int, int, int) line: 5958	
	Display.windowProc(int, int, int, int) line: 4989	
	OS.PeekMessageW(MSG, int, int, int, int) line: not available [native method]	
	OS.PeekMessage(MSG, int, int, int, int) line: 3129	
	Display.readAndDispatch() line: 3753	
	PartRenderingEngine$9.run() line: 1021	
	Realm.runWithDefault(Realm, Runnable) line: 332	
	PartRenderingEngine.run(MApplicationElement, IEclipseContext) line: 915	
	E4Workbench.createAndRunUI(MApplicationElement) line: 86	
	Workbench$5.run() line: 585	
	Realm.runWithDefault(Realm, Runnable) line: 332	
	Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 540	
	PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 149	
	IDEApplication.start(IApplicationContext) line: 124	
	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: 592	
	Main.invokeFramework(String[], URL[]) line: 629	
	Main.basicRun(String[]) line: 584	
	Main.run(String[]) line: 1438	
	Main.main(String[]) line: 1414	

At this point there are no projects in the workspace, no editors, so why is Papyrus active?
Comment 4 Ed Willink CLA 2012-12-13 03:06:13 EST
Ping.

Any chance of fixing this? I have to uninstall Papyrus in order to avoid these NPEs when debugging my own code.
Comment 5 Vincent Lorenzo CLA 2012-12-14 08:34:50 EST
R9637 : corrected on branch 0.9.X
R9638 : corrected on trunk

This bug can be marked as closed fixed.
impacted plugins : 
  - oep.infra.table.common
  - oep.infra.table.menu
Comment 6 Ed Willink CLA 2012-12-14 09:20:59 EST
Thanks. (I hope you managed to find all the similar usages.)