I am getting the memory leak exception in tomcat console

12,973

Solution 1

Tomcat has built-in detection of some cases of Permanent Generation memory leak. Here is a blog post I have written some time ago which explains what this PermGen leak is: http://plumbr.eu/blog/what-is-a-permgen-leak . You should examine your application to find out the reasons for the problems Tomcat has identified. IMHO those logs are pretty self-explanatory.

Solution 2

Presumably this isn't causing a problem when your webapp is running, just that you are seeing these errors when you stop your webapp using the Tomcat manager.

Tomcat can't free all the memory used by your webapp, so at some point, if you repeatedly restart your webapp, Tomcat will run out of memory. Looks like you have a number of ThreadLocals being created that aren't cleaned up.

Your options are:

  • Find out why these ThreadLocals aren't being cleaned up. There's quite a lot of information out there about tracking this kind of memory leak in Tomcat, e.g. http://wiki.apache.org/tomcat/MemoryLeakProtection
  • Instead of restarting your webapp using Tomcat manager, restart Tomcat itself. Not a good option if you have any other live webapps in that Tomcat instance but perfectly acceptable if your webapp is the only one.
  • A variation on the above: restart your webapp using the manager but keep an eye on how much memory it is using (the leak may not be particularly significant). Then restart Tomcat when necessary. You may find you can safely restart the webapp quite a few times before a full Tomcat restart is required.
Share:
12,973
Thulasiram
Author by

Thulasiram

Updated on June 04, 2022

