You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2021/04/25 15:29:34 UTC

[Bug 65264] New: Header size is bigger will cause TimeoutException

https://bz.apache.org/bugzilla/show_bug.cgi?id=65264

            Bug ID: 65264
           Summary: Header size is bigger will cause TimeoutException
           Product: Tomcat 9
           Version: 9.0.45
          Hardware: PC
                OS: Mac OS X 10.1
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Catalina
          Assignee: dev@tomcat.apache.org
          Reporter: 297442500@qq.com
  Target Milestone: -----

Jetty version
9.4.39.v20210325

Java version
1.8

OS type/version
MAC and linux

Description
When the header size reaches some value (In my demo, it's 2237B) and multiple
requests send concurrently, some requests will not be sent to remote server and
cause an TimeoutException and then an "java.lang.IllegalStateException: Max
local stream count 100 exceeded". When the header size is smaller, it's ok.
Please refer to this demo project to reproduce it.
https://github.com/qingdaoheze/jetty-gzip-decode


detail message can see:
https://github.com/eclipse/jetty.project/issues/6208
when the server change to jetty, timeout was gone!

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[Bug 65264] Header size is bigger will cause TimeoutException

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=65264

Mark Thomas <ma...@apache.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |INVALID

--- Comment #2 from Mark Thomas <ma...@apache.org> ---
As the Jetty team have already told you:

"...if you use Jetty's low-level HTTP2Client, it is the application
responsibility to control that the maximum number of streams is not exceeded."

You don't do this, so Tomcat refuses any excess streams. If this happens
multiple times on a connection (the exact number will vary depending on
circumstances) Tomcat will consider the client abusive and close the entire
connection.

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[Bug 65264] Header size is bigger will cause TimeoutException

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=65264

--- Comment #3 from linking12 <29...@qq.com> ---
Do have any suggestions for me to circumvent this problem?

if i use jetty high level api, can resolve this problem?

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[Bug 65264] Header size is bigger will cause TimeoutException

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=65264

--- Comment #1 from linking12 <29...@qq.com> ---
As jetty commitor said:

1: when i change the server to jetty, the timeout gone and jetty will not occur
any exception;

2: see Jetty's client sending requests, and Tomcat server replying to some but
then stopping to reply, so the client times out.

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org