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