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

Bug 358421

Summary: ClassCastException with RecommendersModule
Product: z_Archived Reporter: Martin Skorsky <martin.skorsky>
Component: RecommendersAssignee: Johannes Lerch <lerch>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: lerch, marcel.bruch
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows 7   
Whiteboard:
Attachments:
Description Flags
Error message while using Content Assist. none

Description Martin Skorsky CLA 2011-09-21 10:06:03 EDT
Created attachment 203772 [details]
Error message while using Content Assist.

Starting Eclipse I get the following exception.
This happens not only with Eclipse 4.2M2, also with Eclipse 3.8M2, 3.7.

eclipse.buildId=I20110916-1615
java.version=1.7.0
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments:  -showlocation
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -showlocation -data \Test1

Error
Wed Sep 21 15:49:08 CEST 2011
Unable to execute early startup code for an extension

java.lang.ClassCastException: org.eclipse.recommenders.internal.rcp.RecommendersModule cannot be cast to com.google.inject.Module
	at org.eclipse.recommenders.commons.internal.injection.InjectionDescriptor.createInstance(InjectionDescriptor.java:67)
	at org.eclipse.recommenders.commons.internal.injection.InjectionDescriptor.createModules(InjectionDescriptor.java:47)
	at org.eclipse.recommenders.commons.injection.InjectionService.getInjector(InjectionService.java:46)
	at org.eclipse.recommenders.internal.rcp.EclipseStartupHook.earlyStartup(EclipseStartupHook.java:35)
	at org.eclipse.ui.internal.EarlyStartupRunnable.runEarlyStartup(EarlyStartupRunnable.java:87)
	at org.eclipse.ui.internal.EarlyStartupRunnable.run(EarlyStartupRunnable.java:66)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.Workbench$48.run(Workbench.java:2314)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)


Second error log entry at the same time:
----------------------------------------
eclipse.buildId=I20110916-1615
java.version=1.7.0
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments:  -showlocation
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -showlocation -data \Test1


Error
Wed Sep 21 15:49:08 CEST 2011
Problems occurred when invoking code from plug-in: "org.eclipse.ui.workbench".

java.lang.ClassCastException: org.eclipse.recommenders.internal.rcp.RecommendersModule cannot be cast to com.google.inject.Module
	at org.eclipse.recommenders.commons.internal.injection.InjectionDescriptor.createInstance(InjectionDescriptor.java:67)
	at org.eclipse.recommenders.commons.internal.injection.InjectionDescriptor.createModules(InjectionDescriptor.java:47)
	at org.eclipse.recommenders.commons.injection.InjectionService.getInjector(InjectionService.java:46)
	at org.eclipse.recommenders.internal.rcp.EclipseStartupHook.earlyStartup(EclipseStartupHook.java:35)
	at org.eclipse.ui.internal.EarlyStartupRunnable.runEarlyStartup(EarlyStartupRunnable.java:87)
	at org.eclipse.ui.internal.EarlyStartupRunnable.run(EarlyStartupRunnable.java:66)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.Workbench$48.run(Workbench.java:2314)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)


Using Content Assist I get the attached error message and the error log entry:
eclipse.buildId=I20110916-1615
java.version=1.7.0
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments:  -showlocation
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -showlocation -data \Test1

Error
Wed Sep 21 16:02:16 CEST 2011
The 'Code Recommenders Default Completion Engine' proposal computer from the 'org.eclipse.recommenders.rcp.codecompletion' plug-in did not complete normally. Unable to instantiate the extension.

