[ http://jira.jboss.com/jira/browse/JBAS-1560?page=history ] Scott M Stark closed JBAS-1560: -------------------------------
Resolution: Done > Clustered stateful session bean removal of expired passivated instances > causes deadlock > --------------------------------------------------------------------------------------- > > Key: JBAS-1560 > URL: http://jira.jboss.com/jira/browse/JBAS-1560 > Project: JBoss Application Server > Type: Bug > Components: EJBs > Versions: JBossAS-4.0.1 SP1, JBossAS-4.0.1 Final, JBossAS-3.2.7 Final > Reporter: Scott M Stark > Assignee: Scott M Stark > Priority: Critical > Fix For: JBossAS-4.0.2RC1, JBossAS-4.0.2 Final, JBossAS-5.0 Alpha, > JBossAS-3.2.8 Final > > Original Estimate: 2 days > Remaining: 2 days > > The background processing of expired stateful sessions that have been > passivated can result in deadlock when clustering is used due to the fact > that removal of the stateful session occurs with the cache lock held. This > conflicts with removal requests sent to invalidate a cache entry. The > deadlock is illustrated by the following 3.2.6 traces: > "Thread-25" daemon prio=1 tid=0x89648448 nid=0x3805 in Object.wait() > [8aaed000..8aaed87c] > at java.lang.Object.wait(Native Method) > at org.jgroups.blocks.GroupRequest.doExecute(GroupRequest.java:505) > at org.jgroups.blocks.GroupRequest.execute(GroupRequest.java:183) > - locked <0x9b8ea9e8> (a java.lang.Object) > at > org.jgroups.blocks.MessageDispatcher.castMessage(MessageDispatcher.java:384) > at org.jgroups.blocks.RpcDispatcher.callRemoteMethods(RpcDispatcher.java:134) > at > org.jboss.ha.framework.server.HAPartitionImpl.callMethodOnCluster(HAPartitionImpl.java:620) > at > org.jboss.ha.hasessionstate.server.HASessionStateImpl.removeSession(HASessionStateImpl.java:533) > at > org.jboss.ejb.plugins.StatefulHASessionPersistenceManager.removePassivated(StatefulHASessionPersistenceManager.java:219) > at > org.jboss.ejb.plugins.StatefulSessionInstanceCache.removePassivated(StatefulSessionInstanceCache.java:193) > at > org.jboss.ejb.plugins.LRUStatefulContextCachePolicy$RemoverTask.run(LRUStatefulContextCachePolicy.java:146) > - locked <0x9296b8c0> (a java.lang.Object) > at java.util.TimerThread.mainLoop(Timer.java:432) > at java.util.TimerThread.run(Timer.java:382) > "MessageDispatcher up processing thread" daemon prio=1 tid=0x086c06b0 > nid=0x3805 waiting for monitor entry [8b788000..8b78887c] > at > org.jboss.ejb.plugins.AbstractInstanceCache.remove(AbstractInstanceCache.java:206) > - waiting to lock <0x9296b8c0> (a java.lang.Object) > at > org.jboss.ejb.plugins.StatefulHASessionPersistenceManager.sessionExternallyModified(StatefulHASessionPersistenceManager.java:231) > at > org.jboss.ha.hasessionstate.server.HASessionStateImpl.ownedObjectExternallyModified(HASessionStateImpl.java:587) > at > org.jboss.ha.hasessionstate.server.HASessionStateImpl._setOwnership(HASessionStateImpl.java:504) > at sun.reflect.GeneratedMethodAccessor400.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at org.jgroups.blocks.MethodCall.invoke(MethodCall.java:236) > at > org.jboss.ha.framework.server.HAPartitionImpl.handle(HAPartitionImpl.java:828) > at > org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:615) > at > org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:512) > at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:326) > at > org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.handleUp(MessageDispatcher.java:722) > at > org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.access$300(MessageDispatcher.java:554) > at org.jgroups.blocks.MessageDispatcher$1.run(MessageDispatcher.java:691) > at java.lang.Thread.run(Thread.java:534) > The background removal of the expired passivated sessions should not be done > with the cache lock held. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa - If you want more information on JIRA, or have a bug to report see: http://www.atlassian.com/software/jira ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ JBoss-Development mailing list JBoss-Development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-development