OUTPUT POST PROCESSOR (OPP) LOG CONTAINS ERROR
[edsanimate_start entry_animation_type= “fadeIn” entry_delay= “0” entry_duration= “1” entry_timing= “linear” exit_animation_type= “” exit_delay= “” exit_duration= “” exit_timing= “” animation_repeat= “infinite” keep= “yes” animate_on= “load” scroll_offset= “” custom_css_class= “”]OUTPUT POST PROCESSOR (OPP) LOG CONTAINS ERROR “JAVA.LANG.OUTOFMEMORYERROR”[edsanimate_end]
ERROR
[edsanimate_start entry_animation_type= “fadeIn” entry_delay= “0” entry_duration= “1” entry_timing= “linear” exit_animation_type= “” exit_delay= “” exit_duration= “” exit_timing= “” animation_repeat= “infinite” keep= “yes” animate_on= “load” scroll_offset= “” custom_css_class= “”]Follow the Navigation below for getting Output Post Processor log file[edsanimate_end] 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 should contain java stack error similar to the following: /19/09 7:28:36PM] [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)) …
SOLUTIONS
Your list of possible causes for a Java Heap Space error in Oracle Concurrent Processing (OPP) is quite accurate. Here’s a detailed explanation of each cause:
-
Limited heap space in the JVM: The JVM (Java Virtual Machine) allocates a specific amount of memory for the Java heap, which is used to store objects and dynamically allocated memory. If the report being processed requires more memory than the allocated heap space, a Java Heap Space error can occur.
-
Out of memory: This is a general cause where the Java application, including OPP, has exhausted the available memory resources. It can happen due to large data sets, complex queries, or inefficient memory management.
-
Scalable feature not enabled: In Oracle E-Business Suite, the scalable feature of Concurrent Processing allows for concurrent managers to utilize multiple JVMs, effectively distributing the workload. If the scalable feature is not enabled or properly configured, it can lead to excessive memory usage in a single JVM and result in a Java Heap Space error.
-
Older version of the JRE: Older versions of the Java Runtime Environment (JRE) may have limitations or issues related to memory management. It is recommended to use a supported and up-to-date version of the JRE to ensure optimal performance and compatibility with Oracle E-Business Suite.
-
Insufficient space in the designated temp directory: When processing reports embedded with images or other large data sets, temporary files may be created in the designated temp directory. If the temp directory does not have enough space to accommodate these files, it can lead to a Java Heap Space error.
[edsanimate_start entry_animation_type= “fadeIn” entry_delay= “0” entry_duration= “1” entry_timing= “linear” exit_animation_type= “” exit_delay= “” exit_duration= “” exit_timing= “” animation_repeat= “infinite” keep= “yes” animate_on= “load” scroll_offset= “” custom_css_class= “”]The error in the log file is generic and can be solved by one of the following steps given Below:[edsanimate_end]
SOLUTION 1 :-
- Navigate to XML Publisher Administrator responsibility.
- Navigate to Home > Administration > Configuration.
- Under the General Properties select Temporary directory.
- Select a temporary file location on your concurrent processing node. Change this file to at least 10 times larger than the largest XML data file you generate.
SOLUTION 2 :-
- Navigate to XML Publisher Administrator responsibility.
- Navigate to Home > Administration > Configuration.
- 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.
SOLUTION 3 :-
- Login As System Administrator Responsibility
- Navigate to Concurrent > Program > Define
- Query up the report: Account Analysis Report (for example).
- Add a parameter named ScalableFlag: Value Set: yes_no Default Value: Yes Select check box Enable Security and Required Don’t select the check box Display, as users could turn off this at runtime. Token needs to be ScalableFlag (this is a case sensitive value).
[edsanimate_start entry_animation_type= “fadeIn” entry_delay= “0” entry_duration= “1” entry_timing= “linear” exit_animation_type= “” exit_delay= “” exit_duration= “” exit_timing= “” animation_repeat= “infinite” keep= “yes” animate_on= “load” scroll_offset= “” custom_css_class= “”]Note: Complete these steps for both the application General Ledger and the Subledger Accounting concurrent program definitions.[edsanimate_end]
SOLUTION 4 :-
- Check the heap size per OPP process by the query given below:
select DEVELOPER_PARAMETERS from FND_CP_SERVICES where SERVICE_ID = (select MANAGER_TYPE from FND_CONCURRENT_QUEUES where CONCURRENT_QUEUE_NAME = ‘FNDCPOPP’);
- The default is normally be:
J:oracle.apps.fnd.cp.gsf.GSMServiceController:-mx512m
- 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’);
- Bring the Concurrent Manager down.
- Run cmclean.sql script from Note 134007.1 – CMCLEAN.SQL Non-Destructive Script to Clean Concurrent Manager Tables.
- Start Concurrent Manager Again.
SOLUTION 5 :-
- Navigate to the System Administrator responsibility
- Navigate to Concurrent > Program > Define
- Query up the XDOTMGEN executable short name.
- In the Options field add a value as -Xmx512m or -Xmx1024m or relevant number to increase the heap size.
- Save the changes.
- Resubmit the request.