org.eclipse.core.runtime.CoreException: Plug-in "org.eclipse.recommenders.rcp.codecompletion" was unable to instantiate class "org.eclipse.recommenders.commons.injection.ExtensionFactory".
	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.throwException(RegistryStrategyOSGI.java:194)
	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:186)
	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:905)
	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55)
	at org.eclipse.jdt.internal.ui.text.java.CompletionProposalComputerDescriptor.createComputer(CompletionProposalComputerDescriptor.java:293)
	at org.eclipse.jdt.internal.ui.text.java.CompletionProposalComputerDescriptor.getComputer(CompletionProposalComputerDescriptor.java:260)
	at org.eclipse.jdt.internal.ui.text.java.CompletionProposalComputerDescriptor.sessionStarted(CompletionProposalComputerDescriptor.java:403)
	at org.eclipse.jdt.internal.ui.text.java.CompletionProposalCategory.sessionStarted(CompletionProposalCategory.java:316)
	at org.eclipse.jdt.internal.ui.text.java.ContentAssistProcessor$CompletionListener.assistSessionStarted(ContentAssistProcessor.java:113)
	at org.eclipse.jface.text.contentassist.ContentAssistant.fireSessionBeginEvent(ContentAssistant.java:2212)
	at org.eclipse.jface.text.contentassist.ContentAssistant.prepareToShowCompletions(ContentAssistant.java:1687)
	at org.eclipse.jface.text.contentassist.ContentAssistant.showPossibleCompletions(ContentAssistant.java:1652)
	at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor$AdaptedSourceViewer.doOperation(CompilationUnitEditor.java:183)
	at org.eclipse.ui.texteditor.ContentAssistAction$1.run(ContentAssistAction.java:82)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.ui.texteditor.ContentAssistAction.run(ContentAssistAction.java:80)
	at org.eclipse.ui.texteditor.RetargetTextEditorAction.run(RetargetTextEditorAction.java:237)
	at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
	at org.eclipse.jface.commands.ActionHandler.execute(ActionHandler.java:119)
	at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:68)
	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:56)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:228)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:209)
	at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:123)
	at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:161)
	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.executeCommand(KeyBindingDispatcher.java:283)
	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.press(KeyBindingDispatcher.java:512)
	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.processKeyEvent(KeyBindingDispatcher.java:563)
	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.filterKeySequenceBindings(KeyBindingDispatcher.java:374)
	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.access$0(KeyBindingDispatcher.java:321)
	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher$KeyDownFilter.handleEvent(KeyBindingDispatcher.java:82)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1262)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062)
	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1104)
	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1100)
	at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1509)
	at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4640)
	at org.eclipse.swt.widgets.Canvas.WM_CHAR(Canvas.java:345)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4528)
	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4972)
	at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2533)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3752)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:970)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:886)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:90)
	at org.eclipse.ui.internal.Workbench$3.run(Workbench.java:559)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:519)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
	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:344)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	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:624)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:579)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1431)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1407)
Caused by: java.lang.ClassCastException: org.eclipse.recommenders.internal.rcp.RecommendersModule cannot be cast to com.google.inject.Module
	at org.eclipse.recommenders.commons.internal.injection.InjectionDescriptor.createInstance(InjectionDescriptor.java:67)
	at org.eclipse.recommenders.commons.internal.injection.InjectionDescriptor.createModules(InjectionDescriptor.java:47)
	at org.eclipse.recommenders.commons.injection.InjectionService.getInjector(InjectionService.java:46)
	at org.eclipse.recommenders.commons.injection.ExtensionFactory.<init>(ExtensionFactory.java:28)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at java.lang.Class.newInstance0(Unknown Source)
	at java.lang.Class.newInstance(Unknown Source)
	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:184)
	... 72 more
Comment 1 Marcel Bruch CLA 2011-09-22 14:12:24 EDT
This one is tough. The recommenders module is defined as 

"public class RecommendersModule extends AbstractModule implements Module {"

We ran Code Recommenders on a fresh Win7 64b, Java 7, Eclipse 3.7 installation but weren't able to reproduce this error. 

Are your 4.2,3.8,3.7 instances fresh installations - or are there other plug-ins installed?

