Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Won't Fix
-
None
-
None
-
None
Description
In FrameHandler.java, the parse() method sets the state to State.ERROR on certain error conditions. Then it sends a Close frame by calling _connection.handleError().
However, since _state is set to ERROR, all subsequent frames are ignored (by the state check in while loop). The Close frame from the peer will not be processed, so the connection is stuck in this state and there is no way for the application to recover.
This can be easily reproduced by sending empty frames from the peer (without applying the patch in issue #29).