-
Bug
-
Resolution: Done
-
Major
-
None
-
None
Objects in FlashScope is not cleared and keep accumulating even if POST-REDIRECT-BACK is completed.
If we put a huge object to FlashScope continuously as the following code, Java heap space will be exhausted soon.
@Model public class Action { private static final int oneHundredMB = 1024 * 1024 * 100; public String next() { Flash flash = FacesContext.getCurrentInstance().getExternalContext().getFlash(); flash.putNow("huge", new byte[oneHundredMB]); return "index.xhtml?faces-redirect=true"; } }
When OutOfMemoryError is happened, flashInnerMap field in com.sun.faces.context.flash.ELFlash is bloated.
Class Name | Ref. Objects | Shallow Heap | Ref. Shallow Heap | Retained Heap ----------------------------------------------------------------------------------------------------------------------------------------- java.lang.Thread @ 0xeea24380 default task-1 Thread | 1 | 120 | 64 | 20,800 '- <Java Local> com.sun.faces.context.flash.ELFlash @ 0xee9e4608 | 1 | 40 | 64 | 64 '- flashInnerMap java.util.concurrent.ConcurrentHashMap @ 0xee9e4630| 1 | 64 | 64 | 314,574,048 -----------------------------------------------------------------------------------------------------------------------------------------
- clones
-
JBEAP-19407 [GSS](7.3.z) Memory leak in FlashScope - expired elements are not cleared
- Closed
- is incorporated by
-
WFLY-13421 Upgrade Mojarra to 2.3.9.SP10
- Closed