ICEfaces
  1. ICEfaces
  2. ICE-2619

Browser Memory Consumption increases until fails

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.6.1
    • Fix Version/s: 1.7Beta1, 1.7
    • Component/s: None
    • Labels:
      None
    • Environment:
      IE, FF

      Description

      Every time switches tab to one that contains the 200 rows dataTable, memory usage increases between 4,000K to 12,000K. Continue switching between tabs with dataTables, it will continue to increase even if switching back to a previously loaded tab. If you switch to a tab with only a outputText, it will sometimes decrease about 1,000K.

      It was possible for me to increase the browser's memory usage by 80,000K just by switching between 2 tabs for 5 minutes.

        Activity

        Hide
        Jacky Lee added a comment -

        attached test application

        Show
        Jacky Lee added a comment - attached test application
        Hide
        Ken Fyten added a comment -

        Further comment from Jacky:

        With IE6:
        I got the memory usage up to 284MB, then idled for 20 minutes. During the idle time, the memory usage didn't change at all. Afterwards, I started switching tabs again and it can still keep going up (currently at 334MB as of writing this email).

        Show
        Ken Fyten added a comment - Further comment from Jacky: With IE6: I got the memory usage up to 284MB, then idled for 20 minutes. During the idle time, the memory usage didn't change at all. Afterwards, I started switching tabs again and it can still keep going up (currently at 334MB as of writing this email).
        Hide
        Ken Fyten added a comment -

        On FF2, it shows similar results, but the memory usage increases at a slower rate.

        Show
        Ken Fyten added a comment - On FF2, it shows similar results, but the memory usage increases at a slower rate.
        Hide
        Ken Fyten added a comment -

        A new browser memory stress test has been created that indefinitely adds and removes very large incremental updates in the browser.

        (Sam) Results after running overnight on latest trunk (approx. rev #:15588):

        ff2 - started at 39872K and this morning shows "network connection error" and memory usage is 42345K
        ie6 - virtual pc run out of memory (ie6 is the only application running and virtual pc has 512M pre-allocated memory)
        ie7 - started at 33704K and this morning shows "network connection error" and memory usage is 225776K but when trying to close it, it is rocketing to 1.1G

        (Jacky) Results for 1.6.2:
        FF2 - Started at 34,972K this morning at 29,712K but showed 'Network Connection Error' message
        IE7 - Started at 37,256K this morning at 9,072K and showed 'Server Internal Error' message. When trying to close browser, memory usage shot up to about 888MB before slowly decreasing. Took 2 minutes for the actual browser to close.
        IE6 - The virtual pc restarted (out of memory).

        It appears that this test fails to release a substantial portion of the browser memory associated with the elements being updated by the bridge until the viewport itself is closed.

        Show
        Ken Fyten added a comment - A new browser memory stress test has been created that indefinitely adds and removes very large incremental updates in the browser. (Sam) Results after running overnight on latest trunk (approx. rev #:15588): ff2 - started at 39872K and this morning shows "network connection error" and memory usage is 42345K ie6 - virtual pc run out of memory (ie6 is the only application running and virtual pc has 512M pre-allocated memory) ie7 - started at 33704K and this morning shows "network connection error" and memory usage is 225776K but when trying to close it, it is rocketing to 1.1G (Jacky) Results for 1.6.2: FF2 - Started at 34,972K this morning at 29,712K but showed 'Network Connection Error' message IE7 - Started at 37,256K this morning at 9,072K and showed 'Server Internal Error' message. When trying to close browser, memory usage shot up to about 888MB before slowly decreasing. Took 2 minutes for the actual browser to close. IE6 - The virtual pc restarted (out of memory). It appears that this test fails to release a substantial portion of the browser memory associated with the elements being updated by the bridge until the viewport itself is closed.
        Hide
        Ken Fyten added a comment -

        Similar results when using 1.6.1:

        FF2 - Started at 78,696K and after about 1 hour, browser gives unresponsive script warning occasionally (3/10 tab switches will give warning). If click 'continue script' in the prompt, the tab switching will still continue. At around 3 hours into the test, unresponsive script warning keeps appearing and clicking 'continue script' no longer works, tab switching does not occur. After 5 minutes, get 'Network Connection Error'

        IE6 - Started at 25,952K and after 2 hours, virtual pc restarted. Recorded memory usage be to 392,908K 15 minutes before the restart.

        IE7 - Started at 35,464K and after 4 hours, still running and using 638,444K.

        Show
        Ken Fyten added a comment - Similar results when using 1.6.1: FF2 - Started at 78,696K and after about 1 hour, browser gives unresponsive script warning occasionally (3/10 tab switches will give warning). If click 'continue script' in the prompt, the tab switching will still continue. At around 3 hours into the test, unresponsive script warning keeps appearing and clicking 'continue script' no longer works, tab switching does not occur. After 5 minutes, get 'Network Connection Error' IE6 - Started at 25,952K and after 2 hours, virtual pc restarted. Recorded memory usage be to 392,908K 15 minutes before the restart. IE7 - Started at 35,464K and after 4 hours, still running and using 638,444K.
        Hide
        Mircea Toma added a comment -

        The leak is due to form elements not being released by IE (see http://ajaxian.com/archives/ie6-leak-on-form-tag ).

        Show
        Mircea Toma added a comment - The leak is due to form elements not being released by IE (see http://ajaxian.com/archives/ie6-leak-on-form-tag ).
        Hide
        Mircea Toma added a comment -

        Implement special case mechanism for updating 'form' elements.

        Show
        Mircea Toma added a comment - Implement special case mechanism for updating 'form' elements.
        Hide
        Ken Fyten added a comment -

        The change for this fix seems to be causing regression bugs with respect to the selectInputText component: ICE-2690.

        Show
        Ken Fyten added a comment - The change for this fix seems to be causing regression bugs with respect to the selectInputText component: ICE-2690.
        Hide
        Mircea Toma added a comment -

        This is resolved. Handle issue ICE-2690 separately.

        Show
        Mircea Toma added a comment - This is resolved. Handle issue ICE-2690 separately.

          People

          • Assignee:
            Unassigned
            Reporter:
            Jacky Lee
          • Votes:
            1 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: