Experiencing frequent java.lang.OutOfMemoryError: PermGen space errors

862 views
Skip to first unread message

Scott Murphy

unread,
Oct 15, 2011, 7:56:16 AM10/15/11
to Gaelyk
Could this have to do with the fact that groovlets and gtpl files are
not compiled?

If you keep running a groovlet over and over, will you eventually fill
the PermGen space?

Guillaume Laforge

unread,
Oct 16, 2011, 3:33:19 PM10/16/11
to gae...@googlegroups.com
Hi Scott,

You're getting OOME / PermGen errors in production or in development?

Guillaume


--
You've received this message because you've subscribed to the Gaelyk Google Group.
To send an email to the group, please write to: gae...@googlegroups.com
To unsuscribe from this group: gaelyk+un...@googlegroups.com
To show more options: http://groups.google.fr/group/gaelyk?hl=en



--
Guillaume Laforge
Groovy Project Manager
SpringSource, a division of VMware


Scott Murphy

unread,
Oct 21, 2011, 10:31:13 AM10/21/11
to Gaelyk
Hi Guillaume,

I am getting them in production.

I was getting them in development, but was able to tweak the startup
settings.
> Twitter: @glaforge <http://twitter.com/glaforge>
> Google+:http://gplus.to/glaforge

Guillaume Laforge

unread,
Oct 21, 2011, 10:37:29 AM10/21/11
to gae...@googlegroups.com
Groovlets and templates should be compiled once, the first time they are accessed.
So it's weird to hear about PermGen issues in production -- whether in development that could happen since you reload for each change you make.

There might be some reloading issues, in the Groovy script engine.
Someone raised an issue about that again recently.
Perhaps that's related.

Could you show a stacktrace that you get, in case there's more information than the OOME?

Guillaume

Scott Murphy

unread,
Oct 22, 2011, 6:20:21 AM10/22/11
to Gaelyk
Should I try upgrading my version of Groovy? Currently I am running
1.8.1.

Not really much on this one:

2011-10-22 01:48:32.364 /images-photography/wildlife/mammals/lens-or-
nut-4670199 500 2952ms 3430cpu_ms 0kb Mozilla/5.0 (Windows NT 6.1;
WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202
Safari/535.1
178.156.169.112 - - [22/Oct/2011:01:48:32 -0700] "GET /images-
photography/wildlife/mammals/lens-or-nut-4670199 HTTP/1.1" 500 0
"http://www.pixoto.com/images/leaderboard/photography/wildlife"
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like
Gecko) Chrome/14.0.835.202 Safari/535.1" "www.pixoto.com" ms=2953
cpu_ms=3430 api_cpu_ms=0 cpm_usd=0.095381 exit_code=104
throttle_code=1 instance=00c61b117c6c46abc6d500b05df5171067b1
C 2011-10-22 01:48:32.344
Uncaught exception from servlet
java.lang.OutOfMemoryError: PermGen space
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Class.java:2308)
at java.lang.Class.getDeclaredField(Class.java:1897)
at
com.google.apphosting.runtime.jetty.RpcConnection.getEventHandler(RpcConnection.java:
79)
at
com.google.apphosting.runtime.jetty.RpcConnection.<init>(RpcConnection.java:
49)
at
com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:
99)
at com.google.apphosting.runtime.JavaRuntime
$RequestRunnable.run(JavaRuntime.java:393)
at com.google.tracing.TraceContext
$TraceContextRunnable.runInContext(TraceContext.java:449)
at com.google.tracing.TraceContext$TraceContextRunnable
$1.run(TraceContext.java:455)
at com.google.tracing.TraceContext.runInContext(TraceContext.java:
695)
at com.google.tracing.TraceContext
$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:
333)
at com.google.tracing.TraceContext
$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:
325)
at com.google.tracing.TraceContext
$TraceContextRunnable.run(TraceContext.java:453)
at com.google.apphosting.runtime.ThreadGroupPool
$PoolEntry.run(ThreadGroupPool.java:160)
at java.lang.Thread.run(Thread.java:679)
W 2011-10-22 01:48:32.345
A serious problem was encountered with the process that handled this
request, causing it to exit. This is likely to cause a new process to
be used for the next request to your application. If you see this
message frequently, you may be throwing exceptions during the
initialization of your application. (Error code 104)


but maybe this one:

