[ 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

Reply via email to