Community
Participate
Working Groups
I have a multi-project Xtext setup that needs to be built using maven/tycho. One particular workflow breaks the build with this exception (shortened): [INFO] Fornax Model Workflow Maven2 Plugin V3.3.0 [INFO] 0 ERROR Mwe2Launcher - com.google.inject.internal.ComputationException: com.google.inject.internal.ComputationException: com.google.inject.internal.ComputationException: com.google.inject.internal.ComputationException: com.google.inject.internal.ComputationException: com.google.inject.internal.ComputationException: com.google.inject.internal.ComputationException: com.google.inject.internal.ComputationException: com.google.inject.internal.cglib.core.CodeGenerationException: java.lang.reflect.InvocationTargetException-->null [INFO] com.google.inject.internal.ComputationException: com.google.inject.internal.ComputationException: com.google.inject.internal.ComputationException: com.google.inject.internal.ComputationException: com.google.inject.internal.ComputationException: com.google.inject.internal.ComputationException: com.google.inject.internal.ComputationException: com.google.inject.internal.ComputationException: com.google.inject.internal.ComputationException: com.google.inject.internal.cglib.core.CodeGenerationException: java.lang.reflect.InvocationTargetException-->null [INFO] at com.google.inject.internal.MapMaker$StrategyImpl.compute(MapMaker.java:553) [INFO] at com.google.inject.internal.MapMaker$StrategyImpl.compute(MapMaker.java:419) [INFO] at com.google.inject.internal.CustomConcurrentHashMap$ComputingImpl.get(CustomConcurrentHashMap.java:2041) [INFO] at com.google.inject.internal.FailableCache.get(FailableCache.java:46) [INFO] at com.google.inject.ConstructorInjectorStore.get(ConstructorInjectorStore.java:52) [INFO] at com.google.inject.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:57) [INFO] at com.google.inject.InjectorImpl.initializeBinding(InjectorImpl.java:377) [INFO] at com.google.inject.BindingProcessor$1$1.run(BindingProcessor.java:169) [INFO] at com.google.inject.BindingProcessor.initializeBindings(BindingProcessor.java:224) [INFO] at com.google.inject.InjectorBuilder.initializeStatically(InjectorBuilder.java:120) [INFO] at com.google.inject.InjectorBuilder.build(InjectorBuilder.java:105) [INFO] at com.google.inject.Guice.createInjector(Guice.java:92) [INFO] at com.google.inject.Guice.createInjector(Guice.java:69) [INFO] at com.google.inject.Guice.createInjector(Guice.java:59) [INFO] at org.eclipse.emf.mwe2.language.Mwe2StandaloneSetupGenerated.createInjector(Mwe2StandaloneSetupGenerated.java:34) [INFO] at org.eclipse.emf.mwe2.language.Mwe2StandaloneSetupGenerated.createInjectorAndDoEMFRegistration(Mwe2StandaloneSetupGenerated.java:28) [INFO] at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:71) [INFO] at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:35) ... [INFO] Caused by: java.lang.SecurityException: class "org.eclipse.xtext.common.types.access.impl.ClassURIHelper$$FastClassByGuice$$f33d57c4"'s signer information does not match signer information of other classes in the same package [INFO] at java.lang.ClassLoader.checkCerts(Unknown Source) [INFO] at java.lang.ClassLoader.preDefineClass(Unknown Source) [INFO] at java.lang.ClassLoader.defineClassCond(Unknown Source) [INFO] at java.lang.ClassLoader.defineClass(Unknown Source) [INFO] ... 150 more I could narrow it down to the following: * IT WORKS, when the workflow resides in one of the grammar projects. * IT BREAKS, when the workflow resides in a separate generator project. Both projects are modules of a common parent project. Eventually, I will of course need to invoke the workflow from individual client modules using the DSL. From a forum post I learned that the exception is likely due to bad interaction between Guice's bytecode generator and Java security, and it was suggested to disable this Guice feature. However, since I'm not a Guice expert (and my only contact to Guice is indirectly via Xtext) I have no idea how to configure Guice in this way. Ideally I'd expect Xtext to encapsulate such low-level configuration :)
Since we use Guice without byte code generation now, I mark this one as resolved for 2.3.
Closing all bugs that were set to RESOLVED before Neon.0