Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 1.8.2-EE-GA_P01
-
Fix Version/s: 1.8.3, 1.8.2-EE-GA_P02
-
Component/s: Framework
-
Labels:None
-
Environment:IE 6
Description
Here are the steps required to reproduce the issue and subsequent increases in memory:
1. open http://localhost:8080/auctionMonitor/
Task Manager (IExplore.exe): Memory Usage ~ 43000 k
2. Click on "Application Link"
Task Manager (IExplore.exe): Memory Usage ~ 52500 k
3. Close Popup Window
Task Manager (IExplore.exe): Memory Usage ~ 47300 k
4. Click on "Application Link"
Task Manager (IExplore.exe): Memory Usage ~ 54000 k
5. Close Popup Window
Task Manager (IExplore.exe): Memory Usage ~ 49200 k
Repeating the last two steps over and over again leads to a steady increase in memory with all browsers. When the browser window is closed, all process memory is released.
Attached is a modified AuctionMonitor.jspx containing the following code to open the new window popup:
<ice:commandLink window.open('index.jsp','secondAppWindow','status=no,resizable=no,scrollbars=no,toolbar=no,menubar=no,top=0,left=0,width=1024,height=738');">
1. open http://localhost:8080/auctionMonitor/
Task Manager (IExplore.exe): Memory Usage ~ 43000 k
2. Click on "Application Link"
Task Manager (IExplore.exe): Memory Usage ~ 52500 k
3. Close Popup Window
Task Manager (IExplore.exe): Memory Usage ~ 47300 k
4. Click on "Application Link"
Task Manager (IExplore.exe): Memory Usage ~ 54000 k
5. Close Popup Window
Task Manager (IExplore.exe): Memory Usage ~ 49200 k
Repeating the last two steps over and over again leads to a steady increase in memory with all browsers. When the browser window is closed, all process memory is released.
Attached is a modified AuctionMonitor.jspx containing the following code to open the new window popup:
<ice:commandLink window.open('index.jsp','secondAppWindow','status=no,resizable=no,scrollbars=no,toolbar=no,menubar=no,top=0,left=0,width=1024,height=738');">
I managed to reproduce IE's increasing in memory usage by using the provided jspx page. Every time a new window is opened there's an increase of ~7Mb in memory usage, once the window is closed there's about ~4Mb of memory released. So, after each window open/close cycle there's an increase in memory of ~3Mb ( = 7Mb - 4Mb).
I took the test a bit further and automated the opening and closing of windows. This way the open/close cycle was run every 7 seconds. After running the test for about 15 minutes I was seeing the memory usage reach a certain maximum threshold, on the machine I was running was 350Mb, once this threshold reach IE would release the memory aggressively to about 200Mb (very similarly to a garbage collection). From then on again the memory usage will increase gradually until reaching the threshold and going back again.
I was able to run the window ope/close cycle every 7 seconds for hours without having IE freeze or crash, every time repeating the pattern described above.
So, in conclusion I believe there is no real memory leak but just a false alarm due to IE's memory usage behavior. Actually we've seen this behavior in the past, such as for DOM updates, which prompted us to verify if really there is a memory leak by pushing IE to reach the memory threshold.