cancel
Showing results for 
Search instead for 
Did you mean: 

Error when accessing multiple reports concurrently

Former Member
0 Kudos

Hi,

I get the below error when i different reports at the same time.

Hope someone can help me in this.

Log Message: Error fetching total page count

com.crystaldecisions.reports.formatter.formatter.c: Failed to spill summaries.

at com.crystaldecisions.reports.formatter.formatter.objectformatter.bv.eA(Unknown Source)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.cd.E(Unknown Source)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.cd.for(Unknown Source)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.cd.for(Unknown Source)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.b3.for(Unknown Source)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.bt.a(Unknown Source)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.cd.a(Unknown Source)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.cd.a(Unknown Source)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.cd.a(Unknown Source)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.ca.a(Unknown Source)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.a9.a(Unknown Source)

at com.crystaldecisions.reports.formatter.formatter.e.m.a(Unknown Source)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.cd.for(Unknown Source)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.cd.for(Unknown Source)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.b3.for(Unknown Source)

at com.crystaldecisions.reports.formatter.formatter.e.m.for(Unknown Source)

at com.crystaldecisions.reports.formatter.formatter.objectformatter.bt.a(Unknown Source)

at com.crystaldecisions.reports.formatter.formatter.e.p.l(Unknown Source)

at com.crystaldecisions.reports.formatter.formatter.e.p.void(Unknown Source)

at com.businessobjects.reports.sdk.b.b.a(Unknown Source)

at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(Unknown Source)

at com.crystaldecisions.proxy.remoteagent.x.a(Unknown Source)

at com.crystaldecisions.proxy.remoteagent.q.a(Unknown Source)

at com.crystaldecisions.sdk.occa.report.application.dd.a(Unknown Source)

at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)

at com.crystaldecisions.sdk.occa.report.application.ReportSource.getLastPageNumber(Unknown Source)

at com.crystaldecisions.sdk.occa.report.application.AdvancedReportSource.getLastPageNumber(Unknown Source)

at com.crystaldecisions.sdk.occa.report.application.NonDCPAdvancedReportSource.getLastPageNumber(Unknown Source)

at com.crystaldecisions.reports.reportengineinterface.JPEReportSource.getLastPageNumber(Unknown Source)

at com.crystaldecisions.report.web.a.a.U(Unknown Source)

at com.crystaldecisions.report.web.event.ac.a(Unknown Source)

at com.crystaldecisions.report.web.event.ac.a(Unknown Source)

at com.crystaldecisions.report.web.event.t.a(Unknown Source)

at com.crystaldecisions.report.web.event.b7.broadcast(Unknown Source)

at com.crystaldecisions.report.web.event.av.a(Unknown Source)

at com.crystaldecisions.report.web.WorkflowController.do(Unknown Source)

at com.crystaldecisions.report.web.WorkflowController.doLifecycle(Unknown Source)

at com.crystaldecisions.report.web.ServerControl.a(Unknown Source)

at com.crystaldecisions.report.web.ServerControl.processHttpRequest(Unknown Source)

at com.dnb.asip.report.viewer.ReportViewerTag.doEndTag(ReportViewerTag.java:92)

at org.apache.jsp.Reports.JSP.CCAMReport_jsp._jspService(CCAMReport_jsp.java:300)

at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)

at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)

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:810)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)

at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)

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.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)

at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)

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.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)

at java.lang.Thread.run(Thread.java:534)

Caused by: com.crystaldecisions.reports.dataengine.be: Failed to spill summaries.

at com.crystaldecisions.reports.dataengine.n.bn(Unknown Source)

at com.crystaldecisions.reports.dataengine.n.bp(Unknown Source)

at com.crystaldecisions.reports.dataengine.n.else(Unknown Source)

at com.crystaldecisions.reports.dataengine.s.a(Unknown Source)

at com.crystaldecisions.reports.dataengine.bk.a(Unknown Source)

at com.crystaldecisions.reports.dataengine.bk.aa(Unknown Source)

at com.crystaldecisions.reports.dataengine.bk.<init>(Unknown Source)

at com.crystaldecisions.reports.dataengine.bk.if(Unknown Source)

at com.crystaldecisions.reports.dataengine.bk.a(Unknown Source)

at com.crystaldecisions.reports.dataengine.bk.for(Unknown Source)

at com.crystaldecisions.reports.dataengine.bk.if(Unknown Source)

at com.crystaldecisions.reports.dataengine.bk.H(Unknown Source)

at com.crystaldecisions.reports.dataengine.bk.X(Unknown Source)

at com.crystaldecisions.reports.dataengine.bk.int(Unknown Source)

at com.crystaldecisions.reports.dataengine.bk.G(Unknown Source)

... 65 more

Caused by: com.crystaldecisions.reports.totaller.h: Failed to spill summaries.

at com.crystaldecisions.reports.totaller.b.s.if(Unknown Source)

at com.crystaldecisions.reports.totaller.b.s.do(Unknown Source)

at com.crystaldecisions.reports.totaller.b.d.a(Unknown Source)

at com.crystaldecisions.reports.totaller.c.e.q(Unknown Source)

at com.crystaldecisions.reports.totaller.c.e.a(Unknown Source)

at com.crystaldecisions.reports.totaller.c.ae.a(Unknown Source)

at com.crystaldecisions.reports.totaller.c.w.a(Unknown Source)

