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

Bug 449007

Summary: Null Pointer Exception when re-opening the VSM editor's Properties View
Product: [Modeling] Sirius Reporter: Phil Beauvoir <p.beauvoir>
Component: DiagramAssignee: Pierre-Charles David <pierre-charles.david>
Status: CLOSED FIXED QA Contact: Florian Barbin <florian.barbin>
Severity: major    
Priority: P3 CC: florian.barbin, pierre-charles.david, steve.monnier
Version: 1.0.1Keywords: triaged
Target Milestone: 4.1.2   
Hardware: All   
OS: All   
See Also: https://git.eclipse.org/r/84344
https://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=2ac87b5afcbe4b3df70f23eaff97e65a8e6fb40f
https://git.eclipse.org/r/85874
https://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=6291660c788a37b37862d352f62e65a0d51bb6be
Whiteboard: needtest

Description Phil Beauvoir CLA 2014-10-27 14:48:50 EDT
(This bug is also in Sirius 2.0.0)

Eclipse 4.4.1.
Windows 8.1

1. In Eclipse, ensure the Properties View is closed.
2. In the Sirius Specification Editor, right-click and select "Show Properties View"
3. Reselect the focus on the Sirius Specification Editor

A NPE Error dialog will appear and keep appearing when you try to select another View.

Stack trace:

java.lang.NullPointerException
	at org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage.createControl(TabbedPropertySheetPage.java:389)
	at org.eclipse.ui.views.properties.PropertySheet.doCreatePage(PropertySheet.java:213)
	at org.eclipse.ui.part.PageBookView.createPage(PageBookView.java:422)
	at org.eclipse.ui.part.PageBookView.partActivated(PageBookView.java:768)
	at org.eclipse.ui.views.properties.PropertySheet.partActivated(PropertySheet.java:325)
	at org.eclipse.ui.part.PageBookView$4.partActivated(PageBookView.java:1076)
	at org.eclipse.ui.internal.WorkbenchPage$17.run(WorkbenchPage.java:4870)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.WorkbenchPage.firePartActivated(WorkbenchPage.java:4867)
	at org.eclipse.ui.internal.WorkbenchPage.access$18(WorkbenchPage.java:4846)
	at org.eclipse.ui.internal.WorkbenchPage$E4PartListener.partActivated(WorkbenchPage.java:210)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl$3.run(PartServiceImpl.java:236)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.firePartActivated(PartServiceImpl.java:233)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:684)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:615)
	at org.eclipse.e4.ui.internal.workbench.swt.AbstractPartRenderer.activate(AbstractPartRenderer.java:106)
	at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer$1.handleEvent(ContributedPartRenderer.java:61)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1085)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1070)
	at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:1453)
	at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:1416)
	at org.eclipse.swt.widgets.Control.sendFocusEvent(Control.java:2855)
	at org.eclipse.swt.widgets.Widget.wmSetFocus(Widget.java:2425)
	at org.eclipse.swt.widgets.Control.WM_SETFOCUS(Control.java:5236)
	at org.eclipse.swt.widgets.Tree.WM_SETFOCUS(Tree.java:7132)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4680)
	at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:6024)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:5023)
	at org.eclipse.swt.internal.win32.OS.SetFocus(Native Method)
	at org.eclipse.swt.widgets.Control.forceFocus(Control.java:1097)
	at org.eclipse.swt.widgets.Control.setFocus(Control.java:3322)
	at org.eclipse.swt.widgets.Composite.setFocus(Composite.java:1041)
	at org.eclipse.emf.common.ui.ViewerPane.requestActivation(ViewerPane.java:232)
	at org.eclipse.sirius.editor.editorPlugin.SiriusEditor$8.requestActivation(SiriusEditor.java:843)
	at org.eclipse.emf.common.ui.ViewerPane.setFocus(ViewerPane.java:241)
	at org.eclipse.sirius.editor.editorPlugin.SiriusEditor.setFocus(SiriusEditor.java:1186)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.delegateSetFocus(CompatibilityPart.java:191)
	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.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:247)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:253)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:225)
	at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:107)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.focusGui(PartRenderingEngine.java:795)
	at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer$2.setFocus(ContributedPartRenderer.java:100)
	at org.eclipse.swt.custom.CTabItem.setFocus(CTabItem.java:332)
	at org.eclipse.swt.custom.CTabFolder.setFocus(CTabFolder.java:2555)
	at org.eclipse.swt.widgets.Control.fixFocus(Control.java:1052)
	at org.eclipse.swt.widgets.Control.setVisible(Control.java:3818)
	at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3098)
	at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3106)
	at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1794)
	at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:283)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4172)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3761)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
	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:648)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
Comment 1 Eclipse Genie CLA 2016-11-02 10:14:33 EDT
New Gerrit change created: https://git.eclipse.org/r/84344
Comment 3 Pierre-Charles David CLA 2016-11-24 09:20:37 EST
Fixed, but needs a non-regression test before this can be closed.
Comment 4 Eclipse Genie CLA 2016-11-28 10:07:33 EST
New Gerrit change created: https://git.eclipse.org/r/85874
Comment 5 Florian Barbin CLA 2016-12-01 10:21:03 EST
Verified on Sirius 4.1.2.201612011000.
Comment 6 Pierre-Charles David CLA 2016-12-01 15:30:59 EST
*** Bug 496182 has been marked as a duplicate of this bug. ***
Comment 7 Pierre-Charles David CLA 2016-12-08 11:13:08 EST
Available in Sirius 4.1.2 (see https://wiki.eclipse.org/Sirius/4.1.2 for details).