500 6447ms 5626cpu_ms 260api_cpu_ms 0kb Mozilla/5.0 (Windows NT 6.1;
WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
188.27.110.223 - - [22/Oct/2011:01:13:09 -0700] "GET /images/duel?
image1=4273908&image2=4630211&outcome=4630211&_=1319271184655 HTTP/
1.1" 500 849 "http://www.pixoto.com/images/leaderboard" "Mozilla/5.0
(Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"
"www.pixoto.com" ms=6447 cpu_ms=5627 api_cpu_ms=260 cpm_usd=0.156737
throttle_code=1 instance=00c61b117cf74f6c76d95959df74a9f2799fed
E 2011-10-22 01:13:08.736
javax.servlet.ServletContext log: An error occurred processing the
request
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'com.pixoto.image.Image': Injection of
persistence dependencies failed; nested exception is
java.lang.OutOfMemoryError: PermGen space
at
org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessPropertyValues(PersistenceAnnotationBeanPostProcessor.java:
342)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:
1099)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireBeanProperties(AbstractAutowireCapableBeanFactory.java:
377)
at
org.springframework.beans.factory.wiring.BeanConfigurerSupport.configureBean(BeanConfigurerSupport.java:
140)
at
org.springframework.beans.factory.aspectj.AnnotationBeanConfigurerAspect.configureBean(AnnotationBeanConfigurerAspect.aj:
59)
at
org.springframework.beans.factory.aspectj.AbstractDependencyInjectionAspect.ajc
$afterReturning
$org_springframework_beans_factory_aspectj_AbstractDependencyInjectionAspect
$2$1ea6722c(AbstractDependencyInjectionAspect.aj:89)
at com.pixoto.image.Image.<init>(Image.java:62)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:
57)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:
45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:33)
at
org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:
77)
at
org.codehaus.groovy.reflection.CachedConstructor.doConstructorInvoke(CachedConstructor.java:
71)
at groovy.lang.MetaClassImpl.invokeConstructor(MetaClassImpl.java:
1462)
at groovy.lang.MetaClassImpl.invokeConstructor(MetaClassImpl.java:
1392)
at
org.codehaus.groovy.runtime.InvokerHelper.invokeConstructorOf(InvokerHelper.java:
824)
at
org.codehaus.groovy.runtime.DefaultGroovyMethods.newInstance(DefaultGroovyMethods.java:
16553)
at org.codehaus.groovy.runtime.dgm$471.invoke(Unknown Source)
at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite
$StaticMetaMethodSiteNoUnwrapNoCoerce.invoke(StaticMetaMethodSite.java:
148)
at
org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.call(StaticMetaMethodSite.java:
88)
at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:
42)
at
org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.call(StaticMetaMethodSite.java:
93)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
112)
at
org.codeconsole.appengine.LiberalCategory.asType(LiberalCategory.groovy:
7)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
43)
at java.lang.reflect.Method.invoke(Method.java:43)
at
org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:
51)
at
org.codehaus.groovy.runtime.metaclass.NewInstanceMetaMethod.invoke(NewInstanceMetaMethod.java:
54)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1053)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:883)
at
org.codehaus.groovy.runtime.InvokerHelper.invokePojoMethod(InvokerHelper.java:
781)
at
org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:
772)
at
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:
164)
at
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.asType(ScriptBytecodeAdapter.java:
587)
at duel$_updateImage1_closure4.doCall(duel.groovy:124)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
43)
at java.lang.reflect.Method.invoke(Method.java:43)
at
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:
90)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
at
org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:
272)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:883)
at
org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:
39)
at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:
42)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
108)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
116)
at
groovyx.gaelyk.GaelykCategory.withTransaction(GaelykCategory.groovy:
422)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
43)
at java.lang.reflect.Method.invoke(Method.java:43)
at
org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:
51)
at
org.codehaus.groovy.runtime.metaclass.NewInstanceMetaMethod.invoke(NewInstanceMetaMethod.java:
54)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1053)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:883)
at
org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:
44)
at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:
42)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
108)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
116)
at duel.updateImage1(duel.groovy:123)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
43)
at java.lang.reflect.Method.invoke(Method.java:43)
at
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:
90)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1053)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:883)
at
org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:
66)
at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:
46)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:
133)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:
141)
at duel.run(duel.groovy:189)
at groovy.util.GroovyScriptEngine.run(GroovyScriptEngine.java:526)
at groovy.servlet.GroovyServlet$1.call(GroovyServlet.java:120)
at org.codehaus.groovy.runtime.GroovyCategorySupport
$ThreadCategoryInfo.use(GroovyCategorySupport.java:106)
at org.codehaus.groovy.runtime.GroovyCategorySupport
$ThreadCategoryInfo.access$400(GroovyCategorySupport.java:64)
at
org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:
246)
at groovy.servlet.GroovyServlet.service(GroovyServlet.java:129)
at groovyx.gaelyk.GaelykServlet.super$5$service(GaelykServlet.groovy)
at sun.reflect.GeneratedMethodAccessor364.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
43)
at java.lang.reflect.Method.invoke(Method.java:43)
at
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:
90)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1053)
at
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:
128)
<continued in next message>
E 2011-10-22 01:13:08.736
<continued from previous message>
at groovyx.gaelyk.GaelykServlet
$_service_closure1.doCall(GaelykServlet.groovy:69)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
43)
at java.lang.reflect.Method.invoke(Method.java:43)
at
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:
90)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
at
org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:
272)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:883)
at
org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:
66)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:
141)
at groovyx.gaelyk.GaelykServlet
$_service_closure1.doCall(GaelykServlet.groovy)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
43)
at java.lang.reflect.Method.invoke(Method.java:43)
at
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:
90)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
at
org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:
272)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:883)
at groovy.lang.Closure.call(Closure.java:410)
at groovy.lang.Closure.call(Closure.java:404)
at org.codehaus.groovy.runtime.GroovyCategorySupport
$ThreadCategoryInfo.use(GroovyCategorySupport.java:118)
at
org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:
257)
at
org.codehaus.groovy.runtime.DefaultGroovyMethods.use(DefaultGroovyMethods.java:
440)
at org.codehaus.groovy.runtime.dgm$792.invoke(Unknown Source)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite
$PogoMetaMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:
308)
at
org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:
52)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:
145)
at groovyx.gaelyk.GaelykServlet.service(GaelykServlet.groovy:67)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
511)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
390)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
216)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
182)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
418)
at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:327)
at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
at javax.servlet.RequestDispatcher$forward.call(Unknown Source)
at groovyx.gaelyk.cache.CacheHandler.serve(CacheHandler.groovy:84)
at groovyx.gaelyk.cache.CacheHandler$serve.call(Unknown Source)
at groovyx.gaelyk.routes.RoutesFilter.doFilter(RoutesFilter.groovy:
143)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
org.codeconsole.web.spring.LastRequestSavingFilter.doFilter(LastRequestSavingFilter.java:
22)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
org.sitemesh.webapp.contentfilter.ContentBufferingFilter.bufferAndPostProcess(ContentBufferingFilter.java:
169)
at
org.sitemesh.webapp.contentfilter.ContentBufferingFilter.doFilter(ContentBufferingFilter.java:
126)
at
org.sitemesh.config.ConfigurableSiteMeshFilter.doFilter(ConfigurableSiteMeshFilter.java:
163)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
org.codeconsole.web.analytics.AnalyticsFilter.doFilter(AnalyticsFilter.java:
153)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:
83)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:
76)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at org.springframework.security.web.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:312)
at
org.springframework.security.web.authentication.switchuser.SwitchUserFilter.doFilter(SwitchUserFilter.java:
181)
at org.springframework.security.web.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:324)
at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:
116)
at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:
83)
at org.springframework.security.web.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:324)
at
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:
113)
at org.springframework.security.web.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:324)
at
org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:
101)
at org.springframework.security.web.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:324)
at
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:
113)
at org.springframework.security.web.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:324)
at
org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:
146)
at org.springframework.security.web.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:324)
at
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:
54)
at org.springframework.security.web.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:324)
at
org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:
45)
at org.springframework.security.web.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:324)
at
org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:
150)
at org.springframework.security.web.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:324)
at
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:
182)
at org.springframework.security.web.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:324)
at
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:
105)
at org.springframework.security.web.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:324)
at
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:
87)
at org.springframework.security.web.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:324)
at
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:
174)
at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:
346)
at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:
259)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
org.codeconsole.web.spring.PropertiesRequestExposingFilter.doFilter(PropertiesRequestExposingFilter.java:
27)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
<continued in next message>
E 2011-10-22 01:13:08.736
<continued from previous message>
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
388)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
216)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
182)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
418)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
542)
at org.mortbay.jetty.HttpConnection
$RequestHandler.headerComplete(HttpConnection.java:923)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at com.google.tracing.TraceContext
$TraceContextRunnable.runInContext(TraceContext.java:449)
at com.google.tracing.TraceContext$TraceContextRunnable
$1.run(TraceContext.java:455)
at com.google.tracing.TraceContext.runInContext(TraceContext.java:
695)
at com.google.tracing.TraceContext
$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:
333)
at com.google.tracing.TraceContext
$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:
325)
at com.google.tracing.TraceContext
$TraceContextRunnable.run(TraceContext.java:453)
at java.lang.Thread.run(Thread.java:679)
Caused by: java.lang.OutOfMemoryError: PermGen space
I 2011-10-22 01:13:08.736
javax.servlet.ServletContext log: java.lang.OutOfMemoryError: PermGen
space
W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>:
java.lang.OutOfMemoryError: PermGen space

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>:
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'com.pixoto.image.Image': Injection of
persistence dependencies failed; nested exception is
java.lang.OutOfMemoryError: PermGen space

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessPropertyValues(PersistenceAnnotationBeanPostProcessor.java:
342)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:
1099)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireBeanProperties(AbstractAutowireCapableBeanFactory.java:
377)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.beans.factory.wiring.BeanConfigurerSupport.configureBean(BeanConfigurerSupport.java:
140)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.beans.factory.aspectj.AnnotationBeanConfigurerAspect.configureBean(AnnotationBeanConfigurerAspect.aj:
59)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.beans.factory.aspectj.AbstractDependencyInjectionAspect.ajc
$afterReturning
$org_springframework_beans_factory_aspectj_AbstractDependencyInjectionAspect
$2$1ea6722c(AbstractDependencyInjectionAspect.aj:89)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
com.pixoto.image.Image.<init>(Image.java:62)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:
57)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:
45)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
java.lang.reflect.Constructor.newInstance(Constructor.java:33)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:
77)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.reflection.CachedConstructor.doConstructorInvoke(CachedConstructor.java:
71)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
groovy.lang.MetaClassImpl.invokeConstructor(MetaClassImpl.java:1462)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
groovy.lang.MetaClassImpl.invokeConstructor(MetaClassImpl.java:1392)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.InvokerHelper.invokeConstructorOf(InvokerHelper.java:
824)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.DefaultGroovyMethods.newInstance(DefaultGroovyMethods.java:
16553)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.dgm$471.invoke(Unknown Source)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite
$StaticMetaMethodSiteNoUnwrapNoCoerce.invoke(StaticMetaMethodSite.java:
148)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.call(StaticMetaMethodSite.java:
88)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:
42)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.call(StaticMetaMethodSite.java:
93)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
112)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
org.codeconsole.appengine.LiberalCategory.asType(LiberalCategory.groovy:
7)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
57)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
43)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
java.lang.reflect.Method.invoke(Method.java:43)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:
51)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.metaclass.NewInstanceMetaMethod.invoke(NewInstanceMetaMethod.java:
54)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1053)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:883)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.InvokerHelper.invokePojoMethod(InvokerHelper.java:
781)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:
772)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:
164)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.asType(ScriptBytecodeAdapter.java:
587)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at duel
$_updateImage1_closure4.doCall(duel.groovy:124)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
57)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
43)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
java.lang.reflect.Method.invoke(Method.java:43)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:
90)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:
272)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:883)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:
39)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:
42)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
108)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
116)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
groovyx.gaelyk.GaelykCategory.withTransaction(GaelykCategory.groovy:
422)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
57)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
43)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
java.lang.reflect.Method.invoke(Method.java:43)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:
51)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.metaclass.NewInstanceMetaMethod.invoke(NewInstanceMetaMethod.java:
54)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1053)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:883)

