On 30/03/17 20:35, Rainer Jung wrote:

<snip/>

>   - Exceptions: the biggest difference is more NullPointerException
> (about 32 new ones). They seem to happen after the stop was issued and
> only for apr and nio, not for nio2. Two cases:
>     - org.apache.coyote.http11.Http11Processor.endRequest Error
> finishing response (20 times)

<snip/>

I've got to the bottom of what is causing this. I'm still investigating
potential solutions.

What happens is:
- request processing thread writes the response
- main thread reads response and ends the test
- ending the test stops the Tomcat instance
- that eventually calls stop on the endpoint
- the endpoint stops the poller
- the poller times out any open connections
- timing out the connection recycles the MappingData
- all of this happens before the request processing thread gets as far
  as line 393 in the CoyoteAdapter

and that triggers the NPE.

> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:393)
> at
> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:498)
> at
> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
> 
> at
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:796)
> 
> 
> Line 393 is:
> 
> request.getMappingData().context.logAccess(request, response,
> System.currentTimeMillis() - req.getStartTime(), false);

<snip/>

Mark


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to