Uploaded image for project: 'Undertow'
  1. Undertow
  2. UNDERTOW-508

corrupted websocket messages when using per-message deflate

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 1.3.0.Beta11
    • 1.2.8.Final
    • Core
    • None

    Description

      I am adding the PerMessageDeflateHandshake to my web socket handler.

      Reliably, but only in some of my applications, I receive a corrupted message in the callback for io.undertow.websockets.core.AbstractReceiveListener.onFullTextMessage

      I also see exceptions in the form of:

      12:00:19,666 [XNIO-1 I/O-4] ERROR org.xnio.nio - XNIO000011: Task io.undertow.server.protocol.framed.AbstractFramedChannel$FrameCloseListener$1@46ccd900 failed with an exception
      java.lang.IllegalStateException: UT000091: Buffer has already been freed
              at io.undertow.util.ReferenceCountedPooled.getResource(ReferenceCountedPooled.java:99) ~[undertow-core-1.2.8.Final.jar:1.2.8.Final]
              at io.undertow.server.protocol.framed.AbstractFramedChannel$FrameCloseListener$1.run(AbstractFramedChannel.java:829) ~[undertow-core-1.2.8.Final.jar:1.2.8.Final]
              at org.xnio.nio.WorkerThread.safeRun(WorkerThread.java:560) ~[xnio-nio-3.3.1.Final.jar:3.3.1.Final]
              at org.xnio.nio.WorkerThread.run(WorkerThread.java:462) ~[xnio-nio-3.3.1.Final.jar:3.3.1.Final]
      

      In one of my other applications that I've added the handler, I'm seeing no problems. Both are using the exact same undertow integration code, and both operate as expected when not using the per-message deflate extension.

      I realize this is a sparse report, so I'm happy to test and provide any additional information as needed.

      Attachments

        Activity

          People

            sdouglas1@redhat.com Stuart Douglas
            proyal_jira peter royal (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: