[ 
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)

Reply via email to