Thanks,
Marcel
Comment 2 Martin Skorsky CLA 2011-09-23 05:17:52 EDT
(In reply to comment #1)
> This one is tough. The recommenders module is defined as 
> 
> "public class RecommendersModule extends AbstractModule implements Module {"
> 
> We ran Code Recommenders on a fresh Win7 64b, Java 7, Eclipse 3.7 installation
> but weren't able to reproduce this error. 
> 
> Are your 4.2,3.8,3.7 instances fresh installations - or are there other
> plug-ins installed?
> 
> Thanks,
> Marcel

Hi Marcel,

the 4.2, 3.8, 3.7 installations are no fresh installations. Lots of features installed.
Are other features which use com.google.inject.Module candidates for a conflict?

By 'fresh installation' you mean Eclipse SDK & Code Recommenders?

Best regards,
Martin
Comment 3 Marcel Bruch CLA 2011-09-26 01:13:47 EDT
(In reply to comment #2)
> Are other features which use com.google.inject.Module candidates for a
> conflict?


I'm currently wandering around in the dark. The class module definitely implements Module. Thus it might be that we have a hidden version problem. But I can't say for sure yet. Is there a Google Guice/Google Inject plug-in in your installation?
 
> By 'fresh installation' you mean Eclipse SDK & Code Recommenders?

exactly. Best: even use a fresh workspace for testing. If it runs in a fresh Eclipse + Workspace we can step by step reinvestigate (reuse an existing workspace, installing more plug-ins, etc.) Your assistance on this is greatly appreciated. I'd like to fix this as soon as possible!
Comment 4 Martin Skorsky CLA 2011-09-28 11:12:34 EDT
I've found the reason for this:
In my installation I had
com.google.gson 1.6.0.v201101131530
com.google.gson 1.7.1.201108301413
com.google.inject 2.0.0.v201105231817
com.google.inject 3.0.0.201108301413

Disable the earlier versions of these two bundle and it works!
Hope this helps.
Comment 5 Marcel Bruch CLA 2011-09-28 12:42:37 EDT
(In reply to comment #4)
> I've found the reason for this:
> In my installation I had
> com.google.gson 1.6.0.v201101131530
> com.google.gson 1.7.1.201108301413
> com.google.inject 2.0.0.v201105231817
> com.google.inject 3.0.0.201108301413
> 
> Disable the earlier versions of these two bundle and it works!
> Hope this helps.

Thanks! We'll have a closer look at this to see how we can get around this issue in the future.
Thanks for your time!


Since you use java7: Please note that the bytecode toolkit we use does yet not support the analysis of classes complied with java7. A request has been sent but not yet addressed.
Comment 6 Martin Skorsky CLA 2011-09-30 03:56:21 EDT
additional info:
I guess com.google.inject 2.0.0.v201105231817 is required by XText.
Unfortunately, com.google.inject 2.0.0 has version 1.2 on the packages, but com.google.inject 3.0.0 has no version on the packages and the API changed. So importing packages does not help to get the correct version.
Comment 7 Martin Skorsky CLA 2011-09-30 08:43:24 EDT
additional info:
org.eclipse.mylyn.hudson.core requires package com.google.gson_1.6.0.
Comment 8 Johannes Lerch CLA 2011-10-06 02:56:25 EDT
Hopefully we fixed that issue. We are still unable to reproduce the error so we would apreciate if you could test that it works for you now. 
Note that the bugfix is only available on the head update-site yet.
Comment 9 Martin Skorsky CLA 2011-10-06 06:40:46 EDT
What is the URL of the head update site?
Was the fix changing code or is it a change in the bundle manifests to get the correct prerequisites?
Comment 10 Johannes Lerch CLA 2011-10-06 06:52:52 EDT
(In reply to comment #9)
> What is the URL of the head update site?
http://download.eclipse.org/recommenders/updates/head/

> Was the fix changing code or is it a change in the bundle manifests to get the
> correct prerequisites?
We removed all direct dependencies to google.inject and replaced them with the dependency to our commons.injections bundle which reexports google.inject now. That should force all bundles to use the same version.
Comment 11 Martin Skorsky CLA 2011-10-06 10:33:39 EDT
Now with     Code Recommenders: Intelligent Code Completion (Incubation)	0.3.0.v20111006-1302-b630 I get the following error log entry. Had to in uninstall the Recommenders feature to get the Java Editor working.

eclipse.buildId=I20111004-2000
java.version=1.7.0_02-ea
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments:  -showlocation
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -showlocation -data D:\Workspaces\ExxHEAD

Error
Thu Oct 06 14:39:39 CEST 2011
Problems occurred when invoking code from plug-in: "org.eclipse.e4.ui.workbench.swt".

org.eclipse.e4.core.di.InjectionException: java.lang.NullPointerException
	at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:63)
	at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:838)
	at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:818)
	at org.eclipse.e4.core.internal.di.InjectorImpl.disposed(InjectorImpl.java:365)
	at org.eclipse.e4.core.internal.di.Requestor.disposed(Requestor.java:119)
	at org.eclipse.e4.core.internal.contexts.ContextObjectSupplier$ContextInjectionListener.update(ContextObjectSupplier.java:65)
	at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(TrackableComputationExt.java:106)
	at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.handleInvalid(TrackableComputationExt.java:69)
	at org.eclipse.e4.core.internal.contexts.EclipseContext.dispose(EclipseContext.java:221)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.clearContext(PartRenderingEngine.java:852)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeRemoveGui(PartRenderingEngine.java:833)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$3(PartRenderingEngine.java:756)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$8.run(PartRenderingEngine.java:751)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.removeGui(PartRenderingEngine.java:736)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$1.handleEvent(PartRenderingEngine.java:137)
	at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:41)
	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:180)
	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150)
	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4683)
	at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:182)
	at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:38)
	at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:197)
	at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:197)
	at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
	at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:135)
	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:81)
	at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:55)
	at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:380)
	at org.eclipse.e4.ui.model.application.ui.impl.UIElementImpl.setToBeRendered(UIElementImpl.java:290)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.hidePart(PartServiceImpl.java:1068)
	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.hidePart(PartServiceImpl.java:1007)
	at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.closePart(StackRenderer.java:699)
	at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.access$7(StackRenderer.java:684)
	at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer$6.close(StackRenderer.java:651)
	at org.eclipse.e4.ui.widgets.CTabFolder.onMouse(CTabFolder.java:1787)
	at org.eclipse.e4.ui.widgets.CTabFolder$1.handleEvent(CTabFolder.java:275)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:972)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:888)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:90)
	at org.eclipse.ui.internal.Workbench$3.run(Workbench.java:565)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:520)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
	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:352)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	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:624)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:579)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1431)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1407)
