[ https://issues.apache.org/jira/browse/MYFACES-3510?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13235968#comment-13235968 ]
Leonardo Uribe commented on MYFACES-3510: ----------------------------------------- Garbage collection takes time. The code committed (patch-2) try to cleanup the cache as soon as the app is undeployed. The soft reference is only cleaned up when memory is really necessary, and an OutOfMemoryError is only thrown after clean all soft references. I suppose the GC is responsible of the slowdown, but with the code committed, this effect dissapear. > Application components classloader memory leak > ---------------------------------------------- > > Key: MYFACES-3510 > URL: https://issues.apache.org/jira/browse/MYFACES-3510 > Project: MyFaces Core > Issue Type: Bug > Components: General > Affects Versions: 2.1.6 > Environment: WIndows Glassfish Embedded > Reporter: Ruben Martin Pozo > Assignee: Leonardo Uribe > Fix For: 2.0.13, 2.1.7 > > Attachments: MYFACES-3510-1.patch, MYFACES-3510-2.patch, > screenshot-1.jpg > > > We've seen an application classloader memory leak due to the new class > javax.faces.component._PropertyDescriptorHolder class introduced in version > 2.1.6 > This class holds a reference to a Method of a component loaded by the > application classloader. The memory leak shows up when the > _PropertyDescriptorHolder is stored in the _ComponentAttributesMap class that > is loaded by the system class loader. > You should use a WeakReference instead of storing the direct reference to the > Method -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira