[ 
https://issues.apache.org/jira/browse/GERONIMO-4543?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12675399#action_12675399
 ] 

Kevan Miller commented on GERONIMO-4543:
----------------------------------------

Do you also need to specify -J-XX:+CMSPermGenSweepingEnabled? I don't run with 
-XX:+UseConcMarkSweepGC. So, I'm not very familiar with these sets of options.

Thanks for the additional info. That helps. I ran some tests with:

JAVA_OPTS="-verbose:gc -XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError"

And didn't see any major problems through multiple deploy/undeploy cycles. 
EAR/WAR ClassLoaders (and their Classes) were definitely being GC'ed. So, I 
don't see a systemic problem. Quite possibly we're losing the first 
ClassLoader. Also, possible that we're temporarily holding onto ClassLoader's 
through ThreadLocals. Will have to dig a bit further with a finer tooth comb. 
May be a few days... 

> EAR classloader not garbage collected
> -------------------------------------
>
>                 Key: GERONIMO-4543
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-4543
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: Memory Leaks, transaction manager
>    Affects Versions: 2.2
>            Reporter: Janko Heilgeist
>            Priority: Blocker
>             Fix For: 2.2
>
>         Attachments: ear-with-tx.tar.gz, privileged_currenttime.patch
>
>
> The TransactionTimer$CurrentTime thread inherits the AccessControlContext of 
> the first EAR/WAR/EJB-jar that carries out a transaction. Thus, the 
> particular EAR/WAR/EJB-jar's classloader is prevented from being GCed.
> See http://www.nabble.com/PermGen-space-issues-td22079768s134.html

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to