The real problem is that upgrading from Icefaces 1.7.0 to 1.7.2SP1 causes "User Session Expired" to appear on the browser. It only took about 30-40 seconds to cause OOM (-Xmx1400m) with a simple refresh a single Liferay portlet page with Icefaces portlet in it. Just to reply that we also hit the same issue with Icefaces 1.7.0. Otherwise the View object and associated UIComponent tree will not be discarded and will persist until the end of the session. Secondly, any automated load testing scripts should be written to submit this dispose-views request ( $/block/dispose-views ) being sure to submit the ice.view id of the view to be disposed. This is a use case which should be avoided. Yet, the initial request will arrive and a new View created. First, it's possible to hit reload on a page fast enough so the page never properly loads, and therefore never fires onBeforeUnload. This is not under server side application control. Some observations: The Views are disposed when the browser requests it from the onBeforeUnload handler. While not unbound leaks, they can accumulate a set of objects for each Thread used by the Servlet container. A further ThreadLocal reference to the PersistentFacesState object was being held in the executor threads performing server push. These objects have references to instances of View. There's a JIRA opened up for this memory leak here: There were ThreadLocal references to instances of the BridgeFacesContext and PersistentFacesState classes being held by Threads from the Servlet container. I would appreciate your help! Boris Maizel
It is garbage-collected first when the session times out. However, this one does not get garbage collected when the user leaves the page (also request-scopeed beans are, and dispose() methods are invoked for DisposableBean-s). After that, "refresh" does not cause problems, only one component tree is maintained. We have made some investigation with JProfiler and found, that every time a new component tree was created, but the old one was not garbage collected.
Every click on the browser "refresh" button caused increased memory consumption. The JSF component tree does not get garbage collected after page is closed. Hello, The problem described is with the last 1.7 releace, "just-ice" version with facelets, both Tomcat 6.0 and IBM WAS 6.1 enviroments, Firefox 2.0 browser.