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)(a)pobox.com -
http://fotap.org/~osi [1]
Links:
------
[1]
http://fotap.org/~osi