Here is the relevant stack trace:
java.net.SocketInputStream.socketRead0(java.io.FileDescriptor, byte[],
int, int, int) @bci=0 (Interpreted frame)
- java.net.SocketInputStream.read(byte[], int, int, int) @bci=87, line=152 (Interpreted frame)
- java.net.SocketInputStream.read(byte[], int, int) @bci=11, line=122 (Interpreted frame)
- com.wily.util.io.NonSyncBufferedInputStream.fill() @bci=14, line=54 (Interpreted frame)
- com.wily.util.io.NonSyncBufferedInputStream.read() @bci=12, line=79 (Compiled frame)
- java.io.FilterInputStream.read() @bci=4, line=83 (Compiled frame)
- com.wily.util.io.EncryptInputStream.read() @bci=1, line=64 (Compiled frame)
- com.wily.org.apache.commons.io.input.ProxyInputStream.read() @bci=4, line=49 (Compiled frame)
- com.wily.org.apache.commons.io.input.CountingInputStream.read() @bci=1, line=70 (Compiled frame)
- java.io.DataInputStream.readInt() @bci=4, line=387 (Interpreted frame)
- com.wily.isengard.postofficehub.link.v1.IsengardObjectInputStream.readInt()
@bci=4, line=1295 (Interpreted frame)
- com.wily.isengard.postofficehub.link.v1.IsengardObjectInputStream.setUpStartObjectGraph()
@bci=5, line=460 (Interpreted frame)
- com.wily.isengard.postofficehub.link.v1.IsengardObjectInputStream.readObject()
@bci=8, line=258 (Interpreted frame)
- com.wily.isengard.postofficehub.link.v1.IncomingMessageDeliveryTask.deliverNextMessage(boolean)
@bci=54, line=76 (Interpreted frame)
- com.wily.isengard.postofficehub.link.v1.IncomingRouteConnector.receiveIncomingMessages(com.wily.isengard.postofficehub.link.v1.IsengardObjectInputStream)
@bci=18, line=170 (Interpreted frame)
- com.wily.isengard.postofficehub.link.v1.IncomingRouteConnector.doTask()
@bci=32, line=89 (Interpreted frame)
- com.wily.isengard.util.thread.AThreadedExecutable.run() @bci=27, line=192 (Interpreted frame)
The socketRead0 call is blocking io in native code. It will not return until a byte is read or, if the socket read timeout has been set, it times out. It cannot be interrupted. If you have any control over the creation of the Socket, it is important to set the timeout.