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

Bug 496182

Summary: NPE in the legacy TabbedPropertySheet when reopening the Properties view
Product: [Modeling] Sirius Reporter: Pierre-Charles David <pierre-charles.david>
Component: PropertiesAssignee: Project Inbox <sirius.properties-inbox>
Status: CLOSED DUPLICATE QA Contact:
Severity: normal    
Priority: P3 CC: stephane.begaudeau, steve.monnier
Version: unspecifiedKeywords: triaged
Target Milestone: ---   
Hardware: All   
OS: All   
URL: https://tuleap.eclipse.org/plugins/tracker/?aid=501
Whiteboard:
Attachments:
Description Flags
Sample project to reproduce the bug none

Description Pierre-Charles David CLA 2016-06-15 09:52:47 EDT
Steps to reproduce:

1. Make sure the Sirius properties view support is installed, and the "Properties" view is open/visible.
2. Import the attached project.
3. Open the "demo.odesign" VSM.
4. Open the session in roadmap.aird and open the diagram inside. Select an element on it: the "Properties" view shows the "General" tab computed by the default rules.
5. Close the "Properties" view.
6. Got to the editor opened on the "demo.odesign" VSM .
7. Open the "Properties" view (Window > Show view... > Properties).

An error dialog opens with NPEs in the org.eclipse.ui.views.properties.tabbed framework. There are at least 3 initally (reproduced below), but continuing to interact with the editors (or trying) causes more error dialogs to popup.

The following are the (truncated) stacks of the 3 separate errors which are initially repoerted right when the "Properties" view is re-opened on step 7.

java.lang.NullPointerException
	at org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage.createControl(TabbedPropertySheetPage.java:388)
	at org.eclipse.ui.views.properties.PropertySheet.doCreatePage(PropertySheet.java:210)
	at org.eclipse.ui.part.PageBookView.createPage(PageBookView.java:400)
	at org.eclipse.ui.part.PageBookView.partActivated(PageBookView.java:743)
	at org.eclipse.ui.views.properties.PropertySheet.partActivated(PropertySheet.java:361)
	at org.eclipse.ui.part.PageBookView.showBootstrapPart(PageBookView.java:926)
	at org.eclipse.ui.part.PageBookView.createPartControl(PageBookView.java:484)
	at org.eclipse.ui.views.properties.PropertySheet.createPartControl(PropertySheet.java:158)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPartControl(CompatibilityPart.java:151)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityView.createPartControl(CompatibilityView.java:143)

java.lang.NullPointerException
	at org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage.handlePartActivated(TabbedPropertySheetPage.java:319)
	at org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage$1.partActivated(TabbedPropertySheetPage.java:117)
	at org.eclipse.ui.internal.PartService$1.run(PartService.java:84)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.PartService.partActivated(PartService.java:81)
	at org.eclipse.ui.internal.WorkbenchWindow$WWinPartService.partActivated(WorkbenchWindow.java:3002)
	at org.eclipse.ui.internal.WorkbenchPage$14.run(WorkbenchPage.java:4990)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.WorkbenchPage.firePartActivated(WorkbenchPage.java:4987)
	at org.eclipse.ui.internal.WorkbenchPage.access$19(WorkbenchPage.java:4975)
	at org.eclipse.ui.internal.WorkbenchPage$E4PartListener.partActivated(WorkbenchPage.java:210)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl$3.run(PartServiceImpl.java:250)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.firePartActivated(PartServiceImpl.java:247)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:757)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:682)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:677)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.showPart(PartServiceImpl.java:1205)
	at org.eclipse.ui.internal.WorkbenchPage.showPart(WorkbenchPage.java:1283)
	at org.eclipse.ui.internal.WorkbenchPage.busyShowView(WorkbenchPage.java:1274)

org.eclipse.swt.SWTException: Widget is disposed
	at org.eclipse.swt.SWT.error(SWT.java:4533)
	at org.eclipse.swt.SWT.error(SWT.java:4448)
	at org.eclipse.swt.SWT.error(SWT.java:4419)
	at org.eclipse.swt.widgets.Widget.error(Widget.java:483)
	at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:420)
	at org.eclipse.swt.widgets.Control.computeSize(Control.java:734)
	at org.eclipse.ui.part.PageBook$PageBookLayout.computeSize(PageBook.java:51)
	at org.eclipse.swt.widgets.Composite.computeSizeInPixels(Composite.java:240)
	at org.eclipse.swt.widgets.Control.computeSize(Control.java:739)
	at org.eclipse.swt.layout.GridData.computeSize(GridData.java:491)
	at org.eclipse.swt.layout.GridLayout.layout(GridLayout.java:221)
	at org.eclipse.swt.layout.GridLayout.layout(GridLayout.java:197)
	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1716)
	at org.eclipse.swt.widgets.Composite.setBounds(Composite.java:1502)
	at org.eclipse.swt.widgets.Control.setBounds(Control.java:931)
	at org.eclipse.swt.layout.FillLayout.layout(FillLayout.java:219)
	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1716)
	at org.eclipse.swt.widgets.Composite.setBounds(Composite.java:1502)
	at org.eclipse.swt.widgets.Control.setBounds(Control.java:931)
	at org.eclipse.swt.layout.FillLayout.layout(FillLayout.java:204)
	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1716)
	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1722)
	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1722)
	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1722)
	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1722)
	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1722)
	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1722)
	at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1722)
	at org.eclipse.swt.widgets.Composite.setLayoutDeferred(Composite.java:1561)
	at org.eclipse.swt.widgets.Display.runDeferredLayouts(Display.java:4566)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4119)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1119)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
Comment 1 Pierre-Charles David CLA 2016-06-15 09:54:06 EDT
Created attachment 262461 [details]
Sample project to reproduce the bug
Comment 2 Pierre-Charles David CLA 2016-06-22 04:42:23 EDT
The first stack looks strangely similar to the one in bug #449007, which was reported on Sirius 1.0.1 and has absolutely nothing to do with the new Properties View support. When I reported this one it seemed like I could only reproduce it with properties view supported enabled, but maybe the bug is not systematic and it was just a coincidence.
Comment 3 Pierre-Charles David CLA 2016-12-01 15:30:59 EST

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