activate_uc_object in post process can cause endless loop
search cancel

activate_uc_object in post process can cause endless loop

book

Article ID: 225170

calendar_today

Updated On:

Products

CA Automic Workload Automation - Automation Engine CA Automic One Automation

Issue/Introduction

In version 11.2 through 12.3, it is possible to create an endless loop in the post process tab; MAX_NESTING_DEPTH is ignored.

Reproduction steps

  1. Create a job object that has the following in the Post Process tab:
    : set &run# = activate_uc_object(&$NAME#)
  2. Run the job

Expected behavior:
As this cannot be done in the pre-process or process tabs which reference the MAX_NESTING_DEPTH, it's expected that the Post Process would work the same way

Actual behavior:
MAX_NESTING_DEPTH is ignored and an infinite loop is created which can put a strain on regular WP processes

Environment

Release : 12.3

Component : AUTOMATION ENGINE

Cause

Design issue in 11.2 through 12.3

Resolution

This has been fixed in version 21.

This behavior cannot be updated in 12.3 or earlier because the fix involves a new column in the EH table and new code which could potentially destabilize the product and so is not a practice that Broadcom development will follow.

The possibility to create endless loops in this fashion has been in the product since version 11.2 (it was also technically possible before this by using activate_uc_object to activate an object that activated the one activating it) and can be avoided through scripting best practices in version 12.3 and below.

Additional Information

This fix in 21.0 means there is a change in behavior that can cause an error to show up in 21.0 in some scripting that did not show in 12.3.  In 12.3, since this was ignored, an object activating itself would not show the following:

U00007016 Task 'TASK.NAME' (RunID '###########') is interlaced too much. 

In 21.0, this error may show up.  The resolution to this is to update MAX_NESTING_DEPTH to a higher number (default is 16).