Search code examples
javaibm-wasjava-threadsthread-dump

IBM WAS 5.1 / Tread dump analysis: Servlet.Engine.Transports stuck on java.net.SocketInputStream.socketRead0


I am running WAS 5.1 with Sun 1.4.2 Java on a Solaris 10 box. Trying to figure out why the application becomes unresponsive.

I see in a thread dump that most threads named Servlet.Engine.Transport[...] remain stuck on this stack trace:

"Servlet.Engine.Transports : 10388" daemon prio=5 tid=0x00304620 nid=0x322f runnable [1b3cf000..1b3cfc28]
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:129)
    at com.ibm.ws.io.Stream.read(Stream.java:17)
    at com.ibm.ws.io.ReadStream.readBuffer(ReadStream.java:418)
    at com.ibm.ws.io.ReadStream.read(ReadStream.java:110)
    at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:454)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:936)

I guess I should just consider these as idle threads (keep alive connections), but I can't find much information to confirm that theory...?


Solution

  • Looking at the "latest" 5.1 source code, the line numbers do imply that this is a keepalive read rather than reading data intra-request.