Guice Internal Computation Exception

745 views
Skip to first unread message

Pablo Fernandez

unread,
Nov 23, 2009, 2:34:07 PM11/23/09
to google-guice
Hi,

I'm getting this strange exception with the last release of Guice,
while running the maven goal "jetty:run". This thing did not happen
minutes ago when the objects of my Multibinders did not need to be
dependency injected.

Any idea why?

com.google.inject.internal.ComputationException:
com.google.inject.internal.ComputationException:
com.google.inject.internal.cglib.core.CodeGenerationException:
java.lang.reflect.InvocationTargetException-->null
at com.google.inject.internal.MapMaker$StrategyImpl.compute
(MapMaker.java:553)
at com.google.inject.internal.MapMaker$StrategyImpl.compute
(MapMaker.java:419)
at com.google.inject.internal.CustomConcurrentHashMap
$ComputingImpl.get(CustomConcurrentHashMap.java:2041)
at com.google.inject.internal.FailableCache.get(FailableCache.java:
46)
at com.google.inject.ConstructorInjectorStore.get
(ConstructorInjectorStore.java:52)
at com.google.inject.ConstructorBindingImpl.initialize
(ConstructorBindingImpl.java:57)
at com.google.inject.InjectorImpl.initializeBinding(InjectorImpl.java:
377)
at com.google.inject.InjectorImpl.createJustInTimeBinding
(InjectorImpl.java:645)
at com.google.inject.InjectorImpl.createJustInTimeBindingRecursive
(InjectorImpl.java:581)
at com.google.inject.InjectorImpl.getJustInTimeBinding
(InjectorImpl.java:172)
at com.google.inject.InjectorImpl.getBindingOrThrow(InjectorImpl.java:
132)
at com.google.inject.InjectorImpl.getInternalFactory
(InjectorImpl.java:651)
at com.google.inject.FactoryProxy.notify(FactoryProxy.java:48)
at com.google.inject.BindingProcessor.runCreationListeners
(BindingProcessor.java:230)
at com.google.inject.InjectorBuilder.initializeStatically
(InjectorBuilder.java:131)
at com.google.inject.InjectorBuilder.build(InjectorBuilder.java:105)
at com.google.inject.Guice.createInjector(Guice.java:92)
at com.google.inject.Guice.createInjector(Guice.java:69)
at com.google.inject.Guice.createInjector(Guice.java:59)
at com.linkedin.osc.servlet.ConfigListener.getInjector
(ConfigListener.java:11)
at
com.google.inject.servlet.GuiceServletContextListener.contextInitialized
(GuiceServletContextListener.java:43)
at org.mortbay.jetty.handler.ContextHandler.startContext
(ContextHandler.java:548)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
at org.mortbay.jetty.webapp.WebAppContext.startContext
(WebAppContext.java:1250)
at org.mortbay.jetty.handler.ContextHandler.doStart
(ContextHandler.java:517)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:
467)
at org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart
(Jetty6PluginWebAppContext.java:115)
at org.mortbay.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerCollection.doStart
(HandlerCollection.java:152)
at org.mortbay.jetty.handler.ContextHandlerCollection.doStart
(ContextHandlerCollection.java:156)
at org.mortbay.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerCollection.doStart
(HandlerCollection.java:152)
at org.mortbay.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart
(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:224)
at org.mortbay.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:50)
at org.mortbay.jetty.plugin.Jetty6PluginServer.start
(Jetty6PluginServer.java:132)
at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty
(AbstractJettyMojo.java:441)
at org.mortbay.jetty.plugin.AbstractJettyMojo.execute
(AbstractJettyMojo.java:383)
at org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute
(AbstractJettyRunMojo.java:210)
at org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:
184)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo
(DefaultPluginManager.java:443)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals
(DefaultLifecycleExecutor.java:539)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal
(DefaultLifecycleExecutor.java:493)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal
(DefaultLifecycleExecutor.java:463)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures
(DefaultLifecycleExecutor.java:311)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments
(DefaultLifecycleExecutor.java:278)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute
(DefaultLifecycleExecutor.java:143)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:334)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:125)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:272)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:
315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:
430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: com.google.inject.internal.ComputationException:
com.google.inject.internal.cglib.core.CodeGenerationException:
java.lang.reflect.InvocationTargetException-->null
at com.google.inject.internal.MapMaker$StrategyImpl.compute
(MapMaker.java:553)
at com.google.inject.internal.MapMaker$StrategyImpl.compute
(MapMaker.java:419)
at com.google.inject.internal.CustomConcurrentHashMap
$ComputingImpl.get(CustomConcurrentHashMap.java:2041)
at com.google.inject.internal.FailableCache.get(FailableCache.java:
46)
at com.google.inject.ConstructorInjectorStore.get
(ConstructorInjectorStore.java:52)
at com.google.inject.ConstructorBindingImpl.initialize
(ConstructorBindingImpl.java:57)
at com.google.inject.InjectorImpl.initializeBinding(InjectorImpl.java:
377)
at com.google.inject.InjectorImpl.createJustInTimeBinding
(InjectorImpl.java:645)
at com.google.inject.InjectorImpl.createJustInTimeBindingRecursive
(InjectorImpl.java:581)
at com.google.inject.InjectorImpl.getJustInTimeBinding
(InjectorImpl.java:172)
at com.google.inject.InjectorImpl.getBindingOrThrow(InjectorImpl.java:
132)
at com.google.inject.InjectorImpl.getInternalFactory
(InjectorImpl.java:651)
at com.google.inject.InjectorImpl.createParameterInjector
(InjectorImpl.java:707)
at com.google.inject.InjectorImpl.getParametersInjectors
(InjectorImpl.java:695)
at com.google.inject.ConstructorInjectorStore.createConstructor
(ConstructorInjectorStore.java:67)
at com.google.inject.ConstructorInjectorStore.access$000
(ConstructorInjectorStore.java:31)
at com.google.inject.ConstructorInjectorStore$1.create
(ConstructorInjectorStore.java:39)
at com.google.inject.ConstructorInjectorStore$1.create
(ConstructorInjectorStore.java:35)
at com.google.inject.internal.FailableCache$1.apply
(FailableCache.java:35)
at com.google.inject.internal.MapMaker$StrategyImpl.compute
(MapMaker.java:549)
... 58 more
Caused by:
com.google.inject.internal.cglib.core.CodeGenerationException:
java.lang.reflect.InvocationTargetException-->null
at com.google.inject.internal.cglib.core.AbstractClassGenerator.create
(AbstractClassGenerator.java:237)
at com.google.inject.internal.cglib.reflect.FastClass$Generator.create
(FastClass.java:64)
at com.google.inject.internal.BytecodeGen.newFastClass
(BytecodeGen.java:166)
at com.google.inject.DefaultConstructionProxyFactory$1.<init>
(DefaultConstructionProxyFactory.java:54)
at com.google.inject.DefaultConstructionProxyFactory.create
(DefaultConstructionProxyFactory.java:52)
at com.google.inject.ProxyFactory.create(ProxyFactory.java:152)
at com.google.inject.ConstructorInjectorStore.createConstructor
(ConstructorInjectorStore.java:84)
at com.google.inject.ConstructorInjectorStore.access$000
(ConstructorInjectorStore.java:31)
at com.google.inject.ConstructorInjectorStore$1.create
(ConstructorInjectorStore.java:39)
at com.google.inject.ConstructorInjectorStore$1.create
(ConstructorInjectorStore.java:35)
at com.google.inject.internal.FailableCache$1.apply
(FailableCache.java:35)
at com.google.inject.internal.MapMaker$StrategyImpl.compute
(MapMaker.java:549)
... 77 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.google.inject.internal.cglib.core.ReflectUtils.defineClass
(ReflectUtils.java:384)
at com.google.inject.internal.cglib.core.AbstractClassGenerator.create
(AbstractClassGenerator.java:219)
... 88 more
Caused by: java.lang.NoClassDefFoundError: com/google/inject/internal/
cglib/reflect/FastClass
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:703)
... 94 more
Caused by: java.lang.ClassNotFoundException:
com.google.inject.internal.cglib.reflect.FastClass
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:319)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:330)
at java.lang.ClassLoader.loadClass(ClassLoader.java:254)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:402)
... 96 more