W 2011-10-22 01:13:08.736
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:
44)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:
42)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
108)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
116)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
duel.updateImage1(duel.groovy:123)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
57)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
43)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
java.lang.reflect.Method.invoke(Method.java:43)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:
90)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1053)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:883)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:
66)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:
46)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:
133)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:
141)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at duel.run(duel.groovy:
189)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
groovy.util.GroovyScriptEngine.run(GroovyScriptEngine.java:526)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
groovy.servlet.GroovyServlet$1.call(GroovyServlet.java:120)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.GroovyCategorySupport
$ThreadCategoryInfo.use(GroovyCategorySupport.java:106)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.GroovyCategorySupport
$ThreadCategoryInfo.access$400(GroovyCategorySupport.java:64)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:
246)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
groovy.servlet.GroovyServlet.service(GroovyServlet.java:129)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
groovyx.gaelyk.GaelykServlet.super$5$service(GaelykServlet.groovy)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
sun.reflect.GeneratedMethodAccessor364.invoke(Unknown Source)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
43)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
java.lang.reflect.Method.invoke(Method.java:43)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:
90)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1053)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:
128)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
groovyx.gaelyk.GaelykServlet
$_service_closure1.doCall(GaelykServlet.groovy:69)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
57)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
43)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
java.lang.reflect.Method.invoke(Method.java:43)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:
90)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:
272)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:883)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:
66)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:
141)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
groovyx.gaelyk.GaelykServlet
$_service_closure1.doCall(GaelykServlet.groovy)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
57)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
43)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
java.lang.reflect.Method.invoke(Method.java:43)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:
90)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:
272)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:883)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
groovy.lang.Closure.call(Closure.java:410)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
groovy.lang.Closure.call(Closure.java:404)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.GroovyCategorySupport
$ThreadCategoryInfo.use(GroovyCategorySupport.java:118)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:
257)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.DefaultGroovyMethods.use(DefaultGroovyMethods.java:
440)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.dgm$792.invoke(Unknown Source)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite
$PogoMetaMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:
308)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:
52)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:
145)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
groovyx.gaelyk.GaelykServlet.service(GaelykServlet.groovy:67)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
390)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
216)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
182)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
765)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:327)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
javax.servlet.RequestDispatcher$forward.call(Unknown Source)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
groovyx.gaelyk.cache.CacheHandler.serve(CacheHandler.groovy:84)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
groovyx.gaelyk.cache.CacheHandler$serve.call(Unknown Source)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
groovyx.gaelyk.routes.RoutesFilter.doFilter(RoutesFilter.groovy:143)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.codeconsole.web.spring.LastRequestSavingFilter.doFilter(LastRequestSavingFilter.java:
22)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.sitemesh.webapp.contentfilter.ContentBufferingFilter.bufferAndPostProcess(ContentBufferingFilter.java:
169)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.sitemesh.webapp.contentfilter.ContentBufferingFilter.doFilter(ContentBufferingFilter.java:
126)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.sitemesh.config.ConfigurableSiteMeshFilter.doFilter(ConfigurableSiteMeshFilter.java:
163)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.codeconsole.web.analytics.AnalyticsFilter.doFilter(AnalyticsFilter.java:
153)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:
83)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:
76)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.security.web.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:312)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.security.web.authentication.switchuser.SwitchUserFilter.doFilter(SwitchUserFilter.java:
181)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.security.web.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:324)

