Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 3.0, EE-3.0.0.GA
-
Fix Version/s: EE-3.2.0.BETA, EE-3.2.0.GA, 3.3
-
Component/s: ICE-Components
-
Labels:None
-
Environment:IE 8, Glassfish or Tomcat, any page with ice:panelPopup. Live showcase also shows issue.
-
Assignee Priority:P1
-
Workaround Description:
Description
In terms of seeing a leak the showcase offers a simple test. Go to the ice:panelPopup Overview (http://icefaces-showcase.icesoft.org/showcase.jsf?grp=compatMenu&exp=popup) in IE 8. Note the starting memory, then open/close the popup 5 times.
In my case the result looked like this:
Initial Task Manager Memory: 32408
Open/Close One Time: 45596
Two: 54188
Three: 63676
Four: 71076
Five: 79300
Total Increase: 46.892mb
If you navigate to another page in the app via the links on the left the memory will drop off. In my case clicking the panelDivider link restored the memory to 39504.
As you can see when they AREN'T navigating this constant increase is going to be a problem.
Similarly when looking at the page in Google Chrome you can see a huge jump in detached DOM elements. Opening the popup once and taking a Heap Snapshot revealed 11, 29, and 2019 entries. In this case the 29 entries have their Objects Count increased by 1 each time the popup is toggled again.
Testing with the patches from ICE-8500 shows less of a leak.
Note that a quick test using the ace:dialog demo on Showcase seems like it doesn't leak memory.
In my case the result looked like this:
Initial Task Manager Memory: 32408
Open/Close One Time: 45596
Two: 54188
Three: 63676
Four: 71076
Five: 79300
Total Increase: 46.892mb
If you navigate to another page in the app via the links on the left the memory will drop off. In my case clicking the panelDivider link restored the memory to 39504.
As you can see when they AREN'T navigating this constant increase is going to be a problem.
Similarly when looking at the page in Google Chrome you can see a huge jump in detached DOM elements. Opening the popup once and taking a Heap Snapshot revealed 11, 29, and 2019 entries. In this case the 29 entries have their Objects Count increased by 1 each time the popup is toggled again.
Testing with the patches from ICE-8500 shows less of a leak.
Note that a quick test using the ace:dialog demo on Showcase seems like it doesn't leak memory.
Activity
Carlo Guglielmin
created issue -
Ken Fyten
made changes -
Field | Original Value | New Value |
---|---|---|
Salesforce Case | [] | |
Fix Version/s | EE-3.0.0.GA_P01 [ 10327 ] |
Migration
made changes -
Assignee | Arturo Zambrano [ artzambrano ] | Ken Fyten [ ken.fyten ] |
Migration
made changes -
Assignee | Ken Fyten [ ken.fyten ] | yip.ng [ yip.ng ] |
Ken Fyten
made changes -
Fix Version/s | 3.3 [ 10370 ] | |
Fix Version/s | 3.2 [ 10338 ] |
yip.ng
made changes -
Attachment | screenshot-01.png [ 15091 ] |
Ken Fyten
made changes -
Fix Version/s | EE-3.2.0.GA [ 10332 ] |
Ken Fyten
made changes -
Assignee | yip.ng [ yip.ng ] | Mircea Toma [ mircea.toma ] |
Ken Fyten
made changes -
Assignee Priority | P2 [ 10011 ] | P1 [ 10010 ] |
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #32848 | Mon Dec 17 15:39:21 MST 2012 | mircea.toma | |
Files Changed | ||||
MODIFY
/icefaces3/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/panelpopup/PanelPopupRenderer.java
MODIFY /icefaces3/trunk/icefaces/compat/core/src/main/javascript/extras/extras.js |
Mircea Toma
made changes -
Status | Open [ 1 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Ken Fyten
made changes -
Security | Private [ 10001 ] |
Ken Fyten
made changes -
Summary | CLONE -ice:panelPopup leaking memory when displayed and hidden | ice:panelPopup leaking memory when displayed and hidden |
Ken Fyten
made changes -
Fix Version/s | EE-3.2.0.BETA [ 10573 ] |
Arran Mccullough
made changes -
Resolution | Fixed [ 1 ] | |
Status | Resolved [ 5 ] | Reopened [ 4 ] |
Arran Mccullough
made changes -
Attachment | FileEntryPopupTest.zip [ 15300 ] | |
Attachment | FileEntryPopupTestWAR.zip [ 15301 ] |
Mircea Toma
made changes -
Workaround Description | The simplest and quite correct workaround is to add the f:ajax or ace:ajax tag to the "Cancel" h:commandButton. This way the ICEfaces form submit is executed and ice.onElementUpdate callbacks are invoked. Also when the "Cancel" button is clicked the file upload will not proceed, this is the correct part since you don't want to upload the file but to cancel instead. |
Ken Fyten
made changes -
Status | Reopened [ 4 ] | Closed [ 6 ] |
Resolution | Won't Fix [ 2 ] |
Ken Fyten
made changes -
Resolution | Won't Fix [ 2 ] | |
Status | Closed [ 6 ] | Reopened [ 4 ] |
Ken Fyten
made changes -
Status | Reopened [ 4 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Ken Fyten
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |
Analysis and quick-fix via configuration parameter are documented in the original JIRA: ICE-8535.
Arturo Zambrano added a comment - 06/Sep/12 01:21 PM
Added new parameter 'com.icesoft.faces.IE8DisableModalFrame' to determine whether to show the modal frame or not in IE8, in order to prevent this memory leak. Committed fix at revision 30711 in the maintenance branch and at revision 30712 in the trunk.
[ Permlink | Edit | Delete | « Hide ]
Ken Fyten added a comment - 06/Sep/12 05:39 PM
Re-opening to see if we can solve this without a config param for 3.2 final.