at com.crystaldecisions.reports.totaller.c.ae.a(Unknown Source)

at com.crystaldecisions.reports.totaller.c.an.a(Unknown Source)

... 80 more

Caused by: java.io.IOException: Too many open files

at java.io.WinNTFileSystem.createFileExclusively(Native Method)

at java.io.File.checkAndCreate(File.java:1314)

at java.io.File.createTempFile(File.java:1402)

at java.io.File.createTempFile(File.java:1439)

at com.crystaldecisions.reports.common.i.g.<init>(Unknown Source)

at com.crystaldecisions.reports.totaller.b.s.try(Unknown Source)

at com.crystaldecisions.reports.totaller.b.s

Prem

Fed up with Crystal reports

Accepted Solutions (0)

Answers (1)

Answers (1)

ted_ueda
Employee
Employee
0 Kudos

Hello Prem,

How many reports, and how many pages per report?

I'm inferring from the trace that the process has encountered issues with opening files when formatting page objects.

Sun Java JVM had an issue where, on win32, there were only a finite number of open files allowed. This has been fixed in more recent versions of the Java JVM (from new builds of Java 1.5 onwards):

[Sun Java Bug ID 4189011|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4189011]

Sincerely,

Ted Ueda

Former Member
0 Kudos

Hi Ted,

There are 7 reports each contains 80-120 pages.are you saying crystal reports is trying to open up so many files?

Prem

ted_ueda
Employee
Employee
0 Kudos

Hello Prem,

The limitation in the Sun Java is per-JVM. You might try running [Filemon|http://technet.microsoft.com/en-us/sysinternals/bb896642.aspx] to see what the open files are.

Note that, if you're paging to the last page of a Crystal Report (either by viewing or exporting), it has to composit all pages of the report before it can get to the last one.

Seven reports with > 100 pages with several users - that's getting to be the upper range of Crystal Reports for Eclipse's capabilities.

Sincerely,

Ted Ueda

Former Member
0 Kudos

Hi Ted,

Seven reports with > 100 pages with several users - that's getting to be the upper range of Crystal Reports for Eclipse's capabilities

In such a case what should i go for? I have a licencse for Developer edition of crystal reports.Will using the JRC of CR release2 SP4 will help??

Please help,

Prem

ted_ueda
Employee
Employee
0 Kudos

Hello Prem,

It's not something resolved by a different version of the Java Reporting Component.

Usually, beyond a few reports and more than 5 concurrent users, it's recommended to go to [Crystal Reports Server|http://www.businessobjects.com/product/catalog/crystalreports_server/] or [BusinessObjects Enterprise|http://www.businessobjects.com/product/catalog/xi/].

Sincerely,

Ted Ueda

Former Member
0 Kudos

Are you sharing the ReportClientDocument among different users or do you have the ReportSource in session?

The JRC was always intended to be a product for smaller businesses and user numbers. The maximum that the JRC can successfully handle is around 50 users; after that you may run into issues with deadlocking, running out of threads, performance, etc. As well, the size of the reports you are viewing are going to stretch the JRC to capacity.

You may need to look at upgrading to something like Crystal Reports Server, or Business Objects Edge... depending on your plans for growing your application and for the number and size of reports you want to view.

Former Member
0 Kudos

hi Ted,

Thank you.

If there are less than 5 concurrent users will JRC be able to pull reports of 100 pages. Will it give me a gud result if 4 people are accessing the reports at the same time and if the same happens every minute?

i found in an earlier post by sean Jhonson where he had mentioned that CR4E can be used for a group of 25-30 users.Do we have anyother tool for crystal reports?

Prem.

Former Member
0 Kudos

For Crystal Reports, there is nothing that can handle a large number of users. Any of the products that come with Crystal Reports are intended for small deployments.

Crystal Reports for Eclipse has a 3 concurrent process license out of the box, meaning that you can have 3 threads running at exactly the same time and if another request comes in, it will be queued until one of the 3 is finished. A request can be made when the report is being opened, or exported, or refreshed, or you click on the group tree.... anything that causes a user to access the report object. The request is terminated as soon as the thread has completed the task. This should give you some idea of what your users will run into if you push this limit.

If you plan a larger deployment, review the products we mentioned earlier because that is what they are intended for.

Former Member
0 Kudos

, it will be queued until one of the 3 is finished.

In such case the only issue will be the user waiting to take his turn only isn't but my report is throwing Out of memory.

If you plan a larger deployment, review the products we mentioned earlier because that is what they are intended for.

where can i find them ?

Prem

Former Member
0 Kudos

In such case the only issue will be the user waiting to take his turn only isn't but my report is throwing Out of memory.

A three CPL limit does not have anything to do with the number of reports your users open at the same time; because the thread may only be active for seconds, or less, you can actually open many more reports than this, however as you exceed the user limit you do start to run in to thread collisions and errors.

ted_ueda
Employee
Employee
0 Kudos

Hello Prem,

You're likely aware of this already, but the 3 Concurrent Processing License (CPL) is orthogonal to memory use. You can have multiple reports open using the Java Reporting Component, each taking up machine resources.

The 3 CPL is specific to the backend handling report processing requests. Each request, regardless of which report or user it's for - say next page request, export request, refresh request (i.e., any click on the viewer) - will take up a CPL till it returns. The backend will service 3 CPLs concurrently, and will queue additional requests till a free CPL is available.

Sincerely,

Ted Ueda