On 2015-10-09 09:05, Greg Shrack wrote:

I'm seeing an inconsistent problem where some messages are corrupted. We're sending serialized objects over websockets, and are seeing some corrupted messages with larger messages and sometimes when sending more quickly. We've testing with a number of versions including undertow 1.1.8.Final, but was seeing the same issue with newer versions as well.  Wireshark appears to show the corrupted data on the client side

 

Is it this stack trace?

 

ava.io.IOException: io.undertow.websockets.core.WebSocketFrameCorruptedException: UT002010: Received continuation data frame outside fragmented message
        at io.undertow.websockets.core.WebSocketChannel.parseFrame(WebSocketChannel.java:184) ~[undertow-core-1.2.8.Final.jar:1.2.8.Final]
        at io.undertow.server.protocol.framed.AbstractFramedChannel.receive(AbstractFramedChannel.java:340) ~[undertow-core-1.2.8.Final.jar:1.2.8.Final]
        at io.undertow.websockets.core.AbstractReceiveListener.handleEvent(AbstractReceiveListener.java:38) [undertow-core-1.2.8.Final.jar:1.2.8.Final]
        at io.undertow.websockets.core.AbstractReceiveListener.handleEvent(AbstractReceiveListener.java:33) [undertow-core-1.2.8.Final.jar:1.2.8.Final]
        at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92) [xnio-api-3.3.1.Final.jar:3.3.1.Final]
        at io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.handleEvent(AbstractFramedChannel.java:775) [undertow-core-1.2.8.Final.jar:1.2.8.Final]
        at io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.handleEvent(AbstractFramedChannel.java:763) [undertow-core-1.2.8.Final.jar:1.2.8.Final]
        at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92) [xnio-api-3.3.1.Final.jar:3.3.1.Final]
        at org.xnio.conduits.ReadReadyHandler$ChannelListenerHandler.readReady(ReadReadyHandler.java:66) [xnio-api-3.3.1.Final.jar:3.3.1.Final]
        at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:88) [xnio-nio-3.3.1.Final.jar:3.3.1.Final]
        at org.xnio.nio.WorkerThread.run(WorkerThread.java:539) [xnio-nio-3.3.1.Final.jar:3.3.1.Final]
Caused by: io.undertow.websockets.core.WebSocketFrameCorruptedException: UT002010: Received continuation data frame outside fragmented message
        at io.undertow.websockets.core.protocol.version07.WebSocket07Channel$WebSocketFrameHeader.validateDataFrame(WebSocket07Channel.java:418) ~[undertow-core-1.2.8.Final.jar:1.2.8.Final]
        at io.undertow.websockets.core.protocol.version07.WebSocket07Channel$WebSocketFrameHeader.handle(WebSocket07Channel.java:267) ~[undertow-core-1.2.8.Final.jar:1.2.8.Final]
        at io.undertow.websockets.core.WebSocketChannel.parseFrame(WebSocketChannel.java:174) ~[undertow-core-1.2.8.Final.jar:1.2.8.Final]
        ... 10 common frames omitted

 

 

I intermittently get the above with 1.2. I helped refactor the websocket implementation in 1.3 and it should (hopefully) not exhibit that. I haven't pushed it into my production applications yet though.

 

Have you tested one of the 1.3 candidates?

 

-pete

 

-- 
(peter.royal|osi)@pobox.com - http://fotap.org/~osi