Service catalog flow can not Submit Catalog Item Request for the same item calling the same flow itself recursivelyDescriptionA direct recursion protection policy was already in place for other trigger types, but was introduced for service catalog triggering as well since the fix for PRB1505900/KB0966349 'Duplicate flows are triggered on the same RITM when the 'Request Approved' stage is reached in a flow'. By design policy it is not possible to trigger the same flow again in the same transaction, in order to avoid serious performance impact on the instance.Steps to Reproduce 1 - Install the attached update set2 - Order the Catalog Item 'Apple iPad 3' selecting any example user you want (e.g. Abraham Lincoln). This will kick off Flow 'Test CSTASK278515, which internally will submit another of the same Catalog Item.On this second iteration of the Flow (fired through the 'Submit Catalog Item Request'), when trying to open the Flow context on the RITM created, the flow throws the error: worker.0 worker.0 txid=4fd25b875374 SEVERE *** ERROR *** JavaScript evaluation error on:startFlowDesignerFlow(current);function startFlowDesignerFlow(current) {var flow = current.cat_item.flow_designer_flow;var flowName = flow.sys_scope.scope + "." + flow.internal_name;sn_flow_trigger.FlowTriggerAPI.fireCatalogTrigger(flowName, current);}Root cause of JavaScriptException: com.snc.process_flow.exception.PlanRecursionExceptioncom.snc.process_flow.exception.PlanRecursionException: Plan recursion has been encounteredat com.snc.process_flow.engine.GlideProcessAutomation.checkRecursion(GlideProcessAutomation.java:867)at com.snc.process_flow.engine.GlideProcessAutomation._start(GlideProcessAutomation.java:480)at com.snc.process_flow.engine.GlideProcessAutomation.access$200(GlideProcessAutomation.java:87)at com.snc.process_flow.engine.GlideProcessAutomation$StartBuilder.start(GlideProcessAutomation.java:1181)at com.glide.flow_trigger.engine.ServiceCatalogTriggerRunner.run(ServiceCatalogTriggerRunner.java:92)at com.glide.flow_trigger.trigger.ScopedTriggerAPI.jsStaticFunction_fireCatalogTrigger(ScopedTriggerAPI.java:61)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.base/java.lang.reflect.Method.invoke(Method.java:566)Workaround1) Call Submit Catalog Item Request in a subflow via dynamic flows. Make sure the Wait box is unchecked. This will break the transaction and allow the recursion to happen. 2) Modify the OOB Service Catalog Request workflow to have a 2 second timer at the beginning. This will break the transaction and cause the workflow to continue in a background thread. The side effect of this is that the workflow runs as system which will cause the flow to run as user so please consider this. Related Problem: PRB1550583