Stuart McCulloch

unread,
Nov 23, 2009, 3:20:16 PM11/23/09
to google...@googlegroups.com
On Nov 24, 2009, at 3:34 AM, Pablo Fernandez
<fernande...@gmail.com> wrote:

> Hi,
>
> I'm getting this strange exception with the last release of Guice,
> while running the maven goal "jetty:run". This thing did not happen
> minutes ago when the objects of my Multibinders did not need to be
> dependency injected.
>
> Any idea why?

the stacktrace suggests http://code.google.com/p/google-guice/issues/detail?id=343
> --
>
> You received this message because you are subscribed to the Google
> Groups "google-guice" group.
> To post to this group, send email to google...@googlegroups.com.
> To unsubscribe from this group, send email to google-guice...@googlegroups.com
> .
> For more options, visit this group at http://groups.google.com/group/google-guice?hl=
> .
>
>

Pablo Fernandez

unread,
Nov 23, 2009, 3:58:20 PM11/23/09
to google-guice
That patch seems to be JDK 1.6 or greater only...

I'm running it with Java 1.5 and I get this stacktrace:

java.lang.NoClassDefFoundError: javax/inject/Provider
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:703)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:
124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass
(WebAppClassLoader.java:392)
at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass
(WebAppClassLoader.java:363)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:402)
at com.google.inject.internal.BindingProcessor.<clinit>
(BindingProcessor.java:280)
at com.google.inject.internal.InjectorBuilder.<init>
(InjectorBuilder.java:70)
at com.google.inject.Guice.createInjector(Guice.java:93)
at com.google.inject.Guice.createInjector(Guice.java:70)
at com.google.inject.Guice.createInjector(Guice.java:60)
Caused by: java.lang.ClassNotFoundException: javax.inject.Provider
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:319)
at org.codehaus.classworlds.RealmClassLoader.loadClassDirect
(RealmClassLoader.java:195)
at org.codehaus.classworlds.DefaultClassRealm.loadClass
(DefaultClassRealm.java:255)
at org.codehaus.classworlds.DefaultClassRealm.loadClass
(DefaultClassRealm.java:274)
at org.codehaus.classworlds.RealmClassLoader.loadClass
(RealmClassLoader.java:214)
at java.lang.ClassLoader.loadClass(ClassLoader.java:254)
at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass
(WebAppClassLoader.java:401)
at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass
(WebAppClassLoader.java:363)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:402)
... 56 more


