observed
- given
- process definition
- with service task
- defining a BoundaryEvent (signal)
- delegate of a service task extends AbstractBpmnActivityBehavior implementing the signal method
- transitions into three parallel User tasks (implicit parallel gateway)
- with service task
- process instance is started and is in wait state
- process definition
- when
- I signal execution
- then
- exception is thrown in org.camunda.bpm.engine.impl.pvm.runtime.operation.PvmAtomicOperationTransitionDestroyScope#execute
ProcessEngineException("Cannot construct activity-execution mapping: there are " + "more scope executions missing than explained by the flow scope hierarchy.");
Hint
Here is a test to reproduce the failure:
public void testImplicitParallelGatewayAfterSignalBehavior() { // given // using attached process definition runtimeService.startProcessInstanceByKey("process"); Execution execution = runtimeService.createExecutionQuery() .activityId("service") .singleResult(); // when runtimeService.signal(execution.getId()); // then assertEquals(3, taskService.createTaskQuery().count()); }