ThreadLocal/Memory leak in ColumnsHandler
-----------------------------------------

                 Key: RF-8216
                 URL: https://jira.jboss.org/jira/browse/RF-8216
             Project: RichFaces
          Issue Type: Bug
      Security Level: Public (Everyone can see)
          Components: core
    Affects Versions: 3.3.1
            Reporter: Thomas W


I have found this issue when hunting down memory leaks on hot deployment with 
tomcat. It prevents the classloader from unload and leaks memory even outside 
of hot deployment in HTTP worker threads. This is just one example. Looking at 
how plain and obvious it is, there are probably more issues hiding in other 
components. There should be test with ideally full code coverage, followed by 
inspection of  the JVM heap for leaks.

There is a nice post here on how to perform the latter: 
http://blogs.sun.com/fkieviet/entry/how_to_fix_the_dreaded

The specific culprit I found is the columns tag (ColumnsHandler).

I had to add the following in a subclass to prevent the leak:

        @Override
        public void apply(FaceletContext ctx, UIComponent parent)
                        throws IOException, FacesException, ELException {
                super.apply(ctx, parent);
                // fix memory/classloader leak
                super.iterationContextLocal.remove();
        }
 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        
_______________________________________________
richfaces-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/richfaces-issues

Reply via email to