W 2011-10-22 01:13:08.737
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:
116)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:
83)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.security.web.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:324)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:
113)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.security.web.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:324)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:
101)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.security.web.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:324)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:
113)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.security.web.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:324)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:
146)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.security.web.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:324)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:
54)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.security.web.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:324)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:
45)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.security.web.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:324)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:
150)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.security.web.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:324)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:
182)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.security.web.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:324)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:
105)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.security.web.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:324)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:
87)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.security.web.FilterChainProxy
$VirtualFilterChain.doFilter(FilterChainProxy.java:324)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:
174)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:
346)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:
259)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.codeconsole.web.spring.PropertiesRequestExposingFilter.doFilter(PropertiesRequestExposingFilter.java:
27)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
388)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
216)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
182)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
765)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
152)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.mortbay.jetty.Server.handle(Server.java:326)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
542)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.mortbay.jetty.HttpConnection
$RequestHandler.headerComplete(HttpConnection.java:923)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
com.google.tracing.TraceContext
$TraceContextRunnable.runInContext(TraceContext.java:449)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
com.google.tracing.TraceContext$TraceContextRunnable
$1.run(TraceContext.java:455)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
com.google.tracing.TraceContext.runInContext(TraceContext.java:695)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
com.google.tracing.TraceContext
$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:
333)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
com.google.tracing.TraceContext
$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:
325)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
com.google.tracing.TraceContext
$TraceContextRunnable.run(TraceContext.java:453)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: at
java.lang.Thread.run(Thread.java:679)

