[ https://issues.apache.org/jira/browse/GROOVY-4177?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
John Wagenleitner resolved GROOVY-4177. --------------------------------------- Resolution: Fixed Assignee: John Wagenleitner Fix Version/s: 1.8.0 > Groovy categories cause tomcat memory leak and prevent tomcat shutting down > --------------------------------------------------------------------------- > > Key: GROOVY-4177 > URL: https://issues.apache.org/jira/browse/GROOVY-4177 > Project: Groovy > Issue Type: Bug > Components: groovy-runtime > Affects Versions: 1.7.2 > Reporter: Graeme Rocher > Assignee: John Wagenleitner > Priority: Critical > Fix For: 1.8.0 > > > Any Groovy application (including Grails apps) that deploy to Tomcat 6.0.26 > and above has this issue because basically Tomcat clears thread locals not > manually shutdown by the application to prevent memory leaks. > This can lead to problems starting and stopping Groovy based application with > errors like the following occuring: > {code} > [java] Exception in thread "Thread-3" java.lang.NullPointerException > [java] at > org.codehaus.groovy.runtime.GroovyCategorySupport.hasCategoryInCurrentThread(GroovyCategorySupport.java:216) > [java] at > groovy.lang.MetaClassImpl.getMethodWithCaching(MetaClassImpl.java:1128) > [java] at > groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:904) > [java] at > groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:915) > [java] at > groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886) > [java] at groovy.lang.Closure.call(Closure.java:276) > [java] at groovy.lang.Closure.call(Closure.java:271) > [java] at groovy.lang.Closure.run(Closure.java:354) > {code} > Groovy needs to include the ability to manually shutdown the any categories > that exist in any threads and also re-instate the categories if they are > nulled (like what happens with Tomcat) -- This message was sent by Atlassian JIRA (v6.3.4#6332)