ICEfaces
  1. ICEfaces
  2. ICE-5853

Glimmer Regression: ICE-2283 failing with Server Internal Error w/ deltaSubmit enabled

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0-Beta1
    • Fix Version/s: 2.0-Beta2, 2.0.0
    • Component/s: None
    • Labels:
      None
    • Environment:
      Tomcat6 & FF3.6

      Description

      Was working fine on Glimmer revision# 21810
      Broken on Glimmer revision# 21816

      Test application available at 'repo\qa\trunk\Regression-Icefaces2\Nightly\ICE-2283'
      1)Load the application
      2)Select some check box
      3)Deselect some check box
      4)Server Internal Error popup is seen when a checkbox is deselected

        Issue Links

          Activity

          Mandeep Hayher created issue -
          Mandeep Hayher made changes -
          Field Original Value New Value
          Assignee Ken Fyten [ ken.fyten ]
          Ken Fyten made changes -
          Salesforce Case []
          Fix Version/s 2.0-Beta [ 10231 ]
          Assignee Ken Fyten [ ken.fyten ] Deryk Sinotte [ deryk.sinotte ]
          Hide
          Deryk Sinotte added a comment -

          I could not reproduce the issue.

          I tried running the indicated test case on both Glassfish v3 (with Mojarra 2.0.3 snapshot) and Tomcat 6 (with Mojarra 2.0.2 FCS b10) and I used both Firefox 3.6 and Chrome. There were no server errors and the columns all turned on and off as expected. I was running against revision 21817 which has a minor adjustment for using a utility for writing script markup. If there are other steps to getting the behaviour to manifest, I can try them but it doesn't appear to be a problem at the moment.

          Show
          Deryk Sinotte added a comment - I could not reproduce the issue. I tried running the indicated test case on both Glassfish v3 (with Mojarra 2.0.3 snapshot) and Tomcat 6 (with Mojarra 2.0.2 FCS b10) and I used both Firefox 3.6 and Chrome. There were no server errors and the columns all turned on and off as expected. I was running against revision 21817 which has a minor adjustment for using a utility for writing script markup. If there are other steps to getting the behaviour to manifest, I can try them but it doesn't appear to be a problem at the moment.
          Hide
          Mandeep Hayher added a comment -

          Glimmer revision# 21819
          The test-case failed again in automated regression test.
          Following are the step to reproduce it manually
          1) load the application (only checkbox 'column1' & 'column3 are selected)
          2) select checkbox 'column2'
          3) deselect checkbox 'coulmn3'

          Server Internal Error popup is displayed.

          Also noticed that once the error is displayed, selecting one checkbox deselects another checkbox.

          Show
          Mandeep Hayher added a comment - Glimmer revision# 21819 The test-case failed again in automated regression test. Following are the step to reproduce it manually 1) load the application (only checkbox 'column1' & 'column3 are selected) 2) select checkbox 'column2' 3) deselect checkbox 'coulmn3' Server Internal Error popup is displayed. Also noticed that once the error is displayed, selecting one checkbox deselects another checkbox.
          Hide
          Deryk Sinotte added a comment -

          I did a clean checkout of glimmer and rebuilt the test case against, ran it Tomcat, and using Firefox it worked perfectly. Mandeep, please send me the .war file you've built for this case so I can compare it to what I'm running. Also, if there is relevant logging related to the Servler Internal Error please attach it to this case.

          Show
          Deryk Sinotte added a comment - I did a clean checkout of glimmer and rebuilt the test case against, ran it Tomcat, and using Firefox it worked perfectly. Mandeep, please send me the .war file you've built for this case so I can compare it to what I'm running. Also, if there is relevant logging related to the Servler Internal Error please attach it to this case.
          Hide
          Mandeep Hayher added a comment -

          Following is seen on the server console
          WARNING: 0
          java.lang.ArrayIndexOutOfBoundsException: 0
          at org.icefaces.event.DeltaSubmitPhaseListener$DeltaHttpServletRequest.getParameter(DeltaSubmitPhaseListener.java:236)
          at com.sun.faces.context.RequestParameterMap.get(RequestParameterMap.java:71)
          at com.sun.faces.context.RequestParameterMap.get(RequestParameterMap.java:52)
          at java.util.Collections$UnmodifiableMap.get(Collections.java:1282)
          at com.icesoft.faces.renderkit.dom_html_basic.CheckboxRenderer.decode(CheckboxRenderer.java:57)

          Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
          at org.icefaces.event.DeltaSubmitPhaseListener$DeltaHttpServletRequest.getParameter(DeltaSubmitPhaseListener.java:236)
          at com.sun.faces.context.RequestParameterMap.get(RequestParameterMap.java:71)
          at com.sun.faces.context.RequestParameterMap.get(RequestParameterMap.java:52)

          Show
          Mandeep Hayher added a comment - Following is seen on the server console WARNING: 0 java.lang.ArrayIndexOutOfBoundsException: 0 at org.icefaces.event.DeltaSubmitPhaseListener$DeltaHttpServletRequest.getParameter(DeltaSubmitPhaseListener.java:236) at com.sun.faces.context.RequestParameterMap.get(RequestParameterMap.java:71) at com.sun.faces.context.RequestParameterMap.get(RequestParameterMap.java:52) at java.util.Collections$UnmodifiableMap.get(Collections.java:1282) at com.icesoft.faces.renderkit.dom_html_basic.CheckboxRenderer.decode(CheckboxRenderer.java:57) Caused by: java.lang.ArrayIndexOutOfBoundsException: 0 at org.icefaces.event.DeltaSubmitPhaseListener$DeltaHttpServletRequest.getParameter(DeltaSubmitPhaseListener.java:236) at com.sun.faces.context.RequestParameterMap.get(RequestParameterMap.java:71) at com.sun.faces.context.RequestParameterMap.get(RequestParameterMap.java:52)
          Hide
          Mandeep Hayher added a comment -

          Glimmer revision# 21837

          Problem is reproducible when tested with DeltaSubmit & with CompressDOM.

          Show
          Mandeep Hayher added a comment - Glimmer revision# 21837 Problem is reproducible when tested with DeltaSubmit & with CompressDOM.
          Deryk Sinotte made changes -
          Salesforce Case []
          Assignee Priority P2
          Deryk Sinotte made changes -
          Status Open [ 1 ] In Progress [ 3 ]
          Hide
          Deryk Sinotte added a comment -

          This is reproducible with deltaSubmit by itself. I don't think compressDOM is relevant.

          There are a couple of situations where I can add checks for parameters where the String array is not null but is empty (length == 0). However, this only handles the ArrayIndexOutOfBoundsExceptions and causes the example to fail anyway because it looks like it's losing some state.

          Show
          Deryk Sinotte added a comment - This is reproducible with deltaSubmit by itself. I don't think compressDOM is relevant. There are a couple of situations where I can add checks for parameters where the String array is not null but is empty (length == 0). However, this only handles the ArrayIndexOutOfBoundsExceptions and causes the example to fail anyway because it looks like it's losing some state.
          Hide
          Deryk Sinotte added a comment -

          Need to get deltaSubmit working in compat mode for this case to pass when deltaSubmit is on.

          Show
          Deryk Sinotte added a comment - Need to get deltaSubmit working in compat mode for this case to pass when deltaSubmit is on.
          Deryk Sinotte made changes -
          Link This issue depends on ICE-5859 [ ICE-5859 ]
          Hide
          Deryk Sinotte added a comment -

          This regression failure is blocked by the more general issue of deltaSubmit in compatibility mode.

          Show
          Deryk Sinotte added a comment - This regression failure is blocked by the more general issue of deltaSubmit in compatibility mode.
          Deryk Sinotte made changes -
          Assignee Deryk Sinotte [ deryk.sinotte ] Mircea Toma [ mircea.toma ]
          Ken Fyten made changes -
          Summary Glimmer Regression: ICE-2283 failing with Server Internal Error Glimmer Regression: ICE-2283 failing with Server Internal Error w/ deltaSubmit enabled
          Salesforce Case []
          Ken Fyten made changes -
          Fix Version/s 2.0-Beta2 [ 10242 ]
          Fix Version/s 2.0-Beta1 [ 10231 ]
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #22051 Wed Jul 28 06:49:42 MDT 2010 mircea.toma ICE-5853 Remove entry from previous parameter map when the value arrays is empty. Avoid removing submitting element corresponding parameter name from the list of parameters that don't participate in the parameter diffing since iceSubmit/iceSubmitPartial send it twice.
          Delay the parameters calculation on page load to make sure all the form elements are captured during calculation.
          Files Changed
          Commit graph MODIFY /icefaces2/trunk/icefaces/core/src/main/javascript/application.js
          Commit graph MODIFY /icefaces2/trunk/icefaces/core/src/main/java/org/icefaces/event/DeltaSubmitPhaseListener.java
          Hide
          Mircea Toma added a comment -

          Remove entry from previous parameter map when the value arrays is empty. Avoid removing submitting element corresponding parameter name from the list of parameters that don't participate in the parameter diffing since iceSubmit/iceSubmitPartial send it twice.
          Delay the parameters calculation on page load to make sure all the form elements are captured during calculation.

          Show
          Mircea Toma added a comment - Remove entry from previous parameter map when the value arrays is empty. Avoid removing submitting element corresponding parameter name from the list of parameters that don't participate in the parameter diffing since iceSubmit/iceSubmitPartial send it twice. Delay the parameters calculation on page load to make sure all the form elements are captured during calculation.
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #22054 Wed Jul 28 15:59:55 MDT 2010 mircea.toma ICE-5853 Factor out initial parameter calculation into a separate function, ice.calculateInitalParameters(). Renderers belonging to 'javax.faces.Form' family are decorated, a 'script' element is rendered right before the 'form' end tag to make sure ice.calculateInitalParameters executes correctly.
          Files Changed
          Commit graph MODIFY /icefaces2/trunk/icefaces/core/src/main/javascript/application.js
          Commit graph MODIFY /icefaces2/trunk/icefaces/core/src/main/java/org/icefaces/render/DOMRenderKit.java
          Hide
          Mircea Toma added a comment -

          Factor out initial parameter calculation into a separate function, ice.calculateInitalParameters(). Renderers belonging to 'javax.faces.Form' family are decorated, a 'script' element is rendered right before the 'form' end tag to make sure ice.calculateInitalParameters executes correctly.

          Show
          Mircea Toma added a comment - Factor out initial parameter calculation into a separate function, ice.calculateInitalParameters(). Renderers belonging to 'javax.faces.Form' family are decorated, a 'script' element is rendered right before the 'form' end tag to make sure ice.calculateInitalParameters executes correctly.
          Mircea Toma made changes -
          Status In Progress [ 3 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Ken Fyten made changes -
          Fix Version/s 2.0.0 [ 10230 ]
          Ken Fyten made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Assignee Priority P2

            People

            • Assignee:
              Mircea Toma
              Reporter:
              Mandeep Hayher
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: