Menu

#420 ClassCastException: net.sf.eclipsecs.ui.actions.PurgeCachesAction cannot be cast to org.eclipse.core.commands.IHandler

8.5.0
closed
None
5
2017-12-20
2017-04-13
No

Using eclipsecs 7.6.0.201612142232 on Version: Oxygen Release Milestone 6 (4.7.0 M6)
Build id: 20170316-1528 I noticed this:

java.lang.ClassCastException: net.sf.eclipsecs.ui.actions.PurgeCachesAction cannot be cast to org.eclipse.core.commands.IHandler
at org.eclipse.ui.internal.handlers.HandlerProxy.loadHandler(HandlerProxy.java:350)
at org.eclipse.ui.internal.handlers.HandlerProxy.setEnabled(HandlerProxy.java:231)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.setEnabled(E4HandlerProxy.java:127)
at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:305)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:239)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.setEnabled(HandlerServiceHandler.java:80)
at org.eclipse.core.commands.Command.setEnabled(Command.java:862)
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.canExecute(HandlerServiceImpl.java:179)
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.canExecute(HandlerServiceImpl.java:165)
at org.eclipse.ui.internal.quickaccess.CommandProvider.getElements(CommandProvider.java:80)
at org.eclipse.ui.internal.quickaccess.QuickAccessProvider.getElementsSorted(QuickAccessProvider.java:55)
at org.eclipse.ui.internal.quickaccess.QuickAccessContents.computeMatchingEntries(QuickAccessContents.java:436)
at org.eclipse.ui.internal.quickaccess.QuickAccessContents.refresh(QuickAccessContents.java:143)
at org.eclipse.ui.internal.quickaccess.QuickAccessContents.lambda$2(QuickAccessContents.java:659)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:180)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5225)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1348)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4495)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4080)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1145)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1034)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:680)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:138)
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:388)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
at org.eclipse.equinox.launcher.Main.run(Main.java:1499)
at org.eclipse.equinox.launcher.Main.main(Main.java:1472)

