Profile Image
Augustine Enang

Any recommendations to resolve weblogic stuck threads?

Dear Team,

 

Can this tool help reommend actions to be taken to resolve stuck threads



Report URL - https://fastthread.io/my-thread-report.jsp?p=c2hhcmVkLzIwMjEvMDMvNi8tLWFwaS1mN2FiZmY5My0xMjQ4LTQ0YWQtOGIwMS0xMzdjNGY5OWYzMTM4MGYxOWM0ZC0zNTRmLTRmYzctOWNmZS0wNGYyZDNmZWVmNzQudHh0

  • resolvestuckthread

  • analyzethreaddumps

Please Sign In or to post your comment or answer

Profile Image

Ram Lakshmanan

Hello Augustine!

 

 Greetings. As you have pointed out one of the thread is in STUCK state. Weblogic classified threads that are taken out of the pool and not returned after a specified time period are marked as STUCK threads.

 

 Here is the stack trace of the STUCK state thread:

 

STUCK] ExecuteThread: '116' for queue: 'weblogic.kernel.Default (self-tuning)'
THREAD ID :295
STATE :RUNNABLE

stackTrace:
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(SocketInputStream.java:127)
at java.net.SocketInputStream.read(SocketInputStream.java:182)
at java.net.SocketInputStream.read(SocketInputStream.java:152)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:257)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:297)
at java.io.BufferedInputStream.read(BufferedInputStream.java:356)
at sun.net.www.http.ChunkedInputStream.readAheadBlocking(ChunkedInputStream.java:564)
at sun.net.www.http.ChunkedInputStream.readAhead(ChunkedInputStream.java:621)
at sun.net.www.http.ChunkedInputStream.read(ChunkedInputStream.java:708)
at java.io.FilterInputStream.read(FilterInputStream.java:144)
at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:3466)
at java.io.FilterInputStream.read(FilterInputStream.java:144)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:257)
at java.io.BufferedInputStream.read(BufferedInputStream.java:276)
at com.sun.xml.ws.util.StreamUtils.hasSomeData(StreamUtils.java:66)
at com.sun.xml.ws.transport.http.client.HttpTransportPipe.createResponsePacket(HttpTransportPipe.java:259)
at com.sun.xml.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:232)
at weblogic.wsee.jaxws.transport.http.client.WLSHttpTransportPipe.process(WLSHttpTransportPipe.java:30)

 

 It looks like thread is stuck waiting for response from the external system. I suspect proper connection level timeout value is not set. One way to set connection level timeout for all connections in the JVM is to use: -Dsun.net.client.defaultConnectTimeout and -Dsun.net.client.defaultReadTimeout system property.

 

 More about these two properties can be found here. However note this is a global time out value for entire JVM. If you set it to very aggressive value and if there are some slowly responding SORs to which your application connects, then might expereince timeout. 

 

 Best option is to set the connection timeout for this system alone through connection pool timeout. If that is not possible, you can use -Dsun.net.client.defaultConnectTimeout and -Dsun.net.client.defaultReadTimeout system property.

 

 

Got something else on mind? Post Your Question

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

  • analyzethreaddumps