This Bugzilla instance is deprecated, and most Eclipse projects now use GitHub or Eclipse GitLab. Please see the deprecation plan for details.
Bug 422971 - [Workbench] ClassCastException: HandlerProcessingAddon casts an MHandlerContainer to an MContext without check
Summary: [Workbench] ClassCastException: HandlerProcessingAddon casts an MHandlerConta...
Status: VERIFIED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 4.3.1   Edit
Hardware: PC Windows 7
: P3 normal (vote)
Target Milestone: 4.3.2   Edit
Assignee: Paul Webster CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 423852 (view as bug list)
Depends on: 422034
Blocks:
  Show dependency tree
 
Reported: 2013-12-02 11:05 EST by Paul Webster CLA
Modified: 2014-01-30 15:16 EST (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Webster CLA 2013-12-02 11:05:03 EST
Backport to 4.3.2

+++ This bug was initially created as a clone of Bug #422034 +++

The HandlerProcessingAddon casts an MHandlerContainer to an MContext without checking if the MHandlerContainer is of type MContext. 

As this is true for most of the classes implementing MHandlerContainer, it is not true for all. One example is MPartDescriptor. The HandlerProcessingAddon fails with an ClassCastException if one removes an MHandler from an MPartDescriptor.


For 4.3.1 the stacktrace is as follows:
java.lang.ClassCastException: org.eclipse.e4.ui.model.application.descriptor.basic.impl.PartDescriptorImpl cannot be cast to org.eclipse.e4.ui.model.application.ui.MContext
	at org.eclipse.e4.ui.internal.workbench.addons.HandlerProcessingAddon$1.handleEvent(HandlerProcessingAddon.java:88) ~[na:na]
	at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:41) ~[na:na]
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) ~[na:na]
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135) ~[na:na]
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4145) ~[na:na]
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3762) ~[na:na]
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113) ~[na:na]
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) ~[na:na]
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997) ~[na:na]
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:138) ~[na:na]
	at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:162) ~[na:na]
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) ~[na:na]
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) ~[na:na]
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) ~[na:na]
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354) ~[na:na]
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181) ~[na:na]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_07]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_07]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_07]
	at java.lang.reflect.Method.invoke(Method.java:601) ~[na:1.7.0_07]
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636) ~[org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar:na]
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591) ~[org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar:na]
	at org.eclipse.equinox.launcher.Main.run(Main.java:1450) ~[org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar:na]
Comment 1 Paul Webster CLA 2013-12-02 12:49:30 EST
Hi Paul, when you get a chance could you please review https://git.eclipse.org/r/#/c/19039

PW
Comment 3 Paul Webster CLA 2013-12-11 13:53:40 EST
*** Bug 423852 has been marked as a duplicate of this bug. ***
Comment 4 Paul Webster CLA 2014-01-30 15:16:47 EST
In 4.3.2.M20140129-0800
PW