Discussion

  • Andreas Sewe

    Andreas Sewe - 2017-07-18

    Got virtually the same exception under Oxygen.R as well. So it’s not just broken in the milestone:

    Exception:java.lang.ClassCastException: net.sf.eclipsecs.ui.actions.PurgeCachesAction cannot be cast to org.eclipse.core.commands.IHandler
    at org.eclipse.ui.internal.handlers.HandlerProxy.loadHandler(HandlerProxy.java:350)
    at org.eclipse.ui.internal.handlers.HandlerProxy.setEnabled(HandlerProxy.java:231)
    at org.eclipse.ui.internal.handlers.E4HandlerProxy.setEnabled(E4HandlerProxy.java:127)
    at sun.reflect.GeneratedMethodAccessor3.invoke(null:-1)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
    at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:305)
    at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:239)
    at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
    at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.setEnabled(HandlerServiceHandler.java:80)
    at org.eclipse.core.commands.Command.setEnabled(Command.java:862)
    at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.canExecute(HandlerServiceImpl.java:179)
    at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.canExecute(HandlerServiceImpl.java:165)
    at org.eclipse.ui.internal.quickaccess.CommandProvider.getElements(CommandProvider.java:80)
    at org.eclipse.ui.internal.quickaccess.QuickAccessProvider.getElementsSorted(QuickAccessProvider.java:55)
    at org.eclipse.ui.internal.quickaccess.QuickAccessContents.computeMatchingEntries(QuickAccessContents.java:436)
    at org.eclipse.ui.internal.quickaccess.QuickAccessContents.refresh(QuickAccessContents.java:143)
    at org.eclipse.ui.internal.quickaccess.QuickAccessContents.lambda$2(QuickAccessContents.java:659)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:180)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4257)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1502)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1525)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1510)
    at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1314)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4081)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3698)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1044)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
    at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:680)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:151)
    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:388)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1499)

     
  • Lars Koedderitzsch

    I don't seem to hit this error with Oxygen.1a and the latest plugin code. Please try 8.5.0 once it's out.

     
  • Lars Koedderitzsch

    • status: open --> pending
     
  • Andreas Sewe

    Andreas Sewe - 2017-12-20

    Still seeeing this under Eclipse Photon M4 with Eclipse Checkstyle Plugin 8.0.0.201707161819.

    STATUS

    pluginId org.eclipse.ui
    pluginVersion 3.109.100.v20171116-2149
    code 0
    severity 4
    message The proxied handler was the wrong class
    fingerprint 8b7964d9ec64027a6f6ae85132aa1083

    Exception:java.lang.ClassCastException: net.sf.eclipsecs.ui.actions.PurgeCachesAction cannot be cast to org.eclipse.core.commands.IHandler
    at org.eclipse.ui.internal.handlers.HandlerProxy.loadHandler(HandlerProxy.java:350)
    at org.eclipse.ui.internal.handlers.HandlerProxy.setEnabled(HandlerProxy.java:231)
    at org.eclipse.ui.internal.handlers.E4HandlerProxy.setEnabled(E4HandlerProxy.java:127)
    at sun.reflect.GeneratedMethodAccessor8.invoke(null:-1)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
    at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:305)
    at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:239)
    at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:133)
    at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.setEnabled(HandlerServiceHandler.java:80)
    at org.eclipse.core.commands.Command.setEnabled(Command.java:862)
    at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.canExecute(HandlerServiceImpl.java:179)
    at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.canExecute(HandlerServiceImpl.java:165)
    at org.eclipse.ui.internal.quickaccess.CommandProvider.getElements(CommandProvider.java:80)
    at org.eclipse.ui.internal.quickaccess.QuickAccessProvider.getElementsSorted(QuickAccessProvider.java:55)
    at org.eclipse.ui.internal.quickaccess.QuickAccessContents.computeMatchingEntries(QuickAccessContents.java:436)
    at org.eclipse.ui.internal.quickaccess.QuickAccessContents.refresh(QuickAccessContents.java:143)
    at org.eclipse.ui.internal.quickaccess.QuickAccessContents.lambda$2(QuickAccessContents.java:659)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:180)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4270)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1509)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1532)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1517)
    at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1321)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4094)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3711)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1150)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1039)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
    at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:681)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:595)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
    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:388)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1499)

    BUNDLES

    name org.eclipse.core.commands
    version 3.9.100.v20170607-0939

    name org.eclipse.core.databinding.observable
    version 1.6.200.v20171117-0856

    name org.eclipse.core.databinding
    version 1.6.200.v20171109-0840

    name org.eclipse.core.runtime
    version 3.14.0.v20171130-1004

    name org.eclipse.e4.core.commands
    version 0.12.200.v20171124-0847

    name org.eclipse.e4.core.contexts
    version 1.6.100.v20171130-1004

    name org.eclipse.e4.core.di
    version 1.6.200.v20171130-1004

    name org.eclipse.e4.ui.workbench
    version 1.6.0.v20170927-1521

    name org.eclipse.e4.ui.workbench.swt
    version 0.14.200.v20171016-0628

    name org.eclipse.equinox.app
    version 1.3.400.v20150715-1528

    name org.eclipse.equinox.launcher
    version 1.4.0.v20161219-1356

    name org.eclipse.swt
    version 3.107.0.v20171205-0742

    name org.eclipse.ui
    version 3.109.100.v20171116-2149

    name org.eclipse.ui.ide.application
    version 1.2.100.v20171120-1140

    name org.eclipse.ui.ide
    version 3.14.0.v20171204-0830

     
  • Andreas Sewe

    Andreas Sewe - 2017-12-20

    To reproduce: Go to the Quick Access bar in the upper right and enter some text. This causes Eclipse to load the command defintions and triggers the exception, logged as an error in the Error Log.

    I also get a warning in the Error Log that might be related, as the same command is referenced:

    Commands should really have a category: plug-in='net.sf.eclipsecs.ui', id='CheckstylePlugin.PurgeCaches', categoryId='net.sf.eclipsecs'

     
  • Andreas Sewe

    Andreas Sewe - 2017-12-20

    Please try 8.5.0 once it's out.

    FYI, I tried building the current master (fcc935d3ed4e66cbd6777cd48535fb2c24ca449c; it’s still at version 8.0.0, correct?), installed from the locally build update site, and the problem still occurs under Photon M4.

     
  • Lars Koedderitzsch

    • status: pending --> closed
    • assigned_to: Lars Koedderitzsch
    • Group: Future --> 8.5.0
     
  • Andreas Sewe

    Andreas Sewe - 2017-12-20

    Latest changes are in this branch: https://sourceforge.net/p/eclipse-cs/git/ci/adopt_checkstyle_8.5/tree/

    Good to know.

    With your additional information I was able to reproduce and fix the issue.

    Awesome. Thanks.

    Did you also manage to get rid of the warning I mentioned? (Commands should really have a category: plug-in='net.sf.eclipsecs.ui', id='CheckstylePlugin.PurgeCaches', categoryId='net.sf.eclipsecs')

     
  • Lars Koedderitzsch

    Did you also manage to get rid of the warning I mentioned?

    Ah, yes I did, see https://sourceforge.net/p/eclipse-cs/bugs/428/ :-)

     

Log in to post a comment.