Hi,

I have a curious error ...  using Jetty 8.1.10

We have a client sending us a request that appears to be badly encoded in
some way.  We have a servlet that is making use of a continuation.
So, on the first pass, it appears to handle the request, we capture details
from the query params successfully (we are able to grab all of these on the
first pass and log them), then we establish a continuation, set a timeout
and suspend() it.

However, it seems that upon resuming this continuation, it is then unable
to parse the response on this second pass and generates the following stack
trace.


2013-10-04 10:07:10,199 85177654 (qtp1195561814-892) WARN
[org.eclipse.jetty.util.UrlEncoded]
org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception: Not valid UTF8!
byte 73 in state 4
2013-10-04 10:07:10,199 85177654 (qtp1195561814-892) WARN
[org.eclipse.jetty.io.nio]  handle failed
org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception: Not valid UTF8!
byte 73 in state 4
    at
org.eclipse.jetty.util.Utf8Appendable.appendByte(Utf8Appendable.java:178)
    at org.eclipse.jetty.util.Utf8Appendable.append(Utf8Appendable.java:117)
    at org.eclipse.jetty.http.HttpURI.toUtf8String(HttpURI.java:503)
    at org.eclipse.jetty.http.HttpURI.toString(HttpURI.java:762)
    at java.lang.String.valueOf(String.java:2854)
    at
org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:535)
    at
org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:942)
    at
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1004)
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640)
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
    at
org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
    at
org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:628)
    at
org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
    at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
    at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
    at java.lang.Thread.run(Thread.java:722)

The offending request regrettably doesn't make it to the access log (I am
hopeful that we will be able to work with the offending client to capture a
trace, and can make that available)

Based on the fact that i am initially able to handle the request before the
continuation is resumed, i guess there is some inconsistency in the request
parsing once the request is re-played by the continuation.

Has anybody seen something simiilar to this? is there a workaround or some
known gotcha i may be tripping over here?

Thanks

Paul
_______________________________________________
jetty-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/jetty-users

Reply via email to