Bug 60436 - AbstractProcessor.doTimeoutAsync(AbstractProcessor.java:528) NPE
Summary: AbstractProcessor.doTimeoutAsync(AbstractProcessor.java:528) NPE
Alias: None
Product: Tomcat 8
Classification: Unclassified
Component: Connectors (show other bugs)
Version: 8.5.8
Hardware: PC Linux
: P2 normal (vote)
Target Milestone: ----
Assignee: Tomcat Developers Mailing List
Depends on:
Reported: 2016-12-01 08:42 UTC by hongjiang
Modified: 2016-12-02 09:16 UTC (History)
0 users


Note You need to log in before you can comment on or make changes to this bug.
Description hongjiang 2016-12-01 08:42:19 UTC
I use async servlet, It is easy to reproduce. 
tomcat 8.5.8, jdk 1.8.0_65-b17,  linux 2.6.32-573.22.1.el6.x86_64

Exception in thread "http-nio-8080-AsyncTimeout" java.lang.NullPointerException
	at org.apache.coyote.AbstractProcessor.doTimeoutAsync(AbstractProcessor.java:528)
	at org.apache.coyote.AbstractProcessor.timeoutAsync(AbstractProcessor.java:518)
	at org.apache.coyote.AbstractProtocol$AsyncTimeout.run(AbstractProtocol.java:1130)
	at java.lang.Thread.run(Thread.java:745)
Comment 1 Remy Maucherat 2016-12-01 09:16:19 UTC
Let's pretend it is more difficult to reproduce than you think, then. Are you using HTTP/2 ?
Comment 2 hongjiang 2016-12-01 09:41:29 UTC
No,I didn't use http2.0,my connector config:

    <Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
               connectionTimeout="20000" redirectPort="8443" maxParameterCount="2000" maxKeepAliveRequests="-1"
	       maxThreads="200" maxPostSize="20971520" acceptCount="1024" useBodyEncodingForURI="true"

It's happened in pressure test (high concurrency), 
one nginx reverse proxy to 4 tomcat server,
All 4 tomcat server occurred that NPE。
Comment 3 Mark Thomas 2016-12-02 09:16:38 UTC
Fixed in:
- trunk for 9.0.0.M14 onwards
- 8.5.x for 8.5.9 onwards

8.0.x and earlier are not affected