Caused by: java.lang.NullPointerException
	at org.eclipse.ui.internal.PopupMenuExtender.dispose(PopupMenuExtender.java:546)
	at org.eclipse.ui.internal.PartSite.dispose(PartSite.java:316)
	at org.eclipse.ui.internal.EditorSite.dispose(EditorSite.java:128)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.disposeSite(CompatibilityPart.java:341)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor.disposeSite(CompatibilityEditor.java:95)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.invalidate(CompatibilityPart.java:180)
	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.destroy(CompatibilityPart.java:326)
	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:56)
	... 66 more
Comment 12 Johannes Lerch CLA 2011-10-06 11:05:37 EDT
Do you have those problems also in eclipse 3.7? Your stack trace looks like we have some problems with the injection framework of e4. Currently we are not developing for e4, we need to have a closer look on how we can merge both injection frameworks in further drops. Unfortunatly I can not say when we will reach e4 compatibility.
Comment 13 Martin Skorsky CLA 2011-10-07 08:55:15 EDT
In Eclipse 3.7 it works now. Got com.google.inject_3.0.0.201110042205 in the installation, which contains version 1.3.0 of the exported packages.
Comment 14 Johannes Lerch CLA 2011-10-07 09:33:15 EDT
Thanks for verification. I will close this bug now as we will track e4 compatibility in our backlog.
Comment 15 Marcel Bruch CLA 2012-02-02 01:36:10 EST
FWIW, Recommenders now works with Eclipse 3.7, 3.8M5, and 4.2M5.  It should work nicely with Xtext and Xtend - we have this setup working on our development machines.


Update site for 3.8 and 4.2 (same code base at the moment):

http://download.eclipse.org/recommenders/updates/dev/e42/
Comment 16 Marcel Bruch CLA 2012-02-02 01:41:38 EST
Closing this issue. Please give latest dev build (v0.5) a try:

http://download.eclipse.org/recommenders/updates/dev/e37/
http://download.eclipse.org/recommenders/updates/dev/e42/
Comment 17 Marcel Bruch CLA 2012-02-02 01:41:55 EST
Closing this issue. Please give latest dev build (v0.5) a try:

http://download.eclipse.org/recommenders/updates/dev/e37/
http://download.eclipse.org/recommenders/updates/dev/e42/