In the handle method of WebsocketConnectionD00 class, it is using _endp.fill method to get the bytes from the ChannelEndPoint. ChannelEndPoint is using SocketChannel's read method to read bytes from the buffer. Potentially read method can return 0 bytes and that is not being checked in _endp.fill. As a result this is leading to an infinite loop in the handle method of WebsocketConnectionD00. This issue might also be related to an old issue http://jira.codehaus.org/browse/JETTY-1270, though the thread dumps do not seem to match.