Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 342625

Summary: The viewing session is not available or has expired
Product: z_Archived Reporter: Raishad <rincewind1013>
Component: BIRTAssignee: Birt-ReportViewer <Birt-ReportViewer-inbox>
Status: NEW --- QA Contact: Xiaoying Gu <bluesoldier>
Severity: major    
Priority: P3 CC: a.kalakoti, bluesoldier, gauravspdalal, lilian.benoit, Lionel.wyl, mwenz, vijayakumar-b, vijayts
Version: 2.6.1   
Target Milestone: ---   
Hardware: PC   
OS: Windows Server 2008   
Whiteboard:
Attachments:
Description Flags
Screen shot of error
none
Message box with error none

Description Raishad CLA 2011-04-12 14:41:53 EDT
Created attachment 193083 [details]
Screen shot of error

I'm getting this famous error message on a Homepage type screen, where multiple reports are being displayed via iframes. It doesn't happen all of the time. But I can most likely get it to reproduce by starting the BIRT server and then going to the homepage. Usually, the first access causes the error to display. And the error only shows on one report, not both.

I've tried adjusting the session properties in the viewer.properties
viewer.session.timeout=0
viewer.session.minimumThreshold=20
viewer.session.loadFactor=0.75
viewer.session.maximumSessionCount=0
viewer.session.maximumSessionCountPolicy=1

And adding __overwrite=true to the URL, but I'm still getting the error. Also when the error displays, the stack trace is empty

Is this error because when the homepage loads, the viewer is getting hit almost simultaneously?

Details
BIRT 2.6.1
Using the standard BIRT WebViewer
Deployed as a war on JBoss 5.1.0 in it's own instance

Attached is a screenshot of the homepage with the error showing
Comment 1 vijay kumar CLA 2011-08-09 00:19:14 EDT
Hi I am too facing the same issue. This will occur only start of the server for multiple reports only.if you run single report, then execute the multple reports it wont apper.as he said stack trace also empty for this error.

Bug status is still in new state. is this taken care?
Comment 2 Gaurav CLA 2011-10-11 05:54:41 EDT
Any updates on this issue yet? Would there be any work-around?
My scenario is very similar to the one mentioned.
Comment 3 Vijayts CLA 2012-03-30 05:19:36 EDT
I am able to replicate this error consistently whenever there is a server restart even with the latest BIRTViewer ,can you let me know if there are any updates on this issue.

Thanks
Vijay
Comment 4 Vijayts CLA 2012-03-30 05:29:17 EDT
I am using BIRTViewer  Version 3.7.1 running on Websphere Application Server. Can you include the scope of this defect to BIRT 3.7.1 as well ?
Comment 5 Raishad CLA 2012-03-30 12:40:22 EDT
I can't seem to add a version only change.
You should probably create a new bug for 3.7.1 and refer to this one
Comment 6 Mark Wenz CLA 2013-04-09 16:02:00 EDT
I am on Birt 4.2 and am also facing the same issue. I have one page with 3 IFrames that all load BIRT Reports.  From time to time, one or more of the reports when loaded will say 'The viewing session is not available or has expired.'   I have tried several of the possible solutions and still have the issue.
Comment 7 azad kalakoti CLA 2013-04-19 00:47:07 EDT
I am also facing the same issue, I am trying to display 3-Widgets from a same Report at same time with "__overwrite=true", this causes to run the report at same time with 2-more duplicate calls. This causes me the following issue : 


org.eclipse.birt.report.service.api.ReportServiceException: Failed to open the report document.
   at org.eclipse.birt.report.service.ReportEngineService.throwDummyException(ReportEngineService.java:1106)
   at org.eclipse.birt.report.service.ReportEngineService.openReportDocument(ReportEngineService.java:503)
   at org.eclipse.birt.report.service.BirtViewerReportService.openReportDocument(BirtViewerReportService.java:269)
   at org.eclipse.birt.report.service.BirtViewerReportService.renderReportlet(BirtViewerReportService.java:335)
   at org.eclipse.birt.report.service.BirtViewerReportService.getReportlet(BirtViewerReportService.java:319)
   at org.eclipse.birt.report.service.actionhandler.AbstractGetPageActionHandler.doExecution(AbstractGetPageActionHandler.java:232)
   at org.eclipse.birt.report.service.actionhandler.AbstractGetPageActionHandler.__execute(AbstractGetPageActionHandler.java:105)
   at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90)
   at org.eclipse.birt.report.soapengine.processor.AbstractBaseDocumentProcessor.__executeAction(AbstractBaseDocumentProcessor.java:47)
   at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.executeAction(AbstractBaseComponentProcessor.java:143)
   at org.eclipse.birt.report.soapengine.processor.BirtDocumentProcessor.handleGetPage(BirtDocumentProcessor.java:87)
   at sun.reflect.GeneratedMethodAccessor473.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.process(AbstractBaseComponentProcessor.java:112)
   at org.eclipse.birt.report.soapengine.endpoint.BirtSoapBindingImpl.getUpdatedObjects(BirtSoapBindingImpl.java:66)
   at sun.reflect.GeneratedMethodAccessor472.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
   at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
   at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
   at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
   at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
   at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
   at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
   at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
   at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
   at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPost(BirtSoapMessageDispatcherServlet.java:265)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
   at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
   at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:122)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
   at org.eclipse.birt.report.filter.ViewerFilter.doFilter(ViewerFilter.java:68)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
   at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
   at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
   at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
   at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
   at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
   at java.lang.Thread.run(Thread.java:619)
