ACTIVATE_UC_OBJECT can be used to create a recursive call leading to endless loops.
search cancel

ACTIVATE_UC_OBJECT can be used to create a recursive call leading to endless loops.


Article ID: 84626


Updated On:


CA Automic Workload Automation - Automation Engine


In Version 10, the script function ACTIVATE_UC_OBJECT could be used to take advantage of a 'bug' to make recursive calls, which when implemented poorly would often lead to endless looping.

This was corrected in the versions Automation Engine 11.2.7, 12.0.4, 12.1.1 and 12.2.0 as follows:
To prevent endless loops in the Automation Engine, the number of recursive object activations is limited. 
The 16th attempt to activate an object is canceled with the status FAULT_OTHER and the error message
U00007016 Task 'Name' (RunID '0123456789') is interlaced too much.
The limit also applies to recursive workflow activations or a mix of workflow activations and object activations. 
Example: A workflow activates a script which in turn activates the workflow again. If the loop happens 5 times (3 times 5 is 15), the 16th activation is canceled.

This correction means that when upgrading to one of the above mentioned versions or higher, all objects taking advantage of this 'bug' must be redesigned.


Release: Automic Workload Automation
Component: Automation Engine


Misuse of the script function ACTIVATE_UC_OBJECT to make recursive calls can leads to endless loops.


The recursive call check logic for the script function ACTIVATE_UC_OBJECT has been enhanced by introducing a new setting to define/deactivate the check for endless loops. 
The new setting is called 'MAX_NESTING_DEPTH' and it can be found in the 'UC_SYSTEM_SETTINGS'. 
The valid values for the setting are as follows:

Default value = 16 
Max-Value = 9999 
Min-Value = 0 (Check is disabled

The new setting has been introduced in the following versions: 
Automation Engine 12.1.3 HF2 - Available.
Automation Engine 12.1.4 - Available.
Automation Engine 12.2.2 HF1 - Available
Automation Engine 12.3.0 - Available