Rajan Arora created AXIS2-5696:
----------------------------------

             Summary: Axis 2 threads are not closing properly
                 Key: AXIS2-5696
                 URL: https://issues.apache.org/jira/browse/AXIS2-5696
             Project: Axis2
          Issue Type: Bug
    Affects Versions: 1.6.2
         Environment: Operating system: LINUX 
(uname -r 
2.6.32-431.29.2.el6.x86_64)
            Reporter: Rajan Arora


Hi team,

We have seen a very large amount of axis 2 threads leaks in our environments. 
We are using a 
WebSphere Application Server Network Deployment  8.0.0 on Linux operating system

We are having application deployed on this Application server which are using 
Axis 2 library 1.6.2 version. I am attaching the library for your reference. We 
are seeing AXIS2 Threads are not closing at all and they are consuming memory 
and finally after few days the application fails due to exhaustion of Native 
Memory. Most of the Native Memory is being consumed by Axis 2 threads. We did 
raised this issue with IBM as we are using IBM application server to host our 
applications. After a detailed analysis of couple of months IBM have confirmed 
that its not an issue with their product of SDK. They believe its an issue with 

As per IBM latest comments In our code we are calling the Thread pool shutdown 
however the threads are not getting terminated at all. Please refer the below 
comments. 

Please do let me know if any further details are required.

==========================================================
The trace shows ThreadPool objects are created by this stack:            
                                                                         
org.apache.axis2.util.threadpool.ThreadPool.<init> (ThreadPool.java:53)  
org.apache.axis2.context.ConfigurationContext.getThreadPool              
(ConfigurationContext.java:648)                                          
org.apache.axis2.description.OutInAxisOperationClient.executeImpl        
(OutInAxisOperation.java:232)                                            
org.apache.axis2.client.OperationClient.execute                          
(OperationClient.java:165)                                               
au.com.amp.www.afs.idam.eventnotificationservice_v1.EventNotificationSer
viceStub.startsendEvent                                                  
(EventNotificationServiceStub.java:315)                                  
au.com.amp.isam.eai.util.PredatorClient.sendEvent                        
(PredatorClient.java:158)                                                
au.com.amp.isam.eai.util.PredatorClient$$FastClassByCGLIB$$aad7be26.invo
ke                                                                       
(<generated>)                                                            
net.sf.cglib.proxy.MethodProxy.invoke (MethodProxy.java:204)             
org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.i
nvokeJoinpoint                                                           
(Cglib2AopProxy.java:689)                                                
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed     
(ReflectiveMethodInvocation.java:150)                                    
org.springframework.aop.interceptor.AsyncExecutionInterceptor$1.call     
(AsyncExecutionInterceptor.java:83)                                      
java.util.concurrent.FutureTask$Sync.innerRun (FutureTask.java:314)      
java.util.concurrent.FutureTask.run (FutureTask.java:149)                
java.lang.Thread.run (Thread.java:773)                                   
/util/concurrent/ThreadPoolExecutor.<init>(IIJLjava/util/concurrent/Time
Unit;Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/ThreadFac
tory;)V                                                                  
Bytecode method, This = 17c764838                                        
                                                                         
This thread then creates a ThreadPoolExecutor and then a Thread.         
The ThreadPool shutdown methods were not called.                         
                                                                         
ServiceClient.cleanup() is being called by the finalizer for             
ServiceClient (and also by org.apache.axis2.client.Stub.cleanup() which  
is called by the finalizer for Stub, which I assume is a superclass of   
au.com.amp.www.afs.idam.eventnotificationservice_v1.EventNotificationSer
viceStub;                                                                
see below). However, this does not seem to lead to the associated        
ThreadPool being shut down.                                              
                                                                         
The dump shows there are:                                                
2 org/apache/axis2/client/ServiceClient                                  
336 java/lang/Thread                                                     
1 org/apache/axis2/util/threadpool/ThreadPool                            
294 org/apache/axis2/util/threadpool/ThreadPool$DefaultThreadFactory     
301 java.util.concurrent.ThreadPoolExecutor                              
294 java/util/concurrent/ThreadPoolExecutor$Worker                       
                                                                         
1 of the ServiceClient objects references the 1 ThreadPool. The          
ServiceClient is kept alive by                                           
au.com.amp.www.afs.idam.eventnotificationservice_v1.EventNotificationSer
viceStub                                                                 
@ 0x17f560dd8, which is waiting to be finalized.                         
                                                                         
SUMMARY:                                                                 
* Identified the code which creates the ThreadPool objects (and the      
"Axis2 Task" threads)                                                    
* Noted that ServiceClient.cleanup() is being called, but doesn't lead   
to ThreadPools being shut down                                          


L3 Java J9Core has confirmed same issue from latest set of data and does not 
involve or point to JDK/SDK code.  Issue should be
further investigated by owner of Axis2 to help explain why threadpools are not 
being shutdown properly.                                      
-------------------------------------------------------------------------------------------




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@axis.apache.org
For additional commands, e-mail: java-dev-h...@axis.apache.org

Reply via email to