Caused by: org.eclipse.birt.report.engine.api.EngineException: Failed to open the report document.
   at org.eclipse.birt.report.engine.api.impl.ReportDocumentReader.loadCoreStreamHeader(ReportDocumentReader.java:241)
   at org.eclipse.birt.report.engine.api.impl.ReportDocumentReader.(ReportDocumentReader.java:176)
   at org.eclipse.birt.report.engine.api.impl.ReportDocumentReader.(ReportDocumentReader.java:150)
   at org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.openReportDocument(ReportEngineHelper.java:483)
   at org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.openReportDocument(ReportEngineHelper.java:459)
   at org.eclipse.birt.report.engine.api.impl.ReportEngine.openReportDocument(ReportEngine.java:645)
   at org.eclipse.birt.report.service.ReportEngineService.openReportDocument(ReportEngineService.java:497)
... 50 more
Caused by: java.io.FileNotFoundException: /core
   at org.eclipse.birt.core.archive.compound.ArchiveFileV3.lockEntry(ArchiveFileV3.java:168)
   at org.eclipse.birt.core.archive.compound.ArchiveFile.lockEntry(ArchiveFile.java:443)
   at org.eclipse.birt.core.archive.compound.ArchiveReader.lock(ArchiveReader.java:137)
   at org.eclipse.birt.report.engine.api.impl.ReportDocumentReader.loadCoreStreamHeader(ReportDocumentReader.java:210)
... 56 more
	
	
Many a times it shows me this issue too: 

java.lang.IllegalStateException: The viewing session is not available or has expired.
at org.eclipse.birt.report.service.ReportEngineService.createRunAndRenderTask(ReportEngineService.java:994)
at org.eclipse.birt.report.service.ReportEngineService.runAndRenderReport(ReportEngineService.java:853)
at org.eclipse.birt.report.service.BirtViewerReportService.runAndRenderReport(BirtViewerReportService.java:973)
at org.eclipse.birt.report.service.actionhandler.BirtGetPageAllActionHandler.__execute(BirtGetPageAllActionHandler.java:131)
at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90)
at org.eclipse.birt.report.soapengine.processor.AbstractBaseDocumentProcessor.__executeAction(AbstractBaseDocumentProcessor.java:47)
at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.executeAction(AbstractBaseComponentProcessor.java:143)
at org.eclipse.birt.report.soapengine.processor.BirtDocumentProcessor.handleGetPageAll(BirtDocumentProcessor.java:183)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.process(AbstractBaseComponentProcessor.java:112)
at org.eclipse.birt.report.soapengine.endpoint.BirtSoapBindingImpl.getUpdatedObjects(BirtSoapBindingImpl.java:66)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPost(BirtSoapMessageDispatcherServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:122)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.eclipse.birt.report.filter.ViewerFilter.doFilter(ViewerFilter.java:68)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685) 

What I think, may be a possible solution for this, is :

If somehow there is a method in birt That we know, when is the .rptdocument creation has finished for one call, then only the other call(any one of the duplicate calls) should be allowed to run the report.

Please Help me this is a Major issue for me. It is really annoying.

Any kind of help or workarround is really appriciable. Thanks in Advance.

-Azad
Comment 8 Lilian BENOIT CLA 2019-04-30 14:11:10 EDT
We use BirtViewer version 4.8.0 on Linux.
We are same error when we opened two reports at the same time

In access log, we can see status 500 for first call
[29/Apr/2019:17:37:19 +0200] "GET /rapports/frameset?__report=courrierAccordExpres.rptdesign&__parameterpage=false&idDemande=947281&nomAgent=admin%20super&dateDecision=26%2F03%2F2019&idOrganismeConnecte=118&isDomCom=false&isEmployeur=false HTTP/1.1" 200 48980
[29/Apr/2019:17:37:19 +0200] "GET /rapports/frameset?__report=courrierAccordExpres.rptdesign&__parameterpage=false&idDemande=947281&nomAgent=admin%20super&dateDecision=26%2F03%2F2019&idOrganismeConnecte=118&isDomCom=false&isEmployeur=false HTTP/1.1" 200 48980
"POST /rapports/frameset?__report=courrierAccordExpres.rptdesign&__parameterpage=false&idDemande=947281&nomAgent=admin%20super&dateDecision=26%2F03%2F2019&idOrganismeConnecte=118&isDomCom=false&isEmployeur=false&__sessionId=20190429_173719_850&__dpi=96 HTTP/1.1" 500 543
"POST /rapports/frameset?__report=courrierAccordExpres.rptdesign&__parameterpage=false&idDemande=947281&nomAgent=admin%20super&dateDecision=26%2F03%2F2019&idOrganismeConnecte=118&isDomCom=false&isEmployeur=false&__sessionId=20190429_173719_961&__dpi=96 HTTP/1.1" 200 18565

When i refresh or call again, we haven't a problem
Comment 9 Yulin Wang CLA 2019-04-30 16:59:51 EDT
Could you please provide error logs?
Comment 10 Lilian BENOIT CLA 2019-05-06 08:45:56 EDT
Hi. 

We haven't log in file or message box.
I try passed LOG_LEVEL from WARNING to DEBUG in web.xml. I don't always see log.
Comment 11 Lilian BENOIT CLA 2019-05-06 08:47:16 EDT
Created attachment 278502 [details]
Message box with error