You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Christopher L. Shannon (JIRA)" <ji...@apache.org> on 2017/02/22 13:33:44 UTC

[jira] [Commented] (AMQ-6602) Memory leak when undeploying webapp with ActiveMQ client

    [ https://issues.apache.org/jira/browse/AMQ-6602?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15878207#comment-15878207 ] 

Christopher L. Shannon commented on AMQ-6602:
---------------------------------------------

 From the stack trace it looks like a deadlock occurred on shutdown and after taking a quick glance at this I'm a little confused as to how adding that lock solves this issue.   There is an AtomicBoolean that gets checked to prevent the initialization from happening more than once.   Can you elaborate more?  One issue I do see is that the executor should probably be volatile or an AtomicReference when it is set so that it is visible to all threads on init.

> Memory leak when undeploying webapp with ActiveMQ client
> --------------------------------------------------------
>
>                 Key: AMQ-6602
>                 URL: https://issues.apache.org/jira/browse/AMQ-6602
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: JMS client
>    Affects Versions: 5.14.3
>            Reporter: Mykola Markov
>            Priority: Minor
>              Labels: leak
>         Attachments: AMQ-6602.patch
>
>
> I have a web app with an ActiveMQ client. When undeploying the app, Tomcat logs the following messages.
> {code}
> 15-Feb-2017 17:53:31.760 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [Engine] appears to have started a thread named [ActiveMQ
>  Session: ID:comp-41144-1487186920452-1:1:3] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
>  java.lang.Object.wait(Native Method)
>  java.lang.Object.wait(Object.java:502)
>  org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:119)
>  org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:42)
> 15-Feb-2017 17:53:31.761 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [Engine] appears to have started a thread named [ActiveMQ
>  Session: ID:comp-41144-1487186920452-1:1:2] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
>  java.lang.Object.wait(Native Method)
>  java.lang.Object.wait(Object.java:502)
>  org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:119)
>  org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:42)
> 15-Feb-2017 17:53:31.762 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [Engine] appears to have started a thread named [ActiveMQ
>  Session: ID:comp-41144-1487186920452-1:1:4] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
>  java.lang.Object.wait(Native Method)
>  java.lang.Object.wait(Object.java:502)
>  org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:119)
>  org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:42)
> 15-Feb-2017 17:53:31.762 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [Engine] appears to have started a thread named [ActiveMQ
>  Session: ID:comp-41144-1487186920452-1:1:10] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
>  java.lang.Object.wait(Native Method)
>  java.lang.Object.wait(Object.java:502)
>  org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:119)
>  org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:42)
> 15-Feb-2017 17:53:31.763 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [Engine] appears to have started a thread named [ActiveMQ
>  Session: ID:comp-41144-1487186920452-1:1:6] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
>  java.lang.Object.wait(Native Method)
>  java.lang.Object.wait(Object.java:502)
>  org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:119)
>  org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:42)
> Feb 15, 2017 5:53:31 PM org.apache.catalina.core.ApplicationContext log
> INFO: Closing Spring root WebApplicationContext
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)