ECMproc.exe hangs occasionally and causes subsequent processing tasks to fail

ECMproc.exe hangs occasionally and causes subsequent processing tasks to fail

There have been a number of clients that have reported instances of the ECMproc.exe process hanging most typically during process in at locations that are doing continuous polling cycles. RPI having identified the root cause of this issue as being related to a bug the JVM component in Oracle has escalated the issue to Oracle. Oracle has released to RPI a prospective fix to the problem that we are now testing in house as part of our R5 release.

In the meantime RPI has coded a workaround solution for those users that are or may encounter this problem. This workaround was released as part of the first R3 maintenance pack and has been carried forward in each revision of Retail Pro version 9.2 since. Below are the details of how to use this interim solution.

Continuous polling is in use.

Periodically ECMproc.exe will become "stuck" meaning it is no longer responsive in the system. Attempts to close the instance of ECMproc by hitting cancel or the "X" are in effective. The only way to close the applet is to kill the process through task manager.

The solution is to create a file called ecmproc.ini in the ECM folder of the installation that is encountering the hanging and add to it a user definable number of minutes that ECMproc.exe will be allowed to run at any one time.

1. Create a file called ecmproc.ini
2. Add the header for the parameter to the file   [ECM_ORA]
3. Put the parameter in the file                     TerminateAfterMins=xx (where xx is the number of minutes)
4. Save the file

Now any time ECMproc.exe runs ( process in or out) it will be limited to the length of time specified in the ecmproc.ini file that you have created.

A. This change is only applicable to ECMproc running on Oracle 11g, and ONLY if the switch is set in the Ecmproc.ini file. There is no UI interface to set it.
B. Removing that switch or setting it to 0 (or negative) will turn this feature off
C. There is a lowest limit to how many minutes you can specify - it can't be below 5, so if you specify greater than 0 but less than 5 minutes it will be assumed to be 5 minutes. There is no upper limit.
D. This setting is number for whole numbers of minutes it will not accept fractions.

Anytime ECMproc.exe is shutdown by the parameter in the ecmproc.ini there will be a message in the ECMproc log "error code -3: Process was terminated by watchdog timer."


This issue has been resolved in a recent update to R4. Retail Pro 9.20.721.137 and higher should no longer exhibit this behavior.

Published on Mar 18, 2014 in ECM


Find Another Article