Error Causes

The following combinations of tools and connections must be avoided as the resulting tool flows are not executable.

Not Executable Tool

Not executable tools can occur in connection with the tool Branch on Condition.

In the example below, the tool Branch on Condition triggers either tool T1 or tool T2, depending on the result of the condition. In consequence only one of the tools is executed and sends data to the subsequent tool T3. However, since tool T3 waits for the data from tool T1 and tool T2, it will never be executed.

There is no clean solution for this problem, but the following examples show possible alternatives.

Race Condition

A race condition occurs if the state of a tool is not defined logically because a parameter or trigger of the tool has more than one incoming connection from previous tools.

In the following example, the results of tool T1 and tool T2 are connected to the same parameter of tool T3. Thus, tool T3 is executed with data from tool T1 or tool T2, depending on which tool sends its results earlier to tool T3. The execution with such a tool connection is prevented by MERLIC.

The following examples show how a race condition could be resolved.