Jetty version 9.4.41.v20210516 OS type/version Centos 7 I use jetty http client to call tomcat server in h2c protocol. I encountered the following exception after running about 8 hours. It seems the header tables are not sync between jetty and tomcat. java.lang.NullPointerException at org.apache.coyote.http2.HpackDecoder.handleIndex(HpackDecoder.java:267) at org.apache.coyote.http2.HpackDecoder.decode(HpackDecoder.java:109) at org.apache.coyote.http2.Http2Parser.readHeaderPayload(Http2Parser.java:486) at org.apache.coyote.http2.Http2Parser.readHeadersFrame(Http2Parser.java:270) at org.apache.coyote.http2.Http2AsyncParser$FrameCompletionHandler.completed(Http2AsyncParser.java:251) at org.apache.coyote.http2.Http2AsyncParser$FrameCompletionHandler.completed(Http2AsyncParser.java:164) at org.apache.tomcat.util.net.SocketWrapperBase$VectoredIOCompletionHandler.completed(SocketWrapperBase.java:1089) at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper$NioOperationState.run(NioEndpoint.java:1621) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:829)
Without some idea of how to reproduce this - and ideally a test case that demonstrates it - there isn't enough information in this report for the Tomcat team to work with. Given that the header state is maintained at the connection level, we'd likely need to see a network trace for the entire connection if we were going to debug this from the network trace. What we can do is add some debug logging that might provide some pointers if Tomcat is run with the hpack debug logging enabled.
I can't seem to find the reference to it, now, but I thought the reporter said that a header line (or name?) with > 1024 characters seems to trigger this. I'll keep searching for that reference.
Additional debug logging added in - 10.1.x for 10.1.0-M1 onwards - 10.0.x for 10.0.7 onwards - 9.0.x for 9.0.47 onwards - 8.5.x for 8.5.67 onwards Enable with: org.apache.coyote.http2.HpackDecoder.level = FINE in $CATALINA_BASE/logging.properties
The same issue was submitted in jetty, please help address it. https://github.com/eclipse/jetty.project/issues/6341
(In reply to Christopher Schultz from comment #2) > I can't seem to find the reference to it, now, but I thought the reporter > said that a header line (or name?) with > 1024 characters seems to trigger > this. I'll keep searching for that reference. I think you are referring to https://bz.apache.org/bugzilla/show_bug.cgi?id=65340
It has been more than a month and no debug logs have been provided that show this issue. Unless the information requested is provided, this issue will eventually get resolved as WORKSFORME.
Another month has passed. This issue is heading towards a WONTFIX resolution.
Several further months have passed with no further information provided. I am therefore resolving this as WORKSFORME. If, and only if, you are able to provide a test case that demonstrates this issue, feel free to re-open this issue and provide the test case.