EBS R12 – OPP Out of Memory Error

Cause: Oracle EBS Reports are ending in Warning.
Concurrent Logs having an OPP error:

+—————————————————————–+
Executing request completion options…
Output file size: 4323
+————- 1) PUBLISH ————-+
Unable to find an Output Post Processor service to post-process request 10225428. Check that the Output Post Processor service is running.
+————————————–+

+————- 2) PRINT ————-+
Not printing the output of this request because post-processing failed.
+————————————–+
Finished executing request completion options.
+—————————————————————–+

Check the Concurrent OPP Logs.

NOTE: If 2 threads enabled, then there will be 2 log files.

Logfile Location:

ls -ltr $APPLCSF/$APPLLOG/FNDOPP*
FNDOPP74655.txt
FNDOPP74654.txt

OR

ps -ef | grep OPP

applebs 15024 6778 17 13:00 ? 00:04:32 /us1001/product/10.1.3/appsutil/jdk/bin/java -DCLIENT_PROCESSID=15024 -server -Xmx384m -XX:NewRatio=2 -XX:+UseSerialGC -Doracle.apps.fnd.common.Pool.leak.mode=stderr:off -verbose:gc -mx2048m -Ddbcfile=/ua1002/inst/apps/bpiprd_uswodapp002/appl/fnd/12.0.0/secure/bpiprd.dbc -Dcpid=74654 -Dconc_queue_id=6269 -Dqueue_appl_id=0 –Dlogfile=/ua1002/inst/apps/bpiprd_shared/logs/appl/conc/log/FNDOPP74654.txt –DLONG_RUNNING_JVM=true -DOVERRIDE_DBC=true -DFND_JDBC_BUFFER_MIN=1 -DFND_JDBC_BUFFER_MAX=2 oracle.apps.fnd.cp.gsf.GSMServiceController

applebs 15026 6778 4 13:00 ? 00:01:15 /us1001/product/10.1.3/appsutil/jdk/bin/java -DCLIENT_PROCESSID=15026 -server -Xmx384m -XX:NewRatio=2 -XX:+UseSerialGC -Doracle.apps.fnd.common.Pool.leak.mode=stderr:off -verbose:gc -mx2048m dbcfile=/ua1002/inst/apps/bpiprd_uswodapp002/appl/fnd/12.0.0/secure/bpiprd.dbc -Dcpid=74655 -Dconc_queue_id=6269 -Dqueue_appl_id=0 –Dlogfile=/ua1002/inst/apps/bpiprd_shared/logs/appl/conc/log/FNDOPP74655.txt -DLONG_RUNNING_JVM=true -DOVERRIDE_DBC=true -DFND_JDBC_BUFFER_MIN=1 -DFND_JDBC_BUFFER_MAX=2 oracle.apps.fnd.cp.gsf.GSMServiceController

Log has following errors.

[5/18/16 12:57:04 PM] [UNEXPECTED] [74607:RT10225399] java.lang.OutOfMemoryError: Java heap space
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
at java.lang.Class.getDeclaredMethod(Class.java:1935)
at java.io.ObjectStreamClass.getPrivateMethod(ObjectStreamClass.java:1382)
at java.io.ObjectStreamClass.access$1700(ObjectStreamClass.java:52)
at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:438)
at java.security.AccessController.doPrivileged(Native Method)
at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:413)
at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:310)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1106)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at oracle.ias.cache.group.HttpPacket.<init>(Unknown Source)
at oracle.ias.cache.group.StreamHandler.write(Unknown Source)
at oracle.ias.cache.group.EndPoint.write(Unknown Source)
at oracle.ias.cache.group.Transport.syncSend(Unknown Source)
at oracle.ias.cache.group.Sender.execute(Unknown Source)
at oracle.ias.cache.group.Sender.run(Unknown Source)

Troubleshooting

Option 1, patching

12i Environments:
1. Please download,review and apply Patch 7687414 in a test environment.
3. Please retest the issue.
4. If the issue is resolved, please migrate the solution as appropriate to other environments.

Option 2, Increase the maximum Java heap size for the OPP to 1024MB (1GB):

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’);

-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’);
OR
1. Log into applications with the System Administrator responsibility.
2. Navigate to Concurrent -> Program -> Define
3. Query the XML Publisher Template Re-Generator program
4. Set the following value for the Executable Options : -Xmx1024m
5. Save changes.
6. Retest the program.
The OPP queue can be Recreated the using $FND_TOP/patch/115/sql/afopp002.sql file as ‘APPLSYS’ user. On running the script you will be prompted for username and password.
Option 3, Check timeout settings.
There are two new profiles options that can be used to control the timeouts:
Profile Option : Concurrent:OPP Response Timeout Internal Name : CONC_PP_RESPONSE_TIMEOUT Description : Specifies the amount of time a manager waits for OPP to respond to its request for post processing.
Profile Option : Concurrent:OPP Process Timeout Internal Name : CONC_PP_PROCESS_TIMEOUT Description : Specifies the amount of time the manager waits for the OPP to actually process the request.
Option 4,  Configure the XML Publisher Administrator Configuration settings.
Note: Reports built with large images will require additional space.  So please insure there is adequate temp space and your code is optimized when running large reports/templates.
1. As XML Publisher Administrator navigate to Administration->Configuration.
2. Under Temporary Directory pick a temporary file location on your concurrent processing node. This should be at least 5GB or 20x larger than largest XML data file you generate
3.  Under FO Processing, set:
o Use XML Publisher’s XSLT processor set to True
o Enable scalable feature of XSLT processor set to False
o Enable XSLT runtime optimization set to True
Bounce OPP processes.
Additional Info: Review below Meta link Documents.
Doc ID 1268217.1
Doc ID 862644.1]
Doc ID 1266368.1
Doc ID 427233.1
Doc ID 352518.1
Doc ID 978495.1