spring-loaded
spring-loaded copied to clipboard
RuntimeException during startup: Method code too large!
During start up of my application i see a RuntimeException at org.springsource.loaded.agent.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:104) cause by java.lang.RuntimeException: Method code too large!
java.lang.RuntimeException: Reloading agent exited via exception, please raise a jira
at org.springsource.loaded.agent.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:104)
at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:424)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:415)
at runjettyrun.ProjectClassLoader.loadClass(ProjectClassLoader.java:88)
at de.dpx.hunter.business.core.i18n.SmsI18nKeys8.
The max size for code in a method is 64k. We add a lot of byte code during load time as the types are modified. If you have big methods already, the limit can get blown. This can be properly handled by breaking the method into pieces at an appropriate boundary but unfortunately right now it is not handled.
I get this exception when I run on a certain computer, but not when the same code is run on many other computers. Any ideas why that would happen?
| Error java.lang.RuntimeException: Reloading agent exited via exception, please raise a jira
| Error at org.springsource.loaded.agent.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:104)
| Error at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
| Error at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:424)
| Error at java.lang.ClassLoader.defineClass1(Native Method)
| Error at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
| Error at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
| Error at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
| Error at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
| Error at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
| Error at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
| Error at java.security.AccessController.doPrivileged(Native Method)
| Error at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
| Error at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
| Error at java.lang.ClassLoader.loadClass(ClassLoader.java:412)
| Error at org.grails.plugins.tomcat.ParentDelegatingClassLoader.loadClass(ParentDelegatingClassLoader.java)
| Error at java.lang.ClassLoader.loadClass(ClassLoader.java:412)
| Error at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:655)
| Error at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:765)
| Error at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:753)
| Error at org.codehaus.groovy.grails.commons.DefaultGrailsApplication.<init>(DefaultGrailsApplication.java:123)
| Error at org.codehaus.groovy.grails.commons.GrailsApplicationFactoryBean.afterPropertiesSet(GrailsApplicationFactoryBean.java:99)
| Error at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1612)
| Error at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1549)
| Error at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
| Error at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475)
| Error at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
| Error at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228
)
| Error at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
| Error at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
| Error at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:684)
| Error at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:760)
| Error at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)
| Error at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403)
| Error at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
| Error at org.codehaus.groovy.grails.web.context.GrailsContextLoaderListener.initWebApplicationContext(GrailsContextLoaderListener.java:71)
| Error at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
| Error at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4992)
| Error at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5490)
| Error at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
| Error at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575)
| Error at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565)
| Error at java.util.concurrent.FutureTask.run(FutureTask.java:262)
| Error at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
| Error at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
| Error at java.lang.Thread.run(Thread.java:745)
| Error Caused by: java.lang.RuntimeException: Method code too large!
| Error at sl.org.objectweb.asm.MethodWriter.a(Unknown Source)
| Error at sl.org.objectweb.asm.ClassWriter.toByteArray(Unknown Source)
| Error at org.springsource.loaded.ReloadableType$MergedRewrite$ChainedAdapters.getBytes(ReloadableType.java:872)
| Error at org.springsource.loaded.ReloadableType$MergedRewrite.rewrite(ReloadableType.java:852)
| Error at org.springsource.loaded.ReloadableType.rewriteCallSitesAndDefine(ReloadableType.java:825)
| Error at org.springsource.loaded.ReloadableType.<init>(ReloadableType.java:155)
| Error at org.springsource.loaded.TypeRegistry.addType(TypeRegistry.java:926)
| Error at org.springsource.loaded.agent.SpringLoadedPreProcessor.preProcess(SpringLoadedPreProcessor.java:298)
| Error at org.springsource.loaded.agent.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:102)
| Error ... 44 more
Anyone know of a fix? I am also getting this issue and I really don't have very large methods anywhere. Anyone have any good debugging tips?
Hi everyone! Is anybody know how to fix this problem?