OUTPUT POST PROCESSOR (OPP) LOG CONTAINS ERROR “JAVA.LANG.OUTOFMEMORYERROR”


To obtain the Output Post Processor log file, follow the navigation below:
1.  Select the System Administrator responsibility.
2.  Select the menu Concurrent – Manager – Administer.
3.  Select the Output Post Processor Service.
4.  Select the Processes button.
5.  Select Manager Log.
6.  The log will contain a java stack error similar to the following:
/18/06 5:00:14 PM] [UNEXPECTED] [128085:RT1585526] java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
at java.lang.reflect.Method.invoke(Method.java(Compiled Code))
at oracle.apps.xdo.common.xml.XSLT10gR1.invokeProcessXSL(XSLT10gR1.java:580)
at oracle.apps.xdo.common.xml.XSLT10gR1.transform(XSLT10gR1.java:378)
at oracle.apps.xdo.common.xml.XSLT10gR1.transform(XSLT10gR1.java:197)
at oracle.apps.xdo.common.xml.XSLTWrapper.transform(XSLTWrapper.java:156)
at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:916)
at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:178)
at oracle.apps.xdo.template.FOProcessor.createFO(FOProcessor.java:1507)
at oracle.apps.xdo.template.FOProcessor.generate(FOProcessor.java:913)
at oracle.apps.xdo.oa.schema.server.TemplateHelper.runProcessTemplate(TemplateHelper.java:1766)
at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:1277)
at oracle.apps.fnd.cp.opp.XMLPublisherProcessor.process(XMLPublisherProcessor.java:229)
at oracle.apps.fnd.cp.opp.OPPRequestThread.run(OPPRequestThread.java:153)
Caused by: java.lang.OutOfMemoryError
at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java(Compiled Code))
at oracle.xdo.parser.v2.XMLOutputStream.flush(XMLOutputStream.java(Inlined Compiled Code))
at oracle.xdo.parser.v2.XMLOutputStream.write(XMLOutputStream.java(Compiled Code))
at oracle.xdo.parser.v2.XMLOutputStream.writeChars(XMLOutputStream.java(Compiled Code))
Troubleshooting Steps
Generic errors can be resolved by performing the following steps:
1.  Log into the XML Publisher Administrator responsibility.
2.  Navigate to Home – Administration – Configuration.
3.  Under the General Properties select Temporary directory.
4.  Select a temporary file location on your concurrent processing node.  This should be at least 5Gb or 20 times larger than the largest XML data file you generate.
OR
1. Log into the XML Publisher Administrator responsibility.
2. Navigate to Home – Administration – Configuration.
3. Under the FO Processing Properties set:
a.  Use XML Publisher’s XSLT processor to True.
b.  Enable scalable feature of XSLT processor to False.
c.  Enable XSLT runtime optimization to True.
OR
1. As System Administrator: Navigate to Concurrent->Program->Define.
2. Query up the report: Account Analysis Report (for example).
3. Add a parameter named ScalableFlag:
Value Set: yes_no
Default Value: Yes
Select check boxes Enable Security and Required
Do not select the check box Display, or users could turn this off at runtime.
Token needs to be ScalableFlag (this is a case sensitive value).
Note:  Complete these steps for both the application General Ledger and the Subledger Accounting concurrent program definitions.
OR
1. Determine what the heap size per OPP process is currently:
select DEVELOPER_PARAMETERS from FND_CP_SERVICES
where SERVICE_ID = (select MANAGER_TYPE from FND_CONCURRENT_QUEUES
where CONCURRENT_QUEUE_NAME = ‘FNDCPOPP’);
2. The default should be:
J:oracle.apps.fnd.cp.gsf.GSMServiceController:-mx512m
3. Increase the Heap Space per Process to 1024:
update FND_CP_SERVICES
set DEVELOPER_PARAMETERS =
‘J:oracle.apps.fnd.cp.gsf.GSMServiceController:-mx1024m
where SERVICE_ID = (select MANAGER_TYPE from FND_CONCURRENT_QUEUES
where CONCURRENT_QUEUE_NAME = ‘FNDCPOPP’);
4.  Bring the managers down.
5.  Run cmclean.sql script from Note 134007.1 – CMCLEAN.SQL Non-Destructive Script to Clean Concurrent Manager Tables.
6.  Bring the managers up again.
OR
1.  Navigate to the System Administrator responsibility.
2.  Navigate to Concurrent – Program – Define.
3.  Query up the XDOTMGEN executable short name.
4.  In the Options field add a value such as -Xmx512m or -Xmx1024m or other relevant number to increase the heap size.
5.  Save the changes.
6.  Resubmit the request.

1 Comments :

That is a good tip especially to those new to the blogs here but very accurate information. Very nice blog post!! Thanks for the posting that is a really neatly written blog.
Oracle Fusion EBS Training

Reply

Post a Comment