StackOverflowError when using an EndErrorEvent from an Event Sub-Process

Description

We have three process definitions, A and B, where B is invoked by A using a call activity; and C, which is invoked by B, and simply ends the process with an ErrorEndEvent with error code "error".

In A, we have an Event Sub-Process with an ErrorStartEvent with Error Code "error". In B, we also have an Event Sub-Process with an ErrorStartEvent with the same error code, but at the end of the sub-process, we use an ErrorEndEvent to re-throw the error, in order to trigger the Event Sub-Process of A.

This, however, produces an infinite loop. In other words, instead of propagating the ErrorEndEvent from process B to A, it re-throws the error back to B, ultimately leading to a StackOverflowError. Making an analogy with Java exceptions, what we have is the following:

But instead of the error being propagated to A, it simply is re-thrown back to Event Sub-Process in B, resulting in an infinite loop.

Attached, you can find a testcase where processes A, B, and C, correspond to Parent.bpmn, Child.bpmn, and Throwing.bpmn, respectively.

Environment

None

Assignee

Joram Barrez

Reporter

Jo_o Silva

Labels

None

Components

Fix versions

Affects versions

Priority

Major
Configure