What does the Prevent multiple automations option for Automations really mean?

We are having an issue with the following error showing up in our exception log: 

ScriptException: Maximum scripted extension stack depth (10) exceeded. (An unidentified error occurred within a script.)

My assumption was that the Prevent Multiple Automations would prevent this form happening, but it did not. How should I resolve this Maximum scripted extension stack depth issue?
Parents
  • "Prevent Multiple Automations" will not allow you to configure separate automation instances of the same automation type, and attempting to do so would not result in a logged exception, but rather a validation alert if you tried to do that.

    This exception you're seeing logged is unrelated to that, and is instead related to the implementation of the automation type, itself. There's currently a max context depth limitation of 10, which means you can only call core_v2_widget.ExecuteFile('somescript.jsm') up to a depth of 10 times. This doesn't mean you can only call it 10 times, but only 10 times within a single stack, i.e. if an autmation X executes its scriptA.jsm, which executes scriptB.jsm which executes scriptC.jsm etc up to 10 levels deep. Usually, this can be avoided. Would it be possible to share some of the implementation?
Reply
  • "Prevent Multiple Automations" will not allow you to configure separate automation instances of the same automation type, and attempting to do so would not result in a logged exception, but rather a validation alert if you tried to do that.

    This exception you're seeing logged is unrelated to that, and is instead related to the implementation of the automation type, itself. There's currently a max context depth limitation of 10, which means you can only call core_v2_widget.ExecuteFile('somescript.jsm') up to a depth of 10 times. This doesn't mean you can only call it 10 times, but only 10 times within a single stack, i.e. if an autmation X executes its scriptA.jsm, which executes scriptB.jsm which executes scriptC.jsm etc up to 10 levels deep. Usually, this can be avoided. Would it be possible to share some of the implementation?
Children