https://bz.apache.org/bugzilla/show_bug.cgi?id=59768

            Bug ID: 59768
           Summary: Accessing ServletRequest in parallel throws exception
           Product: Tomcat 7
           Version: 7.0.69
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Servlet & JSP API
          Assignee: dev@tomcat.apache.org
          Reporter: tim.kier...@cai-world.com

Created attachment 33994
  --> https://bz.apache.org/bugzilla/attachment.cgi?id=33994&action=edit
Stacktrace of the problem

When calling org.apache.catalina.core.ApplicationHttpRequest.getParameter in
two different threads at the same time then the following exception accurs:
java.lang.IllegalStateException: No modifications are allowed to a locked
ParameterMap
        at org.apache.catalina.util.ParameterMap.put(ParameterMap.java:164)
        at java.util.HashMap.putAll(HashMap.java:643)
        at org.apache.catalina.util.ParameterMap.putAll(ParameterMap.java:186)
        at
org.apache.catalina.core.ApplicationHttpRequest.parseParameters(ApplicationHttpRequest.java:739)
        at
org.apache.catalina.core.ApplicationHttpRequest.getParameter(ApplicationHttpRequest.java:376)
(Full stack trace in attachment)

Reason is that parseParameters() is called in parallel.

I looked at the javadoc of javax.servlet.ServletRequest and
javax.servlet.ServletRequestWrapper and didn't see any mentioning that the
access to this objects should be sequential. 

I could not find the javadoc for
org.apache.catalina.core.ApplicationHttpRequest. But I think that is because it
is an internal class.

Either the parallel access to the ServletRequest should be possible or the
classes should be better documented.

Oracle Java version:
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

The tomcat runs behind a Apache2 with mod_proxy connector.

-- 
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

Reply via email to