W 2011-10-22 01:13:08.738
[pixotoapp/462.354126412367951173].<stderr>: Caused by:
java.lang.OutOfMemoryError: PermGen space

Scott Murphy

unread,
Oct 26, 2011, 2:30:46 PM10/26/11
to Gaelyk
I upgraded from Groovy 1.8.1 - > 1.8.3 (Still experiencing PermGen
errors)

Scott Murphy

unread,
Nov 30, 2011, 1:36:22 PM11/30/11
to Gaelyk
I am still getting clobbered by these things and it seems to be
getting worse (happens after my app has been running around 3
hours). Could having methods in my Groovlets cause this?

hello.groovy

def method() {
println "hello"
}


method()

Guillaume Laforge

unread,
Nov 30, 2011, 1:47:21 PM11/30/11
to gae...@googlegroups.com
That's weird, it's certainly not just simple method calls that cause that.
But I can't really help you here.
What are you doing special in your app?
Are you doing lots of new GroovyShell().evaluate(), creating classes on the fly or such things?

Scott Murphy

unread,
Dec 1, 2011, 1:54:20 PM12/1/11
to Gaelyk
I do not do any GroovyShell().evaluate()'s on my site and I don't
think I am creating classes on the fly (Do anonymous inner classes
fall into that category?)

