Thulasiram
Thulasiram

Reputation: 45

I am getting the memory leak exception in tomcat console

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.

Upvotes: 2

Views: 14718

Answers (3)

Nikem
Nikem

Reputation: 5784

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.

Upvotes: 3

Umesh Awasthi
Umesh Awasthi

Reputation: 23587

I am not sure which version of struts2 you are using and please make sure to tag your Struts2 question with struts2 tag else you will not able to get the proper attention.

This was one of the known bug in prior version of struts2 which got fixed in 2.3.3.The localContext ThreadLocal is not cleaned up properly when stopping / undeploying / redeploying a S2 application. This will in most cases cause the web application ClassLoader not to be garbage collected, thus leaving a redeployment memory leak.

Please cross check whihc version of Struts2 your are using and if necessary please upgrade it to latest build.

For more details refer XWork ContainerImpl causes ThreadLocal memory leak

Upvotes: 0

Martin Wilson
Martin Wilson

Reputation: 3386

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.

Upvotes: 2

Related Questions