Tomcate - Memory Leak - The web application appears to have started a thread named [AsyncAppender-] but has failed to stop it.

Tomcat server may throw memory leak warnings whenever a web application is redeployed or restarted. Tomcat detects a possible memory leak and throws warning message in console

Consider the following warning message.
SEVERE: The web application [/webappname] appears to have started a thread named [AsyncAppender-Dispatcher-Thread-1603] but has failed to stop it. This is very likely to create a memory leak.

It states that a thread was initiated by the web application but it was not stopped when the application is redeployed or during server shutdown. Tomcat server suspects , this may lead to memory leak as the reference to the thread is available in the common classloader and the old instance may not be garbage collected. Hence tomcat is throwing the warning message.

Hot deployments in server without properly restarting the server, may also lead to this warning, since the same webappclassloader will be used by the tomcat server instance.

As per tomcat documentation, this issue is fixed in later versions of tomcat  >=7.0.6.  Upgrading to a latest version of tomcat may resolve the issue.

Tomcate Doc

Search