Here's the reference chain from the classloader back into JBossTS. There's a lot
more besides this branching off from the
com.arjuna.ats.arjuna.coordinator.TransactionReaper._list ref, but this is the gist of it.
I can e-mail someone the full report if it's wanted.
| !--org.jboss.mx.loading.UnifiedClassLoader3@1085eba{ url=null ,addedOrder=49}
| !--!--ClassLoaderReference @ class $Proxy80
| !--!--!--InstanceOfReference:ToString=ClassloaderLeakStatefulSession:eza31jqw-8
| !--!--!--!--FieldReference
UndefinedField@org.jboss.ejb.StatefulSessionEnterpriseContext@13ba312=org.jboss.ejb.StatefulSessionEnterpriseContext(a)13ba312
| !--!--!--!--!--FieldReference private org.jboss.ejb.EnterpriseContext
org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor$InstanceSynchronization.ctx=org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor$InstanceSynchronization@122be0b
| !--!--!--!--!--!--FieldReference private javax.transaction.Synchronization
com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple._theSynch=com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple@ffa9d8
| !--!--!--!--!--!--!--FieldReference private
com.arjuna.ats.arjuna.coordinator.SynchronizationRecord
com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator._currentRecord=BasicAction:
a0b0e66:58c:45f838a3:41 status: ActionStatus.COMMITTED
| !--!--!--!--!--!--!--!--FieldReference public
com.arjuna.ats.arjuna.coordinator.Reapable
com.arjuna.ats.internal.arjuna.coordinator.ReaperElement._control=com.arjuna.ats.internal.arjuna.coordinator.ReaperElement@c47220
| !--!--!--!--!--!--!--!--!--FieldReference private final
com.arjuna.ats.internal.arjuna.template.OrderedListElement
com.arjuna.ats.internal.arjuna.template.OrderedListEntry._theElement=com.arjuna.ats.internal.arjuna.template.OrderedListEntry@16e2b70
| !--!--!--!--!--!--!--!--!--!--FieldReference private
com.arjuna.ats.internal.arjuna.template.OrderedListEntry
com.arjuna.ats.internal.arjuna.template.OrderedListEntry._next=com.arjuna.ats.internal.arjuna.template.OrderedListEntry@1e5d007
| !--!--!--!--!--!--!--!--!--!--!--FieldReference private
com.arjuna.ats.internal.arjuna.template.OrderedListEntry
com.arjuna.ats.internal.arjuna.template.OrderedListEntry._next=com.arjuna.ats.internal.arjuna.template.OrderedListEntry@bc8f01
| !--!--!--!--!--!--!--!--!--!--!--!--FieldReference private
com.arjuna.ats.internal.arjuna.template.OrderedListEntry
com.arjuna.ats.internal.arjuna.template.OrderedListEntry._next=com.arjuna.ats.internal.arjuna.template.OrderedListEntry@1509443
| !--!--!--!--!--!--!--!--!--!--!--!--!--FieldReference private
com.arjuna.ats.internal.arjuna.template.OrderedListEntry
com.arjuna.ats.internal.arjuna.template.OrderedList._headOfList=com.arjuna.ats.internal.arjuna.template.OrderedList@1c931fb
| !--!--!--!--!--!--!--!--!--!--!--!--!--!--FieldReference private
com.arjuna.ats.internal.arjuna.template.OrderedList
com.arjuna.ats.arjuna.coordinator.TransactionReaper._list=com.arjuna.ats.arjuna.coordinator.TransactionReaper@126c885
| !--!--!--!--!--!--!--!--!--!--!--!--!--!--!--Root
| !--!--!--!--!--!--!--!--!--!--!--!--!--!--!--Reference inside a method -
com.arjuna.ats.internal.arjuna.coordinator.ReaperThread::run
| !--!--!--!--!--!--!--!--!--!--!--!--!--!--!--FieldReference private
com.arjuna.ats.arjuna.coordinator.TransactionReaper
com.arjuna.ats.internal.arjuna.coordinator.ReaperThread.reaperObject=Thread[Thread-23,5,jboss]
| !--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--Root
| !--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--Reference inside a method -
com.arjuna.ats.internal.arjuna.coordinator.ReaperThread::run
All the stuff about Reapable and ReaperThread is what led me to think this wasn't a
long-term leak in JBossTS.
For more info on the test that produces this, see
http://wiki.jboss.org/wiki/Wiki.jsp?page=ClassloaderLeakUnitTestCase
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4028097#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...