Am 11.04.2017 um 13:47 schrieb Mark Thomas:
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.

Thanks for investigating and letting us know! I saw your new Null checks in CoyoteAdapter.

Regards,

Rainer

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