Profile Image
NARASIMHA SWAMY MATTA

Threads going into waiting & Blocked state and Integration Server not responding

Hi All,

 

Could you please help me with what is wrong with this application suddenly unresponsive?

 

Thank you.

 

Report URL - Sorry, unable to generate URL

  • waitingstate

  • blockedstate

  • integrationservernotresponding

  • classloading

  • locking

  • xmlserialization

Profile Image

Ram Lakshmanan

Hello Narasimha!

 Can you share your report URL? In the fastThread report on the right top corner you will see 'Share Report' link. When you click on it, it will generate your report URL. Share that URL in this post. We can investigate and let you know what's going on. Thanks.

 

Please Sign In or to post your comment or answer

Profile Image

NARASIMHA SWAMY MATTA

Hi Ram,

 

Please find the URL below.

 

https://gceasy.io/my-thread-report.jsp?p=c2hhcmVkLzIwMjIvMDMvMTgvLS1URF82NTVfMTdtYXJfMS4yMHBtLnR4dC0tMC0zMy0yNg==&;

 

Thank you.

 

Regards,

Nara.

Profile Image

Ram Lakshmanan

Hello Nara!

 

 Greetings. Below is the excerpt from your thread dump analysis report:

 

 

Above is the transitive dependency graph which is telling that 44 threads are getting BLoCKED. Actually in your application there is a 'Integration Server Thread', this thread acquired the 'com.wm.app.b2b.server.ServerClassLoader' lock and didn't release it. Due to which 44 other threads got blocked. Below is the top portion of the stack trace of this 'Integration Server Thread':

 

 

Stack Trace is:
at java.lang.ClassLoader.loadClass(ClassLoader.java:404)
- locked <0x6d497769> (a com.wm.app.b2b.server.ServerClassLoader)
at com.wm.app.b2b.server.ServerClassLoader.loadClass(ServerClassLoader.java:1175)
at com.wm.app.b2b.server.ServerClassLoader.loadClass(ServerClassLoader.java:1108)
at org.apache.xml.serializer.ObjectFactory.findProviderClass(ObjectFactory.java:503)
at org.apache.xml.serializer.SerializerFactory.getSerializer(SerializerFactory.java:129)
at org.apache.xalan.transformer.TransformerIdentityImpl.createResultContentHandler(TransformerIdentityImpl.java:260)
at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:330)
at org.springframework.ws.client.core.WebServiceTemplate$4.extractData(WebServiceTemplate.java:441)
at org.springframework.ws.client.core.WebServiceTemplate$4.extractData(WebServiceTemplate.java:437)
at org.springframework.ws.client.core.WebServiceTemplate$SourceExtractorMessageExtractor.extractData(WebServiceTemplate.java:807)
at org.springframework.ws.client.core.WebServiceTemplate.doSendAndReceive(WebServiceTemplate.java:596)
at org.springframework.ws.client.core.WebServiceTemplate.sendAndReceive(WebServiceTemplate.java:537)
at org.springframework.ws.client.core.WebServiceTemplate.doSendAndReceive(WebServiceTemplate.java:492)
at org.springframework.ws.client.core.WebServiceTemplate.sendSourceAndReceiveToResult(WebServiceTemplate.java:436)
at org.springframework.ws.client.core.WebServiceTemplate.sendSourceAndReceiveToResult(WebServiceTemplate.java:421)

:

:

 

You can notice that this thread is trying to load class as part of XML serialization, however this is a slow process and tries to halt the performance of the application.

 

Similar problem can be found here: Classloading and locking - DZone Performance

 

Instead of loading the class during runtime, can you load the classes during server initialization time?

Got something else on mind? Post Your Question

Not the answer you're looking for? Browse other questions tagged
  • waitingstate

  • blockedstate

  • integrationservernotresponding

  • classloading

  • locking

  • xmlserialization