java.nio.channels.WritePendingException

Jive Software Open Source | csh | 1 year ago
  1. 0

    The new async BOSH logic cannot handle larger packets (seems like about > 64 KB) and fails to deliver correct responses to the client: {noformat} java.nio.channels.WritePendingException at org.eclipse.jetty.server.HttpConnection$SendCallback.reset(HttpConnection.java:624) at org.eclipse.jetty.server.HttpConnection$SendCallback.access$100(HttpConnection.java:594) at org.eclipse.jetty.server.HttpConnection.send(HttpConnection.java:479) at org.eclipse.jetty.server.HttpChannel.sendResponse(HttpChannel.java:768) at org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:801) at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:142) at org.eclipse.jetty.servlets.gzip.GzipHttpOutput.write(GzipHttpOutput.java:74) at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:135) at org.eclipse.jetty.server.HttpOutput.close(HttpOutput.java:166) at org.eclipse.jetty.server.Response.closeOutput(Response.java:1017) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:421) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) at java.lang.Thread.run(Thread.java:724) {noformat} The reason is, that the AsyncContext.complete() method is called, while a write operation is still in progress. As a consequence, clients only receive a partial response and will fail to parse it correctly.

    Jive Software Open Source | 1 year ago | csh
    java.nio.channels.WritePendingException
  2. 0

    The new async BOSH logic cannot handle larger packets (seems like about > 64 KB) and fails to deliver correct responses to the client: {noformat} java.nio.channels.WritePendingException at org.eclipse.jetty.server.HttpConnection$SendCallback.reset(HttpConnection.java:624) at org.eclipse.jetty.server.HttpConnection$SendCallback.access$100(HttpConnection.java:594) at org.eclipse.jetty.server.HttpConnection.send(HttpConnection.java:479) at org.eclipse.jetty.server.HttpChannel.sendResponse(HttpChannel.java:768) at org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:801) at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:142) at org.eclipse.jetty.servlets.gzip.GzipHttpOutput.write(GzipHttpOutput.java:74) at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:135) at org.eclipse.jetty.server.HttpOutput.close(HttpOutput.java:166) at org.eclipse.jetty.server.Response.closeOutput(Response.java:1017) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:421) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) at java.lang.Thread.run(Thread.java:724) {noformat} The reason is, that the AsyncContext.complete() method is called, while a write operation is still in progress. As a consequence, clients only receive a partial response and will fail to parse it correctly.

    JIRA | 1 year ago | csh
    java.nio.channels.WritePendingException
  3. 0

    The new async BOSH logic cannot handle larger packets (seems like about > 64 KB) and fails to deliver correct responses to the client: {noformat} java.nio.channels.WritePendingException at org.eclipse.jetty.server.HttpConnection$SendCallback.reset(HttpConnection.java:624) at org.eclipse.jetty.server.HttpConnection$SendCallback.access$100(HttpConnection.java:594) at org.eclipse.jetty.server.HttpConnection.send(HttpConnection.java:479) at org.eclipse.jetty.server.HttpChannel.sendResponse(HttpChannel.java:768) at org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:801) at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:142) at org.eclipse.jetty.servlets.gzip.GzipHttpOutput.write(GzipHttpOutput.java:74) at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:135) at org.eclipse.jetty.server.HttpOutput.close(HttpOutput.java:166) at org.eclipse.jetty.server.Response.closeOutput(Response.java:1017) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:421) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) at java.lang.Thread.run(Thread.java:724) {noformat} The reason is, that the AsyncContext.complete() method is called, while a write operation is still in progress. As a consequence, clients only receive a partial response and will fail to parse it correctly.

    Jive Software Open Source | 1 year ago | csh
    java.nio.channels.WritePendingException
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    GitHub comment 163#44892584

    GitHub | 3 years ago | jmatsushita
    java.nio.channels.WritePendingException
  6. 0

    WritePendingException on jetty-client tests

    Eclipse Bugzilla | 4 years ago | janb
    java.nio.channels.WritePendingException

    1 unregistered visitors
    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. java.nio.channels.WritePendingException

      No message provided

      at org.eclipse.jetty.server.HttpConnection$SendCallback.reset()
    2. Jetty
      QueuedThreadPool$3.run
      1. org.eclipse.jetty.server.HttpConnection$SendCallback.reset(HttpConnection.java:624)
      2. org.eclipse.jetty.server.HttpConnection$SendCallback.access$100(HttpConnection.java:594)
      3. org.eclipse.jetty.server.HttpConnection.send(HttpConnection.java:479)
      4. org.eclipse.jetty.server.HttpChannel.sendResponse(HttpChannel.java:768)
      5. org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:801)
      6. org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:142)
      7. org.eclipse.jetty.servlets.gzip.GzipHttpOutput.write(GzipHttpOutput.java:74)
      8. org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:135)
      9. org.eclipse.jetty.server.HttpOutput.close(HttpOutput.java:166)
      10. org.eclipse.jetty.server.Response.closeOutput(Response.java:1017)
      11. org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:421)
      12. org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
      13. org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
      14. org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
      15. org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
      15 frames
    3. Java RT
      Thread.run
      1. java.lang.Thread.run(Thread.java:724)
      1 frame