Comments

  • Thulasiram
    Thulasiram almost 2 years
    Aug 29, 2012 12:47:44 PM org.apache.coyote.http11.Http11Protocol pause
    INFO: Pausing Coyote HTTP/1.1 on http-443
    Aug 29, 2012 12:47:44 PM org.apache.coyote.http11.Http11Protocol pause
    INFO: Pausing Coyote HTTP/1.1 on http-80
    Aug 29, 2012 12:47:45 PM org.apache.catalina.core.StandardService stop
    INFO: Stopping service Catalina
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
    SEVERE: The web application [] registered the JBDC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
    SEVERE: The web application [] registered the JBDC driver [oracle.jdbc.driver.OracleDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
    SEVERE: The web application [] appears to have started a thread named [Timer-0] but has failed to stop it. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
    SEVERE: The web application [] appears to have started a thread named [com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0] but has failed to stop it. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
    SEVERE: The web application [] appears to have started a thread named [com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1] but has failed to stop it. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
    SEVERE: The web application [] appears to have started a thread named [com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2] but has failed to stop it. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
    SEVERE: The web application [] appears to have started a thread named [Timer-1] but has failed to stop it. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
    SEVERE: The web application [] appears to have started a thread named [MultiThreadedHttpConnectionManager cleanup] but has failed to stop it. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
    SEVERE: The web application [] appears to have started a thread named [Timer-2] but has failed to stop it. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
    SEVERE: The web application [] appears to have started a thread named [Timer-3] but has failed to stop it. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [null] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@67272d]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@3d1848]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [null] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@67272d]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@1055eb1]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [org.apache.xml.security.utils.UnsyncByteArrayOutputStream$1] (value [org.apache.xml.security.utils.UnsyncByteArrayOutputStream$1@18bbe2b]) and a value of type [byte[]] (value [[B@1720e5c]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [null] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@67272d]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@10cc503]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [org.apache.xml.security.utils.UnsyncByteArrayOutputStream$1] (value [org.apache.xml.security.utils.UnsyncByteArrayOutputStream$1@18bbe2b]) and a value of type [byte[]] (value [[B@15a82f7]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [null] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@67272d]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@14c4cc7]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [org.apache.xml.security.utils.UnsyncByteArrayOutputStream$1] (value [org.apache.xml.security.utils.UnsyncByteArrayOutputStream$1@18bbe2b]) and a value of type [byte[]] (value [[B@44aeeb]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [null] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@67272d]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@137fac1]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [org.apache.xml.security.utils.UnsyncByteArrayOutputStream$1] (value [org.apache.xml.security.utils.UnsyncByteArrayOutputStream$1@18bbe2b]) and a value of type [byte[]] (value [[B@2fa904]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [null] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@67272d]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@1016caf]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [org.apache.xml.security.utils.UnsyncByteArrayOutputStream$1] (value [org.apache.xml.security.utils.UnsyncByteArrayOutputStream$1@18bbe2b]) and a value of type [byte[]] (value [[B@867ca8]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [null] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@67272d]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@162062c]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [org.apache.xml.security.utils.UnsyncByteArrayOutputStream$1] (value [org.apache.xml.security.utils.UnsyncByteArrayOutputStream$1@18bbe2b]) and a value of type [byte[]] (value [[B@8345e0]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [org.apache.commons.lang.builder.ToStringStyle$1] (value [org.apache.commons.lang.builder.ToStringStyle$1@60994a]) and a value of type [java.util.HashSet] (value [[]]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [null] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@67272d]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@1eff48d]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [org.apache.xml.security.utils.UnsyncByteArrayOutputStream$1] (value [org.apache.xml.security.utils.UnsyncByteArrayOutputStream$1@18bbe2b]) and a value of type [byte[]] (value [[B@a05e2e]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [null] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@67272d]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@872ebe]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [org.apache.xml.security.utils.UnsyncByteArrayOutputStream$1] (value [org.apache.xml.security.utils.UnsyncByteArrayOutputStream$1@18bbe2b]) and a value of type [byte[]] (value [[B@10dbc37]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [null] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@67272d]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@bfd4f6]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [org.apache.xml.security.utils.UnsyncByteArrayOutputStream$1] (value [org.apache.xml.security.utils.UnsyncByteArrayOutputStream$1@18bbe2b]) and a value of type [byte[]] (value [[B@366c17]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [null] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@67272d]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@f2938f]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [org.apache.xml.security.utils.UnsyncByteArrayOutputStream$1] (value [org.apache.xml.security.utils.UnsyncByteArrayOutputStream$1@18bbe2b]) and a value of type [byte[]] (value [[B@1b593d2]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [null] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@67272d]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@1fbe9e6]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [null] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@67272d]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@1b9305f]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [org.apache.xml.security.utils.UnsyncByteArrayOutputStream$1] (value [org.apache.xml.security.utils.UnsyncByteArrayOutputStream$1@18bbe2b]) and a value of type [byte[]] (value [[B@116d3cf]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [null] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@67272d]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@1abf1f6]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [org.apache.xml.security.utils.UnsyncByteArrayOutputStream$1] (value [org.apache.xml.security.utils.UnsyncByteArrayOutputStream$1@18bbe2b]) and a value of type [byte[]] (value [[B@19a61d3]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [null] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@67272d]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@8c6891]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [null] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@67272d]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@254464]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [org.apache.xml.security.utils.UnsyncByteArrayOutputStream$1] (value [org.apache.xml.security.utils.UnsyncByteArrayOutputStream$1@18bbe2b]) and a value of type [byte[]] (value [[B@ad40e8]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [null] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@67272d]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@807a29]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [org.apache.xml.security.utils.UnsyncByteArrayOutputStream$1] (value [org.apache.xml.security.utils.UnsyncByteArrayOutputStream$1@18bbe2b]) and a value of type [byte[]] (value [[B@d440fc]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [null] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@67272d]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@f663e4]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [org.apache.xml.security.utils.UnsyncByteArrayOutputStream$1] (value [org.apache.xml.security.utils.UnsyncByteArrayOutputStream$1@18bbe2b]) and a value of type [byte[]] (value [[B@183b5d]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [null] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@67272d]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@e16306]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    Aug 29, 2012 12:47:45 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
    SEVERE: The web application [] created a ThreadLocal with key of type [org.apache.xml.security.utils.UnsyncByteArrayOutputStream$1] (value [org.apache.xml.security.utils.UnsyncByteArrayOutputStream$1@18bbe2b]) and a value of type [byte[]] (value [[B@12c4f94]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
    
  • Alfonso Leon
    Alfonso Leon almost 11 years
    the second option you mention is wrong, stopping tomcat itself instead of using the app manager doesn't make a difference. Tomcat will log this messages anyway because it will shut down the apps before shutting down himself. Just to clear things up.