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

        Tyler Johnson created issue -
        Tyler Johnson made changes -
        Field Original Value New Value
        Attachment testIE6.war [ 11448 ]
        Tyler Johnson made changes -
        Attachment testIE6.zip [ 11449 ]
        Tyler Johnson made changes -
        Attachment testIE6.zip [ 11449 ]
        Tyler Johnson made changes -
        Attachment testIE6.zip [ 11450 ]
        Tyler Johnson made changes -
        Assignee Ken Fyten [ ken.fyten ]
        Tyler Johnson made changes -
        Salesforce Case [50070000007bCFT]
        Ken Fyten made changes -
        Security Private [ 10001 ]
        Ken Fyten made changes -
        Assignee Priority P1
        Assignee Ken Fyten [ ken.fyten ] Yip Ng [ yip.ng ]
        Priority Major [ 3 ] Critical [ 2 ]
        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.
        Tyler Johnson made changes -
        Attachment SC7902.war [ 11463 ]
        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.
        Ken Fyten made changes -
        Assignee Yip Ng [ yip.ng ] Mircea Toma [ mircea.toma ]
        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.
        Mircea Toma made changes -
        Attachment ICE-3975.patch [ 11470 ]
        Ken Fyten made changes -
        Assignee Mircea Toma [ mircea.toma ] Yip Ng [ yip.ng ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #18232 Tue Jan 27 08:51:53 MST 2009 yip.ng ICE-3975
        Fixed IE 6 hanging on table row selection, with patch from Mircea.
        Files Changed
        Commit graph MODIFY /icefaces/branches/icefaces-1.7/icefaces/core/src/com/icesoft/faces/renderkit/dom_html_basic/TableRenderer.java
        yip.ng made changes -
        Attachment ScreenHunter_01 Jan. 27 10.02.jpg [ 11476 ]
        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.
        yip.ng made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Fix Version/s 1.7 [ 10080 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Fix Version/s 1.7.3 [ 10162 ]
        Fix Version/s 1.7 [ 10080 ]
        Assignee Priority P1
        Ken Fyten made changes -
        Security Private [ 10001 ]
        Ken Fyten made changes -
        Attachment SC7902.war [ 11463 ]
        Ken Fyten made changes -
        Security Private [ 10001 ]
        Ken Fyten made changes -
        Fix Version/s 1.8DR#2 [ 10142 ]
        Ken Fyten made changes -
        Fix Version/s 1.8 [ 10161 ]
        Ken Fyten made changes -
        Security Private [ 10001 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Assignee Yip Ng [ yip.ng ]

          People

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

            Dates

            • Created:
              Updated:
              Resolved: