Details

    • Issuezilla Id:
      49

      Description

      From the forum:
      We did a test run today with JSF RI weekly build from 18 August 2004.
      The results were better than with JSF RI 1.1, but although to worse for a
      productive use.
      Instead of 4 use cases per seconds we got 8 use cases per seconds (to be more
      precise with 4 concurrent clients -> 7 use cases, for 10, 20, 30, 40,50 clients
      the value sticks
      to 8 use cases).
      I took a thread dump and think there is potentially a deadlock problem. Here is
      an extract from this thread dump:

      Thread-4" daemon prio=5 tid=0x1502e8 nid=0x14 waiting for monitor entry
      [b2c7f000..b2c819bc]
      at java.lang.ref.ReferenceQueue.poll(ReferenceQueue.java:76)

      • waiting to lock <cbc03d10> (a java.lang.ref.ReferenceQueue$Lock)
        at java.util.WeakHashMap.expungeStaleEntries(WeakHashMap.java:263)
        at java.util.WeakHashMap.getTable(WeakHashMap.java:292)
        at java.util.WeakHashMap.get(WeakHashMap.java:336)
        at
        javax.faces.component.UIComponentBase.getPropertyDescriptor(UIComponentBase.java:114)
        at javax.faces.component.UIComponentBase.access$300(UIComponentBase.java:56)
        at
        javax.faces.component.UIComponentBase$AttributesMap.get(UIComponentBase.java:1353)
        at com.sun.faces.util.Util.hasPassThruAttributes(Util.java:719)
        at
        com.sun.faces.renderkit.html_basic.TextRenderer.getEndTextToRender(TextRenderer.java:120)
        at
        com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:173)
        at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:720)
        at
        com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:443)
        at
        com.sun.faces.renderkit.html_basic.TableRenderer.encodeChildren(TableRenderer.java:257)
        at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:701)
        at javax.faces.webapp.UIComponentTag.encodeChildren(UIComponentTag.java:607)
        at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:544)
        at com.sun.faces.taglib.html_basic.DataTableTag.doEndTag(DataTableTag.java:491)
        at register_jsp._jspx_meth_h_dataTable_0(register_jsp.java:1148)
        at register_jsp._jspx_meth_h_form_2(register_jsp.java:1103)
        at register_jsp._jspx_meth_f_view_0(register_jsp.java:185)
        at register_jsp._jspService(register_jsp.java:124)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:1

        Activity

        Hide
        jayashri added a comment -

        Can you share the information how you performed this test. This would help to
        not only to reproduce the problem but to test the fix.

        Show
        jayashri added a comment - Can you share the information how you performed this test. This would help to not only to reproduce the problem but to test the fix.
        Hide
        jayashri added a comment -
            • Issue 48 has been marked as a duplicate of this issue. ***
        Show
        jayashri added a comment - Issue 48 has been marked as a duplicate of this issue. ***
        Hide
        jayashri added a comment -

        Here is a short description of how we tested this:
        1. Servlet Environment
        Servlet runs on Tomcat 4.1.27 by means of JDK 1.4.1 (on a SunOS 5.8 sun4u sparc
        SUNW, Sun-Fire-480R)

        2. Client Environment
        For load testing we use a Java loadtesting Framework called Grinder (please see
        http://grinder.sourceforge.net/).
        We tested our servlet with 4, 10, 20, 30, 40 and 50 concurrent clients.

        During the tests I took some thread dumps with the means of the command kill -3
        process_id_of_tomcat,
        this is where the posted Thread dump comes from.

        If you wish I can send you the servlet code directly (sorry but I cannot attach
        here anything,
        as far as I know).

        Show
        jayashri added a comment - Here is a short description of how we tested this: 1. Servlet Environment Servlet runs on Tomcat 4.1.27 by means of JDK 1.4.1 (on a SunOS 5.8 sun4u sparc SUNW, Sun-Fire-480R) 2. Client Environment For load testing we use a Java loadtesting Framework called Grinder (please see http://grinder.sourceforge.net/ ). We tested our servlet with 4, 10, 20, 30, 40 and 50 concurrent clients. During the tests I took some thread dumps with the means of the command kill -3 process_id_of_tomcat, this is where the posted Thread dump comes from. If you wish I can send you the servlet code directly (sorry but I cannot attach here anything, as far as I know).
        Hide
        Ed Burns added a comment -

        Provide a better summary.

        Show
        Ed Burns added a comment - Provide a better summary.
        Hide
        jayashri added a comment -

        Ed is looking this.

        Show
        jayashri added a comment - Ed is looking this.
        Hide
        Ed Burns added a comment -

        I've just checked this fix into the trunk.

        Show
        Ed Burns added a comment - I've just checked this fix into the trunk.
        Hide
        Manfred Riem added a comment -

        Closing issue out

        Show
        Manfred Riem added a comment - Closing issue out

          People

          • Assignee:
            Ed Burns
            Reporter:
            jayashri
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: