[jboss-jira] [JBoss JIRA] Created: (JBWEB-75) Contention in ApplicationContext

Phillip Thurmond (JIRA) jira-events at lists.jboss.org
Wed Mar 21 17:24:48 EDT 2007


Contention in ApplicationContext
--------------------------------

                 Key: JBWEB-75
                 URL: http://jira.jboss.com/jira/browse/JBWEB-75
             Project: JBoss Web
          Issue Type: Bug
      Security Level: Public (Everyone can see)
         Environment: JBoss 4.0.5, Linux, Java 5
            Reporter: Phillip Thurmond
         Assigned To: Mladen Turk


I'm seeing some contention inside Tomcat on ApplicationContext.getAttribute() when I run performance tests using a Seam application.  With a load of 200 threads, I often see over 150 "waiting to lock" messages on the attributes object.  It looks like this contention has already been fixed in Tomcat 6 using the Java 5 concurrent objects.

I also posted to the Tomcat development list about this issue, but Remy did not want to fix it because he didn't want to introduce any new dependencies into the project.  I think this is important to fix if we expect users to deploy Seam on 4.0.5.

Example thread dump:

"http-10.68.0.196-8080-301" daemon prio=1 tid=0x0000002b51e425b0 nid=0x78a5 waiting for monitor entry [0x000000005b86c000..0x000000005b86cdb0]
      at org.apache.catalina.core.ApplicationContext.getAttribute(ApplicationContext.java:175)
      - waiting to lock <0x0000002aabd633b0> (a java.util.HashMap)
      at org.apache.catalina.core.ApplicationContextFacade.getAttribute(ApplicationContextFacade.java:315)
      at org.apache.myfaces.context.servlet.ApplicationMap.getAttribute(ApplicationMap.java:41)
      at org.apache.myfaces.context.servlet.AbstractAttributeMap.get(AbstractAttributeMap.java:87)
      at org.jboss.seam.contexts.FacesApplicationContext.get(FacesApplicationContext.java:47)
      at org.jboss.seam.Component.forName(Component.java:1588)
      at org.jboss.seam.Component.getInstance(Component.java:1636)
      at org.jboss.seam.Component.getInstance(Component.java:1631)
      at org.jboss.seam.Component.getInstance(Component.java:1608)
      at org.jboss.seam.Component.getInstance(Component.java:1603)
      at org.jboss.seam.core.Events.instance(Events.java:158)
      at org.jboss.seam.jsf.AbstractSeamPhaseListener.afterPhase(AbstractSeamPhaseListener.java:139)
      at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:69) 

-- 
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
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list