[
https://issues.apache.org/jira/browse/GERONIMO-3326?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kevan Miller updated GERONIMO-3326:
-----------------------------------
Fix Version/s: (was: 2.0)
2.1
2.0.x
> ClassLoader memory leak caused by OpenJPA
> -----------------------------------------
>
> Key: GERONIMO-3326
> URL: https://issues.apache.org/jira/browse/GERONIMO-3326
> Project: Geronimo
> Issue Type: Bug
> Security Level: public(Regular issues)
> Components: persistence
> Affects Versions: 2.0-M7
> Reporter: Kevan Miller
> Assignee: Kevan Miller
> Priority: Blocker
> Fix For: 2.0.x, 2.1
>
> Attachments: OpenJPAMemLeak-G.patch, OpenJPAMemLeak-OJPA.patch
>
>
> As David Jencks mentioned in GERONIMO-3305, there's a ClassLoader memory leak
> in deploy/undeploy.
> Geronimo is running out of PermGen space in some simple deploy/undeploy
> scenarios involving OpenJPA. The cause of the problem seems to be the _metas
> table in PCRegistry. _metas is a ConcurrentReferenceHashMap with WEAK
> reference keys and HARD reference values. The keys are the PersistenceCapable
> classes. While the values are the metadata for these classes which are
> maintained by the internal Meta class.
> The cause of the ClassLoader memory leak is simple -- if any of the
> objects/classes held by the Meta class (e.g. fieldTypes) have also been
> loaded by the same ClassLoader used to load the PersistenceCapable class, the
> PersistenceCapable class (the weak key) will never be GCed. The value of the
> HashMap entry will always maintain a hard reference to the ClassLoader. Since
> the ClassLoader will never be GC'ed, the the the pcClass Class object will
> never be GC'able...
> The problem can be easily recreated using current Geronimo trunk and the
> Geronimo Daytrader application.
> FYI, here are the GC Roots for one of our ClassLoaders being leaked --
> http://people.apache.org/~kevan/PCRegistryLeak.html
> I've contacted the OpenJPA dev list. Hopefully, can get this resolved,
> quickly.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.