User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2
Hi Greg,
Sure. Below are two such exceptions triggered via Firefox 70.0.1.
The first one was captured while running the server in Eclipse and
the second one was taken from the stderr-logging on a server. Both
use Jetty 9.4.24. My desktop is a Fedora31/OpenJDK13 while the
server runs Ubuntu 19.04/OpenJDK12.
Cheers,
Silvio
2019-12-02 14:56:03.564:WARN:oejs.HttpChannelState:qtp1441577726-46:
org.eclipse.jetty.io.EofException: Reset cancel_stream_error
org.eclipse.jetty.io.EofException: Reset cancel_stream_error
at
org.eclipse.jetty.http2.server.HTTP2ServerConnectionFactory$HTTPServerSessionListener.onReset(HTTP2ServerConnectionFactory.java:157)
at
org.eclipse.jetty.http2.HTTP2Stream.notifyReset(HTTP2Stream.java:574)
at
org.eclipse.jetty.http2.HTTP2Stream.onReset(HTTP2Stream.java:343)
at
org.eclipse.jetty.http2.HTTP2Stream.process(HTTP2Stream.java:252)
at
org.eclipse.jetty.http2.HTTP2Session.onReset(HTTP2Session.java:295)
at
org.eclipse.jetty.http2.parser.Parser$Listener$Wrapper.onReset(Parser.java:372)
at
org.eclipse.jetty.http2.parser.BodyParser.notifyReset(BodyParser.java:144)
at
org.eclipse.jetty.http2.parser.ResetBodyParser.onReset(ResetBodyParser.java:97)
at
org.eclipse.jetty.http2.parser.ResetBodyParser.parse(ResetBodyParser.java:66)
at
org.eclipse.jetty.http2.parser.Parser.parseBody(Parser.java:198)
at org.eclipse.jetty.http2.parser.Parser.parse(Parser.java:127)
at
org.eclipse.jetty.http2.parser.ServerParser.parse(ServerParser.java:115)
at
org.eclipse.jetty.http2.HTTP2Connection$HTTP2Producer.produce(HTTP2Connection.java:248)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produceTask(EatWhatYouKill.java:360)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:184)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
at
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:388)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
at java.base/java.lang.Thread.run(Thread.java:830)
Suppressed: java.lang.Throwable: HttpInput failure
at
org.eclipse.jetty.server.HttpInput.failed(HttpInput.java:823)
at
org.eclipse.jetty.http2.server.HttpChannelOverHTTP2.onFailure(HttpChannelOverHTTP2.java:323)
at
org.eclipse.jetty.http2.server.HTTP2ServerConnection.onStreamFailure(HTTP2ServerConnection.java:221)
... 21 more
2019-12-02
15:05:50.984:WARN:oejs.HttpChannelState:qtp1608297024-1004:
org.eclipse.jetty.io.EofException: Reset cancel_stream_error
org.eclipse.jetty.io.EofException: Reset cancel_stream_error
at
org.eclipse.jetty.http2.server.HTTP2ServerConnectionFactory$HTTPServerSessionListener.onReset(HTTP2ServerConnectionFactory.java:157)
at
org.eclipse.jetty.http2.HTTP2Stream.notifyReset(HTTP2Stream.java:574)
at
org.eclipse.jetty.http2.HTTP2Stream.onReset(HTTP2Stream.java:343)
at
org.eclipse.jetty.http2.HTTP2Stream.process(HTTP2Stream.java:252)
at
org.eclipse.jetty.http2.HTTP2Session.onReset(HTTP2Session.java:295)
at
org.eclipse.jetty.http2.parser.Parser$Listener$Wrapper.onReset(Parser.java:372)
at
org.eclipse.jetty.http2.parser.BodyParser.notifyReset(BodyParser.java:144)
at
org.eclipse.jetty.http2.parser.ResetBodyParser.onReset(ResetBodyParser.java:97)
at
org.eclipse.jetty.http2.parser.ResetBodyParser.parse(ResetBodyParser.java:66)
at
org.eclipse.jetty.http2.parser.Parser.parseBody(Parser.java:198)
at org.eclipse.jetty.http2.parser.Parser.parse(Parser.java:127)
at
org.eclipse.jetty.http2.parser.ServerParser.parse(ServerParser.java:115)
at
org.eclipse.jetty.http2.HTTP2Connection$HTTP2Producer.produce(HTTP2Connection.java:248)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produceTask(EatWhatYouKill.java:360)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:184)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:135)
at
org.eclipse.jetty.http2.HTTP2Connection.produce(HTTP2Connection.java:170)
at
org.eclipse.jetty.http2.HTTP2Connection.onFillable(HTTP2Connection.java:125)
at
org.eclipse.jetty.http2.HTTP2Connection$FillableCallback.succeeded(HTTP2Connection.java:348)
at
org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at
org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:543)
at
org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:398)
at
org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:161)
at
org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at
org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
at
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:388)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
at java.base/java.lang.Thread.run(Thread.java:835)
Suppressed: java.lang.Throwable: HttpInput failure
at
org.eclipse.jetty.server.HttpInput.failed(HttpInput.java:823)
at
org.eclipse.jetty.http2.server.HttpChannelOverHTTP2.onFailure(HttpChannelOverHTTP2.java:323)
at
org.eclipse.jetty.http2.server.HTTP2ServerConnection.onStreamFailure(HTTP2ServerConnection.java:221)
... 34 more
On 12/2/19 2:42 PM, Greg Wilkins wrote:
Silvio,
This is the second time I've heard about a
problem fetching browser resources like CSS or js. Can you
attach the stacks you are seeing?
The last few days exceptions have started to come up in the
logging. We can quite easily reproduce them by testing
common parts of our web applications using Firefox. Using
Chrome the same actions do not produce exceptions (or
warnings).
Strangely enough this seems to intermittently fail mostly
(but not exclusively) on plain GET requests for CSS
resources that are requested by the browser as a result of
an @import from another CSS resource.
We serve the files ourselves from a servlet. Perhaps we are
doing something that triggers this? GET requests for which
we serve the response content dynamically seem to work fine.
The same goes for POSTs. Since it only happens via one of
our code paths I suspect we are causing this in some way,
although the code is extremely simple.
Kind regards,
Silvio
On 11/29/19 12:27 AM, Greg Wilkins wrote:
Silvio,
I believe it is ignorable and you can turn the
HttpChannelState logger level down to suppress them.
However, if there a stack trace associated with
that warning then it is not what I think it is and you
need to provide more information.
What I believe is happening is that while a request
is being processed, the associated HTTP/2 stream is
being reset (probably by the client?)
This asynchronous error is detected but because the
request is not async, it cannot be delivered to the
request and instead we warn. This is probably over
verbose as clients can do silly things like close mid
request handling.
Can anyone tell me what this means? I take it the
situation is not
critical because the application has worked flawlessly
for years with
earlier Jetty versions without these messages. Can I
turn this off?