axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rajan Arora (JIRA)" <j...@apache.org>
Subject [jira] [Created] (AXIS2-5696) Axis 2 threads are not closing properly
Date Wed, 29 Apr 2015 01:57:05 GMT
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-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


Mime
View raw message