[seam-issues] [JBoss JIRA] (JBSEAM-5001) Deadlock between SFSB EJB lock and Component.getInstanceFromFactory factoryLock calling factory from the same component

Marek Schmidt (JIRA) jira-events at lists.jboss.org
Thu Jul 19 08:24:06 EDT 2012


Marek Schmidt created JBSEAM-5001:
-------------------------------------

             Summary: Deadlock between SFSB EJB lock and Component.getInstanceFromFactory factoryLock calling factory from the same component
                 Key: JBSEAM-5001
                 URL: https://issues.jboss.org/browse/JBSEAM-5001
             Project: Seam 2
          Issue Type: Bug
          Components: Core
    Affects Versions: 2.3.0.BETA2
         Environment: JBoss AS 7.1.2
            Reporter: Marek Schmidt
            Assignee: Marek Novotny
             Fix For: 2.3.0.CR1


The following sample demonstrates a deadlock between SFSB lock and the Component.getInstanceFromFactory factoryLock:

{code}
@Stateful
@Scope(ScopeType.SESSION)
@Name("test")
public class TestAction implements Test
{
   
   public String test() {
      Thread.sleep(500);
      Component.getInstance("testString", true);
      return "test";
   }
   
   @Factory(value="testString", scope=ScopeType.SESSION)
   public String getTestString() {
      return "testString";
   }

   @Remove
   public void remove() {}
}
{code}


when test.xhtml contains:

{code}
<h:outputText value="#{test.test()} " />
{code}

and othertest.xhtml contains:
{code}
<h:outputText value="#{testString} " />
{code}

If the othertest.seam is requested just after (<500ms after) the test.seam with the same session cookie.

The problem seems to be that the #{test.test()} first locks the TestAction SFSB lock and then the Seam factory lock in the Component.getInstance call, while #{testString} locks the factoryLock first. 

--
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 seam-issues mailing list