[jbossts-issues] [JBoss JIRA] (JBTM-770) incorrect cleanup registration causes memory leak

Justin Bertram (Commented) (JIRA) jira-events at lists.jboss.org
Mon Nov 28 18:41:41 EST 2011


    [ https://issues.jboss.org/browse/JBTM-770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12646132#comment-12646132 ] 

Justin Bertram commented on JBTM-770:
-------------------------------------

I noticed a couple of changes were made to trunk (i.e. 35422 and 35425) after the back-port to JBOSSTS_4_6_1_GA_CP was done.  Should those be back-ported as well?
                
> incorrect cleanup registration causes memory leak
> -------------------------------------------------
>
>                 Key: JBTM-770
>                 URL: https://issues.jboss.org/browse/JBTM-770
>             Project: JBoss Transaction Manager
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: JTS
>    Affects Versions: 4.12.0, 4.6.1.CP06
>            Reporter: Jonathan Halliday
>            Assignee: Jonathan Halliday
>             Fix For: 4.13.0, 4.6.1.CP08
>
>
> jts.TransactionImple constructors attempt to optimize the cleanup callback needed to remove entries from _transactions, bypassing the ORB for interposition scenarios:
> theTx = (TwoPhaseCoordinator) BasicAction.Current();
> if (theTx != null) {
>   theTx.addSynchronization(new LocalCleanupSynchronization(this));
> } else {
>   registerSynchronization(new CleanupSynchronization(this));
> }
> Unfortunately this does not work and leads to memory leaks on _transactions in certain cases. Specifically, where theTx is a ServerTransaction (i.e. extends ArjunaTransactionImple, which extends TwoPhaseCoordinator), the callbacks run (by ArjunaTransactionImple.do[Before|After]Completion()) are those in ArjunaTransactionImple._syncs, not the masked ones in TwoPhaseCoordinator._syncs. Thus using TwoPhaseCoordinator.addSynchronization registers a callback which is never invoked.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jbossts-issues mailing list