My site gets a decent number of pageviews (200k+/day). I usually get
a PermGen error after an instance has been running for ~ 3 hours. It
never happens quickly.
I do have a lot of external dependencies (jars) Spring Framework,
Spring Security, Spring Social, Map Reduce (hadoop), etc.

Here are a few questions:

1. Are Groovlets recompiled on every execution?

I see in https://github.com/groovy/groovy-core/blob/master/src/main/groovy/servlet/GroovyServlet.java
that the script needs to be run every time:

return ((GroovyScriptEngine) getDelegate()).run(scriptUri, binding);

Unless the GroovyScriptEngine caches the script?

2. Do simple methods in a Groovlet like I mentioned previously result
in the creation of a anonymous inner class?

myGroovlet.groovy

def method() {
println "hello"
}
method()


3. What would be the result of having a class within a groovlet? Does
this class get created every time the Groovlet is run?

myGroovlet2.groovy

class Person {
String name
}

def method() {
println "hello"
}
new Person()
method()

4. Is there any impact in having includes in gtpl pages?
<% include '/WEB-INF/gtpl/includes/footer.gtpl' %>

Guillaume Laforge

unread,
Dec 1, 2011, 4:07:18 PM12/1/11
to gae...@googlegroups.com
On Thu, Dec 1, 2011 at 19:54, Scott Murphy <sc...@myzot.com> wrote:
I do not do any GroovyShell().evaluate()'s on my site and I don't
think I am creating classes on the fly (Do anonymous inner classes
fall into that category?)

No, they're just like Java's.
 
My site gets a decent number of pageviews (200k+/day).  I usually get
a PermGen error after an instance has been running for ~ 3 hours.  It
never happens quickly.
I do have a lot of external dependencies (jars)  Spring Framework,
Spring Security, Spring Social, Map Reduce (hadoop), etc.

Here are a few questions:

1. Are Groovlets recompiled on every execution?

I see in https://github.com/groovy/groovy-core/blob/master/src/main/groovy/servlet/GroovyServlet.java
that the script needs to be run every time:

return ((GroovyScriptEngine) getDelegate()).run(scriptUri, binding);

Unless the GroovyScriptEngine caches the script?

The groovlets are turned into scripts which are compiled once and cached by the underlying groovy classloader.
So normally, they really just need to be compiled once.
 
2. Do simple methods in a Groovlet like I mentioned previously result
in the creation of a anonymous inner class?

myGroovlet.groovy

def method() {
   println "hello"
}
method()

No.
 
3. What would be the result of having a class within a groovlet?  Does
this class get created every time the Groovlet is run?

myGroovlet2.groovy

class Person {
   String name
}

def method() {
   println "hello"
}
new Person()
method()

No.
 
4. Is there any impact in having includes in gtpl pages?
<% include '/WEB-INF/gtpl/includes/footer.gtpl' %>

The include mechanism is the one from the servlet engine.
So Gaelyk is just inserting the output of the included template in the resulting output, but since the templates and groovlets are supposed to be compiled just once, it's not creating any new class or anything like that.


