FD_SOCK2 uses an NioConnection. When a peer crashes, the connection is closed. However, the handling of the close prevents reading from the NIO socket, and thus, the response is received after the waitFor() timeout:
"NioServer.Selector [/[0:0:0:0:0:0:0:0]:7900]-4,chat,X@3160" tid=0x25 nid=NA runnable java.lang.Thread.State: RUNNABLE at org.jgroups.protocols.FD_SOCK2.connectTo(FD_SOCK2.java:430) at org.jgroups.protocols.FD_SOCK2.connectTo(FD_SOCK2.java:401) at org.jgroups.protocols.FD_SOCK2.connectToNextPingDest(FD_SOCK2.java:377) at org.jgroups.protocols.FD_SOCK2.handle(FD_SOCK2.java:348) at org.jgroups.protocols.FD_SOCK2.handle(FD_SOCK2.java:32) at org.jgroups.util.ProcessingQueue.process(ProcessingQueue.java:55) at org.jgroups.util.ProcessingQueue.add(ProcessingQueue.java:35) at org.jgroups.protocols.FD_SOCK2.connectionClosed(FD_SOCK2.java:293) at org.jgroups.blocks.cs.BaseServer.notifyConnectionClosed(BaseServer.java:470) at org.jgroups.blocks.cs.BaseServer.closeConnection(BaseServer.java:362) at org.jgroups.blocks.cs.BaseServer.closeConnection(BaseServer.java:356) at org.jgroups.blocks.cs.NioConnection.read(NioConnection.java:208) at org.jgroups.blocks.cs.NioBaseServer$Acceptor.run(NioBaseServer.java:145) at java.lang.Thread.runWith(Thread.java:1596) at java.lang.Thread.run(Thread.java:1583)