Hi all,

        I am using currently using Tomcat 4.1.12 for an application I have 
developed. I have a report that displays a large list of records retrieved from 
a database. The report is generated using a JSP. This operation seems to take a 
very long time and I assumed initially the time was spent in the data 
retrieval. However I have generated a number of stack traces while my 
application is "hanging" and the thread creating the report seems to be 
consistently waiting on a condition within the Jasper functionality. The 
generated stack trace from the thread creating the report is as follows:

        "Thread-6" daemon prio=5 tid=0x24f92788 nid=0x714 waiting on condition 
[25afe000..25affd88]
                at 
org.apache.jasper.runtime.BodyContentImpl.reAllocBuff(BodyContentImpl.java:82)
                at 
org.apache.jasper.runtime.BodyContentImpl.write(BodyContentImpl.java:144)
                at 
org.apache.jasper.runtime.BodyContentImpl.write(BodyContentImpl.java:155)
                at 
org.apache.jasper.runtime.BodyContentImpl.print(BodyContentImpl.java:291)
                at 
org.apache.struts.util.ResponseUtils.writePrevious(ResponseUtils.java:184)
                at 
org.apache.struts.taglib.logic.IterateTag.doAfterBody(IterateTag.java:412)
                at 
org.apache.struts.taglib.nested.logic.NestedIterateTag.doAfterBody(NestedIterateTag.java:160)
                at 
org.apache.jsp.ViewInvoiceByProduct_jsp._jspService(ViewInvoiceByProduct_jsp.java:275)
                at 
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:92)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
                at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:204)
                at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:289)
                at 
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
                at 
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
                at 
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:575)
                at 
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:498)
                at 
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:768)
                at 
org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:359)
                at 
org.apache.struts.taglib.tiles.InsertTag.doInclude(InsertTag.java:703)
                at 
org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:814)
                at 
org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:467)
                at 
org.apache.jsp.classicLayout_jsp._jspx_meth_tiles_insert_1(classicLayout_jsp.java:145)
                at 
org.apache.jsp.classicLayout_jsp._jspService(classicLayout_jsp.java:85)
                at 
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:92)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
                at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:204)
                at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:289)
                at 
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
                at 
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
                at 
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:432)
                at 
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:356)
                at 
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1033)
                at 
org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:268)
                at 
org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition(TilesRequestProcessor.java:248)
                at 
org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:302)
                at 
org.apache.struts.action.RequestProcessor.processActionForward(RequestProcessor.java:401)
                at 
ie.mcps.framework.web.McpsiRequestProcessor.processActionForward(McpsiRequestProcessor.java:83)
                at 
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
                at 
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1339)
                at 
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:489)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
                at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
                at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
                at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
                at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
                at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
                at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
                at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
                at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
                at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:527)
                at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
                at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
                at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
                at 
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2396)
                at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
                at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
                at 
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
                at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
                at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
                at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
                at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
                at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
                at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
                at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
                at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
                at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
                at 
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
                at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:405)
                at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:380)
                at 
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:508)
                at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:533)
                at java.lang.Thread.run(Thread.java:534)


        I have generated a number of thread dumps and each time Thread-6 is 
waiting on the same condition until eventually the report is displayed. I am 
currently executing the tests on my Windows 2000 machine. 

        I have tested the same functionality using Tomcat 5.5.9 and the report 
is generated instantaneously. However it is not an option for me to update to 
the latest version of Tomcat so I need to try find a way of resolving these 
problems. Any ideas?

        Cheers,
        Leonard




This e-mail and any files transmitted with it are confidential and may be 
privileged and are intended solely for the individual named/ for the use of the 
individual or entity to whom they are addressed.If you are not the intended 
addressee, you should not disseminate, distribute or copy this e-mail.Please 
notify the sender immediately if you have received this e-mail by mistake and 
delete this e-mail from your system.If you are not the intended recipient, you 
are notified that reviewing, disclosing, copying, distributing or taking any 
action in reliance on the contents of this e-mail is strictly prohibited.Please 
note that any views or opinions expressed in this e-mail are solely those of 
the author and do not necessarily represent those of Traventec Limited. This 
e-mail has been swept for computer viruses however Traventec Limited accepts no 
liability for any damage caused by any virus transmitted by this e-mail.

Reply via email to