So... I'm not really sure what's going on here.

Didn't you mention you were using Spring?
Are you using the lang:groovy namespace?

Another are to investigate...
So templates and groovlets should be compiled only once, so they won't take more perm gen later on.
But I remember some bug report saying that sometimes the templates were recompiled as there was some problem with the logic of recompilation or something like that.

So I've just had an idea here to check if this assumption is true or not.
Could you please add a log statement like log.debug "Current groovlet/template ${this}"?
Look at all such statements, and the toString() should be the same for the same groovlet or template. 
Otherwise that means re-compilation happened.
And if recompilation happens more than needed, after a while, it's going to eat up perm gen.
(I'm really looking forward to when the JDK won't have perm gen anymore...)

And please report me back about that.
I may have a look back at some of the bug reports on this topic, and see if we can cook a snapshot of Groovy that fixes the problem, and then integrate that to Groovy it there was indeed a problem there, and that it's fixed and working for you.

Guillaume

Scott Murphy

unread,
Dec 2, 2011, 10:10:21 PM12/2/11
to Gaelyk
So I tried it locally and I get a different address every time.

INFO: Current groovlet/template leaderboard@377f1fcb
Dec 2, 2011 7:05:57 PM gaelyk.groovlet.images.leaderboard
Dec 2, 2011 7:05:57 PM gaelyk.groovlet.images.leaderboard
INFO: Current groovlet/template leaderboard@5d64db48
Dec 2, 2011 7:06:04 PM gaelyk.groovlet.images.leaderboard
Dec 2, 2011 7:06:04 PM gaelyk.groovlet.images.leaderboard
INFO: Current groovlet/template leaderboard@7c46f6f0
Dec 2, 2011 7:06:40 PM gaelyk.groovlet.images.leaderboard
Dec 2, 2011 7:06:40 PM gaelyk.groovlet.images.leaderboard
INFO: Current groovlet/template leaderboard@451d4b2e
Dec 2, 2011 7:06:41 PM gaelyk.groovlet.images.leaderboard
Dec 2, 2011 7:06:41 PM gaelyk.groovlet.images.leaderboard
INFO: Current groovlet/template leaderboard@4b2e9d91

On Dec 1, 1:07 pm, Guillaume Laforge <glafo...@gmail.com> wrote:
> On Thu, Dec 1, 2011 at 19:54, Scott Murphy <sc...@myzot.com> wrote:
> > I do not do any GroovyShell().evaluate()'s on my site and I don't
> > think I am creating classes on the fly (Do anonymous inner classes
> > fall into that category?)
>
> No, they're just like Java's.
>
>
>
>
>
>
>
>
>
> > My site gets a decent number of pageviews (200k+/day).  I usually get
> > a PermGen error after an instance has been running for ~ 3 hours.  It
> > never happens quickly.
> > I do have a lot of external dependencies (jars)  Spring Framework,
> > Spring Security, Spring Social, Map Reduce (hadoop), etc.
>
> > Here are a few questions:
>
> > 1. Are Groovlets recompiled on every execution?
>
> > I see in

> >https://github.com/groovy/groovy-core/blob/master/src/main/groovy/ser...

Scott Murphy

unread,
Dec 2, 2011, 10:18:15 PM12/2/11
to Gaelyk
This is the output gtpl pages:

INFO: Current groovlet/template SimpleTemplateScript11@2e558004

INFO: Current groovlet/template SimpleTemplateScript11@269d5241


On Dec 1, 1:07 pm, Guillaume Laforge <glafo...@gmail.com> wrote:
> On Thu, Dec 1, 2011 at 19:54, Scott Murphy <sc...@myzot.com> wrote:
> > I do not do any GroovyShell().evaluate()'s on my site and I don't
> > think I am creating classes on the fly (Do anonymous inner classes
> > fall into that category?)
>
> No, they're just like Java's.
>
>
>
>
>
>
>
>
>
> > My site gets a decent number of pageviews (200k+/day).  I usually get
> > a PermGen error after an instance has been running for ~ 3 hours.  It
> > never happens quickly.
> > I do have a lot of external dependencies (jars)  Spring Framework,
> > Spring Security, Spring Social, Map Reduce (hadoop), etc.
>
> > Here are a few questions:
>
> > 1. Are Groovlets recompiled on every execution?
>
> > I see in

> >https://github.com/groovy/groovy-core/blob/master/src/main/groovy/ser...

