Saturday, August 9, 2025

Troubleshooting OPP (Output Post Processor) Errors


The most commonly errors / warnings that we see when handling OPP are CONC-PP NO RESPONSE , CONC-PP TIMEOUT, java.lang.OutOfMemoryError. We need to first diagnose before taking any action. The fix is not always to increase the values but first check 

Why is the OPP not picking up the requests or why is the request timing out while processing the output or why am i getting out of memory errors ? Check the OPP log files for the Errors / Warnings. 

Questions you need to ask yourself

-  Why is my request running for so long ? 
-  Are the parameters given in the concurrent program appropriate ?
-  Are there any blocking sessions ?
-  How much data is being processed ?
-  How many requests are being processed at a time ?

 1) CONC-PP NO RESPONSE

Error Message : The Output Post-processor is running but has not picked up this request. No further attempts will be made to post-process this request, and the request will be marked with Warning status. Setting the profile option Concurrent: OPP Response Timeout to a higher value may be necessary.

The Concurrent Manager process generates the XML data file. Upon completion, it will trigger the Output Post Processor in order to merge the XML data file and the template which was selected on the Submit Request form. The number of Concurrent Requests that the Output Post Processor can handle in parallel depends upon:

  • The number of Processes
  • The number of Threads Per Process

Example, If the values are 4 Processes and 5 Threads Per Process so a total of 20 reports can be processed in parallel.

In case there are other Concurrent Requests running that have already invoked the OPP then it might happen that no additional requests can be picked up for a period of time. 

The pending request will be picked up as soon as one of the running jobs completes. 

By default, a timeout will occur if it takes longer than 120 seconds (2 min.) for the Output Post Processor to pick up the request from the Concurrent Manager process. 

In that case, the Concurrent Request will complete with a status Warning and the Request log file will contain Error Message - CONC-PP NO RESPONSE

Fix : 

We can increase the values for the below parameters one by one and validate if there is an improvement. 
  •  Increase the value (in seconds) for the profile option 'Concurrent:OPP Response Timeout' so that the requests wait for a longer time before timing out.
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.
  •  Increase the number of processes or threads (or both) of the OPP from the front end via the concurrent manager > define page or via Oracle Applications Manager so that we can  process more number of requests processed parallelly. 

2) CONC-PP TIMEOUT

Error Message : The concurrent manager has timed out waiting for the Output Post-processor to finish this request. Check that there are enough Output Post-processor service processes running.
More information may be found in the service process logfile.

 Once the Output Post Processor picks up the request, the XML Publisher engine is invoked to generate the final output file. The time that this takes will depend on various elements such as:

  • Size of the XML Data File
  • The complexity of the template
  • Performance of the server and other factors

By default, a timeout will occur if it takes longer than 300 seconds (5 min.) for the XML Publisher engine to generate the output file. 

The Concurrent Request will be complete with a status Warning and the Request log file will contain an Error Message - CONC-PP TIMEOUT

Fix :

We will need to increase the timeout value for the profile option 'Concurrent:OPP Process Timeout' to avoid this error if you expect some programs doing heavy data reports. 

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.

3) java.lang.OutOfMemoryError

A high number of threads increases the risk of running into java.lang.OutOfMemoryError errors during peak loads. 

So Limit  the number of threads per OPP process: each thread will process a single report thus more threads means that more reports can run in parallel however they share the maximum Java heap size per process

Enable the scalable feature of the XSLT processor on the Template level and only for those reports that are known to process large amounts of data. 

It is not recommended to enable the scalable feature of the XSLT processor at the global level.

So whenever a new report is created and requires a XML template, please do below:

  • Make sure to eliminate the amount of data in a single report, e.g. limiting parameters range, writing SQLs to return only required data, etc.
  • If a report could generate a large output (e.g. > 100M), and requires XML template, make sure to set below 3 properties to true in the corresponding XML template. It would enforce the OPP to handle the files on disk:

Navigate to XML Publisher Administrator -> Home -> Administration -> Data Definitions -> Enter the Name for the report -> Edit Configuration -> FO Processing, and set below properties:
  Use XML Publisher's XSLT processor : True
  Enable scalable feature of XSLT processor : True
  Enable XSLT runtime optimization xslt-runtime-optimization: true

4)  Out of memory in concurrent Program

For the specific concurrent program which is showing OPP related out of memory issues, you can think of increasing run time memory

  • Go to 'System Administrator' responsibility.
  • Navigate to Concurrent – > Program – > Define.
  • Search for the concurrent program
  • Set the Options field to -Xmx1024M (can be set to 2048M if the program still fails)
  • Save.
  • Bounce the Concurrent Manager for the effects to take place.
There is no perfect number for each of the values. It entirely depends on how much load you have on the system and how many requests are being processed. 
You would need to try and validate how the program and also the system performs when you make these changes. You would not want to create a new issue by resolving one. 

Oracle Database & Applications R12.2 Log file locations

Many times, we forget the path for the log files since there are too many.  Below is the list of frequently used log files which can help us...