Monday, March 13, 2017

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.

No comments:

Post a Comment

How to improve blog performance

Improving the performance of a blog can involve a variety of strategies, including optimizing the website's technical infrastructure, im...