Guillaume Laforge

unread,
Dec 3, 2011, 10:28:49 AM12/3/11
to gae...@googlegroups.com
Could you make a similar test in production especially?

In local mode, there's an automatic reloading in place, but it's not the case in production.
Although if nothing changes locally, it shouldn't recompile the template and groovlet anyway.

I'm thinking that there might really be still a problem with the reloading strategy of Groovy's own groovlet and template servlets here.
I'll definitely have to investigate that further.

Guillaume

Scott Murphy

unread,
Dec 3, 2011, 1:25:43 PM12/3/11
to Gaelyk
Yeah, same thing happens on production. Do you think using a
different version of Groovy (older1.7/newer1.9beta?) will make my
problems go away temporarily?
These PermGen errors really suck as they make me kind of helpless. I
am currently using Groovy 1.8.4


[03/Dec/2011:10:14:09 -0800]
instance=00c61b117c741d312e5ce4e36379cc0553184a
[s~pixoto-staging/26.355122789349593731].gaelyk.template.WEB-
INF.gtpl.leaderboard: Current groovlet/template
SimpleTemplateScript1@1ed9554
[s~pixoto-staging/
26.355122789349593731].gaelyk.groovlet.images.leaderboard: Current
groovlet/template leaderboard@e6da7b


[03/Dec/2011:10:14:06 -0800]
instance=00c61b117c741d312e5ce4e36379cc0553184a
[s~pixoto-staging/26.355122789349593731].gaelyk.template.WEB-
INF.gtpl.leaderboard: Current groovlet/template
SimpleTemplateScript1@11ca701
[s~pixoto-staging/
26.355122789349593731].gaelyk.groovlet.images.leaderboard: Current
groovlet/template leaderboard@18678a


[03/Dec/2011:10:13:57 -0800]
instance=00c61b117c741d312e5ce4e36379cc0553184a
[s~pixoto-staging/26.355122789349593731].gaelyk.template.WEB-
INF.gtpl.leaderboard: Current groovlet/template
SimpleTemplateScript1@f64084
[s~pixoto-staging/
26.355122789349593731].gaelyk.groovlet.images.leaderboard: Current
groovlet/template leaderboard@1059a9a


[03/Dec/2011:10:09:44 -0800]
instance=00c61b117c741d312e5ce4e36379cc0553184a
[s~pixoto-staging/26.355122789349593731].gaelyk.template.WEB-
INF.gtpl.leaderboard: Current groovlet/template
SimpleTemplateScript1@17a84f5
[s~pixoto-staging/
26.355122789349593731].gaelyk.groovlet.images.leaderboard: Current
groovlet/template leaderboard@af1eb7

Guillaume Laforge

unread,
Dec 3, 2011, 3:22:52 PM12/3/11
to gae...@googlegroups.com
So it seems we really have a problem with the reloading / recompilation logic, which makes the templates and groovlets reloaded although no changes have happened.

I'll try to investigate the problem soon.

Guillaume

Guillaume Laforge

unread,
Dec 4, 2011, 1:18:25 PM12/4/11
to gae...@googlegroups.com
Pretty likely to be the problem you're encountering:

Don't you think?

Guillaume

Scott Murphy

unread,
Dec 5, 2011, 3:59:44 PM12/5/11
to Gaelyk
That sounds like it would be more problematic if it was fixed, no?
That sounds like the problem in that ticket is that classes are not
reloading vs our case here is that our scripts are constantly
reloading?

> ...
>
> read more »

Guillaume Laforge

unread,
Dec 5, 2011, 4:18:05 PM12/5/11
to gae...@googlegroups.com
I actually think both are linked.
So let's watch that issue :-)
Hopefully we'll find what's going on.

--
You've received this message because you've subscribed to the Gaelyk Google Group.
To send an email to the group, please write to: gae...@googlegroups.com
To unsuscribe from this group: gaelyk+un...@googlegroups.com
To show more options: http://groups.google.fr/group/gaelyk?hl=en

Scott Murphy

unread,
Dec 10, 2011, 10:16:02 PM12/10/11
to Gaelyk
So there has been submitted a patch for that ticket. I don't know if
it sounds like it has addressed are issue. What do you think?

https://jira.codehaus.org/browse/GROOVY-4975?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=285482#comment-285482

Reply all
Reply to author
Forward
0 new messages