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 3c6613b Another attempt to fix an intermittent unit test failure
3c6613b is described below
commit 3c6613b7ba1688de3a6327e3a2cd212fbf043cb2
Author: Mark Thomas <[email protected]>
AuthorDate: Mon Mar 2 17:28:03 2020 +0000
Another attempt to fix an intermittent unit test failure
---
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 3e08854..f825a9d 100644
--- a/test/org/apache/catalina/core/TestAsyncContextImpl.java
+++ b/test/org/apache/catalina/core/TestAsyncContextImpl.java
@@ -350,7 +350,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: [email protected]
For additional commands, e-mail: [email protected]