JBoss Community

mem leak in TransactionSynchronizer on afterCompletion() phase

created by Andrey Smirnov in IronJacamar - View the full discussion

Hello.

 

Let me introduce the problem

App server ( jboss-as-7.1.1.Final ) which is a part of complex distributed app using CORBA for communication fails with OutOfMemoryError

 

I've investigated the problem and seems like root cause is inability  to clean up txSynchs ( and locks ) maps resided in org.jboss.jca.core.connectionmanager.transaction.TransactionSynchronizer class.

More detailed:

 

Collections mentioned above should be cleaned up in afterCompletion() method but TX is unavailable at that stage, so Transaction.hashCode() returns -1 which leads to dangled TX associations.

Right now I don't understand why javax.transaction.Transaction is used as a key in this maps? For me it seems like this code wil always fail.

 

I've attached modified source code of  TransactionSynchronizer which I used during investigation and partial app log with records specific to one TX.

 

Regards, Andrey.

Reply to this message by going to Community

Start a new discussion in IronJacamar at Community