On Nov 23, 6:20 pm, Stuart McCulloch <mccu...@gmail.com> wrote:
> On Nov 24, 2009, at 3:34 AM, Pablo Fernandez  
>
> <fernandezpabl...@gmail.com> wrote:
> > Hi,
>
> > I'm getting this strange exception with the last release of Guice,
> > while running the maven goal "jetty:run". This thing did not happen
> > minutes ago when the objects of my Multibinders did not need to be
> > dependency injected.
>
> > Any idea why?
>
> the stacktrace suggestshttp://code.google.com/p/google-guice/issues/detail?id=343
> ...
>
> read more »

Pablo Fernandez

unread,
Nov 23, 2009, 4:02:38 PM11/23/09
to google-guice
Hey, I'm sorry I got that completely wrong. I downloaded javax.inject
from a maven repo adding this to the pom.xml:

<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>


On Nov 23, 6:58 pm, Pablo Fernandez <fernandezpabl...@gmail.com>
wrote:
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFai lures
> (DefaultLifecycleExecutor.java:311)
>         at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments
> (DefaultLifecycleExecutor.java:278)
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute
> (DefaultLifecycleExecutor.java:143)
>         at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:334)
>         at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:125)
>         at org.apache.maven.cli.MavenCli.main(MavenCli.java:272)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:
> 315)
>         at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
> ...
>
> read more »
Reply all
Reply to author
Forward
0 new messages