https://bz.apache.org/bugzilla/show_bug.cgi?id=63816
--- Comment #2 from Mark Thomas <ma...@apache.org> --- I've been able to create a test case for this. This is one of those areas of the Servlet spec that could benefit from some clarification. There is this text in the spec: <quote> The application is responsible to handle concurrent access to the request and response objects if the async task is executing before the container-initiated dispatch that called startAsync has returned to the container. </quote> Does this mean that the dispatching servlet should exit to service() method immediately after calling startAsync(). I'd argue that that is good practice implied by the above quote but not required. Does this mean that the async thread should take steps not to use the request and response objects until it knows the service() method has returned? That is certainly the safest interpretation of "handle concurrent access" but it isn't the only one. Tomcat already handles the case where complete() or dispatch() are called on the async thread before the service() method exists. We "just" need to handle the error case in the same way. It looks like this ASCII art is going to need to be updated: https://github.com/apache/tomcat/blob/master/java/org/apache/coyote/AsyncStateMachine.java#L78 -- You are receiving this mail because: You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org