'Infinite Loop error' rule ST-REL-006 of workflow analyzer working not as expected

Hi Team,

As part of governance implementation in our organization, we have come across working for rule ST-REL-006 and observed below behaviors:

Firstly, This rule always throws an exception when flowchart is used and its control is looped back to run again(irrespective of the condition). In all cases of flowchart where this happens, error is thrown even if there is no infinite loop condition/situation bound to happen.

Secondly, when same scenario is converted from flowchart to any other while/do-while/for loop structures, no more error is thrown.
So, basically this rule never catches if there is an infinite loop when while/do-while/for loop structures are used and always thrown exception in case of flowcharts no matter its condition.

We found this as a strange behavior to detect infinite loop. If a particular condition is detected as infinite loop in flowcharts, why same is not detected as infinite loop once its converted to formal loop structures.

Plus, why this error is thrown in all cases of flowcharts if it is looped back, no matter if condition meets the criteria or not.

Looking forward to your inputs on same.

Thanks & Regards
Sonali

Hi @sonaliaggarwal47

This sounds like a bug and as such I sent it to our team for review.

In the meantime, would you have any sample flowcharts that you could share that reproduce the issue for you? Also, it would help if you could share your desired behaviour for this rule based on your examples :slight_smile:

Hi @loginerror,

Thank you for your response.

Here are some of the screenshots from our projects showing infinite loop error rule trigger. Also have created a simple workflow to test which also throws this error.
Infinite Loop Error Rule screenshots-xaml.zip (99.2 KB)

In short, we have verified all of our processes against workflow analyzer rules as part of this governance implementation in our org and haven’t come across any single scenario wherein this error rule was not triggered for flowcharts irrespective of whether loop is infinite or not.

We have 2 views to this error as below:

  1. Per this rule name - “Infinite Loop” error , we got an impression that this is meant to identify loops which have potential to go infinite but apparently this is not what this rule is intended to do.
    If this rule is specifically for flowcharts and intends to prevent any flowcharts from having any loop at all then may be changing the name of this rule to something like “Flowchart Loop” error rule(may be) would help as this rule is not identifying infinite loops in flowcharts but all loops in flowcharts.

  2. If we were to go with as name intends - “Infinite Loop” error that means to detect infinite loops then in our view, this rule should identify only loops that have potential to go infinite times irrespective of whether that loop is defined in flowchart or any formal loop structures(while/do-while,for).

Hope this info helps :slight_smile:

Regards
Sonali

I find this warning to be useless. Even if it worked right, what is it telling us that we don’t already know? Yes, any loop could be a potentially infinite loop if you didn’t code it right. This is true of ANY loop. The analyzer doesn’t look at logic.