This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/9.0.x by this push: new 899000d Fix another intermittent failure. Same root cause as the BZ 49567 test 899000d is described below commit 899000d53fd3e6641de547055ed40814b99439b0 Author: Mark Thomas <ma...@apache.org> AuthorDate: Thu Mar 5 10:11:59 2020 +0000 Fix another intermittent failure. Same root cause as the BZ 49567 test --- test/org/apache/catalina/core/TestAsyncContextImpl.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/test/org/apache/catalina/core/TestAsyncContextImpl.java b/test/org/apache/catalina/core/TestAsyncContextImpl.java index f825a9d..2140203 100644 --- a/test/org/apache/catalina/core/TestAsyncContextImpl.java +++ b/test/org/apache/catalina/core/TestAsyncContextImpl.java @@ -286,7 +286,21 @@ public class TestAsyncContextImpl extends TomcatBaseTest { resp.getWriter().print("OK"); req.getAsyncContext().complete(); result.append('5'); - result.append(req.isAsyncStarted()); + try { + // Once complete() has been called on a + // non-container thread it is not safe to + // continue to use the request object as it + // may be recycled at any point. Normally + // there is enough time for this call to + // complete but not always. If this call + // fails in Tomcat an NPE will result so + // handle this here with a hack. What we are + // really checking here is that it does not + // return true. + result.append(req.isAsyncStarted()); + } catch (NullPointerException npe) { + result.append("false"); + } done = true; } catch (InterruptedException e) { result.append(e); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org