Bug 60436

Summary: AbstractProcessor.doTimeoutAsync(AbstractProcessor.java:528) NPE
Product: Tomcat 8 Reporter: hongjiang <w.hongjiang>
Component: ConnectorsAssignee: Tomcat Developers Mailing List <dev>
Status: RESOLVED FIXED    
Severity: normal    
Priority: P2    
Version: 8.5.8   
Target Milestone: ----   
Hardware: PC   
OS: Linux   

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"
            URIEncoding="UTF-8"/>

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