ICEfaces
  1. ICEfaces
  2. ICE-3975

RowSelection in DataTable freezes IE6 with cpu at 100%

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: 1.7.2 SP1
    • Fix Version/s: 1.7.2-SP2, 1.8DR#2, 1.8
    • Component/s: Framework, ICE-Components
    • Labels:
      None
    • Environment:
      IE6, liferay-portal-jboss-tomcat-4.2-5.1.0

      Description

      When selecting a row and/or rows in quicker fashion, IE6 will freeze up and CPU will be at 100%. The test app is a portlet intended for deployment on liferay-portal-jboss-tomcat-4.2-5.1.0. The current test case has a static set of data but if it was to use a DB the app would hang when rendering the table. The full application uses spring for IOC and Hibernate for ORM.

      Customer has mentioned that they had changed the compression and synchronousUpdate params to false but did not have any luck.

       
      1. ICE-3975.patch
        1 kB
        Mircea Toma
      2. testIE6.zip
        70 kB
        Tyler Johnson
      1. ScreenHunter_01 Jan. 27 10.02.jpg
        179 kB

        Activity

        Hide
        yip.ng added a comment -

        Provided war file just keeps failing to deploy. Tested row selector in component showcase (both 1.7 SP1 and trunk) instead. It works fine. Tyler also tested user app. on ICEfaces trunk. It also works fine.

        Show
        yip.ng added a comment - Provided war file just keeps failing to deploy. Tested row selector in component showcase (both 1.7 SP1 and trunk) instead. It works fine. Tyler also tested user app. on ICEfaces trunk. It also works fine.
        Hide
        Tyler Johnson added a comment -

        Attaching non portlet test case SC7902.war. This test case is ready to be deployed on Jboss 4.2.0. This app won't even load with 1.7.2 SP1 and the CPU will automatically max out at 100%. 1.8 Trunk works perfectly.

        Show
        Tyler Johnson added a comment - Attaching non portlet test case SC7902.war. This test case is ready to be deployed on Jboss 4.2.0. This app won't even load with 1.7.2 SP1 and the CPU will automatically max out at 100%. 1.8 Trunk works perfectly.
        Hide
        Ken Fyten added a comment -

        Need to use the last test case attached (non portlet) to try to determine why this is happening. Although the issue is resolved as of 1.8 DR#2, the customer needs a patch for their production app. based on 1.7.2-SP1 and we can't figure out which changes fixed it. Please investigate as a priority issue.

        Show
        Ken Fyten added a comment - Need to use the last test case attached (non portlet) to try to determine why this is happening. Although the issue is resolved as of 1.8 DR#2, the customer needs a patch for their production app. based on 1.7.2-SP1 and we can't figure out which changes fixed it. Please investigate as a priority issue.
        Hide
        Mircea Toma added a comment - - edited

        The issue is due to DataTable's custom Javascript. The custom code is setting up an window.onresize event listener that is triggered every time the style of the table is changed. In IE this setup causes a tight loop where table's style is changed, window.onresize in triggered which in turn triggers table's style change again. The difference from 1.8DR*/ Trunk that makes IE work normally is just in styling. The rendered table has a width of 100% which stops modifying window's dimensions and thus window.onresize event is not triggered anymore.
        The patch just backports the style changes needed to avoid IE going into the tight loop.

        Show
        Mircea Toma added a comment - - edited The issue is due to DataTable's custom Javascript. The custom code is setting up an window.onresize event listener that is triggered every time the style of the table is changed. In IE this setup causes a tight loop where table's style is changed, window.onresize in triggered which in turn triggers table's style change again. The difference from 1.8DR*/ Trunk that makes IE work normally is just in styling. The rendered table has a width of 100% which stops modifying window's dimensions and thus window.onresize event is not triggered anymore. The patch just backports the style changes needed to avoid IE going into the tight loop.
        Hide
        yip.ng added a comment -

        Patch applied. See attached screenshot for test results.

        Show
        yip.ng added a comment - Patch applied. See attached screenshot for test results.

          People

          • Assignee:
            Unassigned
            Reporter:
            Tyler Johnson
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: