| Summary: | Second launch of workspace produces NPE | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] e4 | Reporter: | Paul Webster <pwebster> | ||||||
| Component: | UI | Assignee: | Project Inbox <e4.ui-inbox> | ||||||
| Status: | RESOLVED FIXED | QA Contact: | |||||||
| Severity: | normal | ||||||||
| Priority: | P3 | CC: | emoffatt, remy.suen | ||||||
| Version: | 1.0 | ||||||||
| Target Milestone: | --- | ||||||||
| Hardware: | PC | ||||||||
| OS: | Linux | ||||||||
| Whiteboard: | |||||||||
| Attachments: |
|
||||||||
|
Description
Paul Webster
Created attachment 171443 [details]
3rd attempt
My third attempt opened a workspace with no content in the perspective and more errors (attached).
A sampler:
2010-06-08 14:16:14.054 Log ErrorException while dispatching event org.osgi.service.event.Event [topic=org/eclipse/e4/ui/model/ui/ElementContainer/selectedElement/SET] to handler org.eclipse.e4.ui.services.internal.events.UIEventHandler@2e202e20
java.lang.NullPointerException
at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.createTab(StackRenderer.java:301)
at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer.processContents(LazyStackRenderer.java:124)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:349)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:401)
at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:57)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:349)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:401)
at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:57)
at org.eclipse.e4.ui.workbench.renderers.swt.PerspectiveRenderer.processContents(PerspectiveRenderer.java:58)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:349)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:401)
at org.eclipse.e4.ui.workbench.renderers.swt.PerspectiveStackRenderer.showTab(PerspectiveStackRenderer.java:102)
at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer$1.handleEvent(LazyStackRenderer.java:73)
2010-06-08 14:16:15.413 Log ErrorException while dispatching event org.osgi.service.event.Event [topic=org/eclipse/e4/ui/model/ui/ElementContainer/selectedElement/SET] to handler org.eclipse.e4.ui.services.internal.events.UIEventHandler@7fe97fe9
java.lang.NullPointerException
at org.eclipse.e4.ui.workbench.renderers.swt.ElementReferenceRenderer.createWidget(ElementReferenceRenderer.java:52)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:449)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:337)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:401)
at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.showTab(StackRenderer.java:475)
at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer$1.handleEvent(LazyStackRenderer.java:73)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:41)
at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:188)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:198)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)
at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:139)
at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:78)
at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:39)
at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:73)
at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:58)
at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:380)
at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElement(ElementContainerImpl.java:159)
at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer$3.widgetSelected(StackRenderer.java:420)
Caused by: java.lang.NullPointerException
at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.getContainingContext(ModelServiceImpl.java:161)
at org.eclipse.e4.ui.internal.workbench.swt.AbstractPartRenderer.getContextForParent(AbstractPartRenderer.java:76)
at org.eclipse.e4.ui.internal.workbench.swt.AbstractPartRenderer.getContext(AbstractPartRenderer.java:90)
at org.eclipse.e4.ui.internal.workbench.swt.AbstractPartRenderer.activate(AbstractPartRenderer.java:100)
at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer$ActivationJob.run(StackRenderer.java:89)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
I'm getting a delta failure: at org.eclipse.e4.ui.internal.workbench.EMFModelDeltaSet.apply(EMFModelDeltaSet.java:31) it's eObject.eSet(feature, getAttributeValue()); when the feature is MenuContributions getAttrValue() is returning null ... but that's causing failure later in the EMF ApplicationImpl code, since MenuContributions can be empty, not null. PW Created attachment 171480 [details]
Protection v01
This doesn't fix the original NPE but it prevents it (and subsequent) from destroying the workbench.
PW
(In reply to comment #3) > Created an attachment (id=171480) [details] > Protection v01 Released to HEAD PW With bug 316279 fixed, my inner SDK seems to be restored correctly. But, I now get: !ENTRY org.eclipse.e4.ui.workbench 4 2 2010-06-09 11:08:47.181 !MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.e4.ui.workbench". !STACK 0 java.lang.ClassCastException: java.util.ArrayList incompatible with java.lang.Boolean at org.eclipse.e4.ui.model.application.ui.impl.UIElementImpl.eSet(UIElementImpl.java:550) at org.eclipse.e4.ui.model.application.ui.menu.impl.ItemImpl.eSet(ItemImpl.java:357) at org.eclipse.e4.ui.model.application.ui.menu.impl.MenuItemImpl.eSet(MenuItemImpl.java:118) at org.eclipse.e4.ui.model.application.ui.menu.impl.HandledMenuItemImpl.eSet(HandledMenuItemImpl.java:229) at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eSet(BasicEObjectImpl.java:1081) at org.eclipse.e4.ui.internal.workbench.EMFModelDeltaSet.apply(EMFModelDeltaSet.java:31) at org.eclipse.e4.ui.internal.workbench.CompositeDelta.apply(CompositeDelta.java:35) at org.eclipse.e4.ui.workbench.modeling.ModelDelta.convert(ModelDelta.java:53) at org.eclipse.e4.ui.workbench.modeling.ModelDelta.getAttributeValue(ModelDelta.java:66) at org.eclipse.e4.ui.internal.workbench.EMFModelDeltaSet.apply(EMFModelDeltaSet.java:31) at org.eclipse.e4.ui.internal.workbench.CompositeDelta.apply(CompositeDelta.java:35) at org.eclipse.e4.ui.workbench.modeling.ModelDelta.convert(ModelDelta.java:53) at org.eclipse.e4.ui.internal.workbench.EMFModelDeltaThreeWayDelayedSet.getAttributeValue(EMFModelDeltaThreeWayDelayedSet.java:33) at org.eclipse.e4.ui.internal.workbench.EMFModelDeltaSet.apply(EMFModelDeltaSet.java:31) at org.eclipse.e4.ui.internal.workbench.ModelReconcilingService$1.run(ModelReconcilingService.java:59) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.e4.ui.internal.workbench.ModelReconcilingService.applyDeltas(ModelReconcilingService.java:57) at org.eclipse.e4.ui.internal.workbench.ModelReconcilingService.applyDeltas(ModelReconcilingService.java:38) at org.eclipse.e4.ui.internal.workbench.ResourceHandler.loadMostRecentModel(ResourceHandler.java:210) at org.eclipse.e4.ui.internal.workbench.swt.E4Application.loadApplicationModel(E4Application.java:217) at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:127) at org.eclipse.ui.internal.Workbench$3.run(Workbench.java:528) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:521) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:600) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574) at org.eclipse.equinox.launcher.Main.run(Main.java:1407) at org.eclipse.equinox.launcher.Main.main(Main.java:1383) WARNING: Unknown feature found, reconciliation may fail: Parameter#value WARNING: Unknown feature found, reconciliation may fail: Parameter#name WARNING: Unknown feature found, reconciliation may fail: Parameter#value WARNING: Unknown feature found, reconciliation may fail: Parameter#name WARNING: Unknown feature found, reconciliation may fail: Parameter#value WARNING: Unknown feature found, reconciliation may fail: Parameter#name WARNING: Unknown feature found, reconciliation may fail: Parameter#value WARNING: Unknown feature found, reconciliation may fail: Parameter#name This appears to be fixed now. PW |