Deadlock issues with display tag
--------------------------------

                 Key: DISPL-446
                 URL: http://jira.codehaus.org/browse/DISPL-446
             Project: DisplayTag
          Issue Type: Bug
          Components: Tag Library
    Affects Versions: 1.1
            Reporter: Ravi Varanasi


We are running into performance issues with display tag's use of apache 
beanutils library. Seems like the BeanUtils.getInstance() is the method where 
the deadlock happens. I investigated the issue in apache beanutils jira issue 
(http://issues.apache.org/jira/browse/BEANUTILS-49). I have removed the 
synchronized option in the getInstance(), but get an exception lower in the 
method chain. Any help/ideas would be appreciates. The performance test runs 
500 concurrent users.

http-8080-Processor7" daemon prio=6 tid=0x03c57ca0 nid=0x1abc runnable 
[0x0429e000..0x0429fc68]
      at 
org.apache.commons.beanutils.BeanUtilsBean.getInstance(BeanUtilsBean.java:78)
      - waiting to lock <0x553426d0> (a java.lang.Class)
      at 
org.apache.commons.beanutils.PropertyUtilsBean.getInstance(PropertyUtilsBean.java:101)
      at 
org.apache.commons.beanutils.PropertyUtils.getSimpleProperty(PropertyUtils.java:408)
      at org.displaytag.util.LookupUtil.getProperty(LookupUtil.java:271)
      at org.displaytag.util.LookupUtil.getBeanProperty(LookupUtil.java:129)
      at org.displaytag.model.Column.getValue(Column.java:124)
      at 
org.displaytag.model.Column.createChoppedAndLinkedValue(Column.java:201)
      at org.displaytag.model.Column.initialize(Column.java:178)
      at 
org.displaytag.render.TableWriterTemplate.writeTableBody(TableWriterTemplate.java:328)
      at 
org.displaytag.render.TableWriterTemplate.writeTable(TableWriterTemplate.java:133)
      at 
org.displaytag.render.HtmlTableWriter.writeTable(HtmlTableWriter.java:643)
      at org.displaytag.tags.TableTag.writeHTMLData(TableTag.java:1549)
      at org.displaytag.tags.TableTag.doEndTag(TableTag.java:1218)
      at 
org.apache.jsp.WEB_002dINF.jsp.loanSelection_jsp._jspx_meth_display_table_0(loanSelection_jsp.java:137)
      at 
org.apache.jsp.WEB_002dINF.jsp.loanSelection_jsp._jspService(loanSelection_jsp.java:63)
      at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
      at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
      at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
      at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at 
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
      at 
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
      at 
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
      at 
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
      at 
org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:602)
      at org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:99)
      at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:135)
      at org.apache.struts.taglib.tiles.InsertTag.doInclude(InsertTag.java:760)
      at 
org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:892)
      at org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:462)
      at 
org.apache.jsp.WEB_002dINF.jsp.standardTemplate_jsp._jspx_meth_tiles_insert_3(standardTemplate_jsp.java:276)
      at 
org.apache.jsp.WEB_002dINF.jsp.standardTemplate_jsp._jspService(standardTemplate_jsp.java:164)
      at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
      at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
      at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
      at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at 
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
      at 
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
      at 
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
      at 
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
      at 
org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:142)
      at 
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:247)
      at 
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1105)
      at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:841)
      at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:755)
      at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:396)
      at 
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:360)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
      at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
      at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
      at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
      at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
      at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
      at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
      at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
      at 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
      at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
      at 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
      at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
      at java.lang.Thread.run(Thread.java:595)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
displaytag-devel mailing list
displaytag-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/displaytag-devel

Reply via email to