Monday, December 5, 2011

Printing A Large OBIEE Answers Report Or Dashboard To PDF Fails With Error Code

I got the following  Fatal error message when I was  trying to print a large report to PDF.

Error Codes: AGEGTYVF

A fatal error occurred while processing the request.
The server responded with: Error while executing PDFRpcCall.processMessage com.siebel.analytics.utils.InputStreamWithLimit$ReadOverTheLimitException at com.siebel.analytics.utils.InputStreamWithLimit.incTotalBytes(InputStreamWithLimit.java:58) at com.siebel.analytics.utils.InputStreamWithLimit.read(InputStreamWithLimit.java:41) at com.siebel.analytics.utils.IOUtils.copyStreams(IOUtils.java:38) at com.siebel.analytics.utils.IOUtils.copyStreams(IOUtils.java:28) at com.siebel.analytics.web.javahostrpccalls.xmlp.XmlpAbstractRpcCall.processMessageInternal(XmlpAbstractRpcCall.java:40) at com.siebel.analytics.javahost.AbstractRpcCall.processMessage(AbstractRpcCall.java:94) at com.siebel.analytics.javahost.MessageProcessorImpl.processMessage(MessageProcessorImpl.java:175) at com.siebel.analytics.javahost.Listener$Job.run(Listener.java:223) at com.siebel.analytics.javahost.standalone.SAJobManagerImpl.threadMain(SAJobManagerImpl.java:205) at com.siebel.analytics.javahost.standalone.SAJobManagerImpl$1.run(SAJobManagerImpl.java:153) at java.lang.Thread.run(Thread.java:595)

It is a known bug in OBIEE and Oracle support team has provided with the following  solution.

Note: Reverse the slashes for a Linux/Unix platform.


  1. Modify <oracle_home>\OracleBIData\web\config\instanceconfig.xml and add the <JVMOptions> tag to increase JVM heap size :
<JavaHome>C:\Program Files\Java\jdk1.5.0_16</JavaHome>
<JavaHost>
<JVMOptions>-Xms256m -Xmx512m </JVMOptions>
</JavaHost>

  1. Modify <oracle_home>\OracleBI\web\javahost\config\config.xml 

    There are two locations of 
    <InputStreamLimitInKB>. One location is inside the <PDF> tag and another is inside the <XMLP> tag. For OBIEE (10.1.3.x), the correct tag for <InputStreamLimitInKB> is <XMLP>.

    Increase the value of 
    <InputStreamLimitInKB> inside the <XMLP> tag from default value (8192kb - 8MB) to 14336.

    For example: 
<PDF>
<!-- Size limit for PDF request message -->
<InputStreamLimitInKB>2048</InputStreamLimitInKB>
<!-- Path to PDF userconfig.xml file. -->
<!-- <UserConfigFile/> -->
</PDF>
...
<XMLP>
<InputStreamLimitInKB>14336</InputStreamLimitInKB>
</XMLP>

  1. After modifying the xml files, then stop and restart the BI JavaHost and BI processes
  2. Retest the problematic report and observe the outcome. Adjust if necessary in small increments.
Note: An appropriated number of <InputStreamLimitInKB> is not a magic number and you may have to try to tune it to suite your environment.
<InputStreamLimitInKB> when it is set to 0 (zero) equals unlimited; however, unlimited is not recommended. The <InputStreamLimitInKB> was designed to be a governor to prevent system overload.