Just tried 9.3.0M2 in maven central, no luck. This time I added counter to see when it failed, i.e. how many bytes have been sent before it failed. It seems it could range anywhere from a few MB to a few hundreds of MB. And still, the cause could either be state=READY or state=UNREADY I spent sometime trying to get a test case without using a bunch of dependencies in my project, but it didn't work...
Failed with state=READY java.lang.RuntimeException: Bytes written so far: 320 MB at org.example.transport.http.server.AsyncIOResponseHandler.onError(AsyncIOResponseHandler.java:55) at org.eclipse.jetty.server.HttpOutput.run(HttpOutput.java:892) at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1176) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:339) at org.eclipse.jetty.server.HttpChannel.run(HttpChannel.java:243) at org.eclipse.jetty.server.HttpOutput$AsyncICB.onCompleteSuccess(HttpOutput.java:963) at org.eclipse.jetty.server.HttpOutput$AsyncWrite.onCompleteSuccess(HttpOutput.java:1104) at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:318) at org.eclipse.jetty.util.IteratingCallback.succeeded(IteratingCallback.java:358) at org.eclipse.jetty.server.HttpConnection$SendCallback.onCompleteSuccess(HttpConnection.java:728) at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:318) at org.eclipse.jetty.util.IteratingCallback.succeeded(IteratingCallback.java:358) at org.eclipse.jetty.io.WriteFlusher$PendingState.complete(WriteFlusher.java:270) at org.eclipse.jetty.io.WriteFlusher.completeWrite(WriteFlusher.java:383) at org.eclipse.jetty.io.SelectChannelEndPoint$3.run(SelectChannelEndPoint.java:54) at org.eclipse.jetty.util.thread.strategy.ExecuteProduceRun.produceAndRun(ExecuteProduceRun.java:191) at org.eclipse.jetty.util.thread.strategy.ExecuteProduceRun.run(ExecuteProduceRun.java:126) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:641) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:559) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.IllegalStateException: state=READY at org.eclipse.jetty.server.HttpOutput.run(HttpOutput.java:921) ... 18 more Failed with state=UNREADY java.lang.RuntimeException: Bytes written so far: 663 MB at org.example.transport.http.server.AsyncIOResponseHandler.onError(AsyncIOResponseHandler.java:55) at org.eclipse.jetty.server.HttpOutput.run(HttpOutput.java:892) at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1176) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:339) at org.eclipse.jetty.server.HttpChannel.run(HttpChannel.java:243) at org.eclipse.jetty.server.HttpOutput$AsyncICB.onCompleteSuccess(HttpOutput.java:963) at org.eclipse.jetty.server.HttpOutput$AsyncWrite.onCompleteSuccess(HttpOutput.java:1104) at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:318) at org.eclipse.jetty.util.IteratingCallback.succeeded(IteratingCallback.java:358) at org.eclipse.jetty.server.HttpConnection$SendCallback.onCompleteSuccess(HttpConnection.java:728) at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:318) at org.eclipse.jetty.util.IteratingCallback.succeeded(IteratingCallback.java:358) at org.eclipse.jetty.io.WriteFlusher$PendingState.complete(WriteFlusher.java:270) at org.eclipse.jetty.io.WriteFlusher.completeWrite(WriteFlusher.java:383) at org.eclipse.jetty.io.SelectChannelEndPoint$3.run(SelectChannelEndPoint.java:54) at org.eclipse.jetty.util.thread.strategy.ExecuteProduceRun.produceAndRun(ExecuteProduceRun.java:191) at org.eclipse.jetty.util.thread.strategy.ExecuteProduceRun.run(ExecuteProduceRun.java:126) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:641) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:559) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.IllegalStateException: state=UNREADY at org.eclipse.jetty.server.HttpOutput.run(HttpOutput.java:921) ... 18 more On Tue, Apr 14, 2015 at 2:02 PM, Simone Bordet <[email protected]> wrote: > Michael, > > On Tue, Apr 14, 2015 at 7:54 PM, Michael Aaron <[email protected]> > wrote: > > Hello, > > > > I have upgraded to jetty-all-9.2.10.v20150310, but the problem remains. > What > > might be wrong? Does this exception mean usage error (my code attempting > to > > write when isReady() is not true), or does this mean some internal > problem > > of Jetty? > > Two things: > > 1) can you replicate the issue with the latest (built from the master > branch) Jetty ? > 2) can you put up a reproducible test case ? > > About your code, the use of synchronized is not optimal for async I/O > usage (you really want to be lock free for async I/O). > > Your code looks ok, but it's incomplete for us to give you a full > picture. We would need onWritePossible() and understand when doWrite() > is called. > What Joakim was referring to is one of the issue I mention in the > slides, but you are avoiding it by testing again _os.isReady() in the > while expression, so the buffer is not corrupted. > > Could be a 9.2.x issue, that's why if you can test with 9.3.x (master > branch) will be great. > > -- > Simone Bordet > ---- > http://cometd.org > http://webtide.com > http://intalio.com > Developer advice, training, services and support > from the Jetty & CometD experts. > Intalio, the modern way to build business applications. > _______________________________________________ > jetty-users mailing list > [email protected] > To change your delivery options, retrieve your password, or unsubscribe > from this list, visit > https://dev.eclipse.org/mailman/listinfo/jetty-users >
_______________________________________________ jetty-users mailing list [email protected] To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://dev.eclipse.org/mailman/listinfo/jetty-users
