Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-70756

Exception in Stapler when accessing parameters in a multipart submission

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor
    • core
    • None

      https://github.com/jenkinsci/stapler/blob/eec2454ece75afbede274b290fd04a8d2c422d0b/core/src/main/java/org/kohsuke/stapler/RequestImpl.java#L200-L203 attempts to modify a read-only collection: https://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequest.html#getParameterMap()

      For example, with the new file upload limits in 2.394 and LTS 2.375.4 / 2.387.1:

      java.lang.UnsupportedOperationException
      	at java.util.Collections$UnmodifiableMap.putAll(Collections.java:1465)
      	at org.kohsuke.stapler.RequestImpl.getParameterMap(RequestImpl.java:227)
      	at org.kohsuke.stapler.RequestImpl.getSubmittedForm(RequestImpl.java:1128)
      	at hudson.model.ParametersDefinitionProperty._doBuild(ParametersDefinitionProperty.java:147)
      	at jenkins.model.ParameterizedJobMixIn.doBuild(ParameterizedJobMixIn.java:215)
      	at jenkins.model.ParameterizedJobMixIn$ParameterizedJob.doBuild(ParameterizedJobMixIn.java:411)
      	at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
      	at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:397)
      Caused: java.lang.reflect.InvocationTargetException
      	at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:401)
      	at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:409)
      	at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:207)
      	at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:140)
      	at org.kohsuke.stapler.MetaClass$11.doDispatch(MetaClass.java:558)
      	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:59)
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898)
      	at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:289)
      	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:59)
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:694)
      	at org.kohsuke.stapler.Stapler.service(Stapler.java:240)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) 

            Unassigned Unassigned
            danielbeck Daniel Beck
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: