Undetermined Workflow error

Context

We’re currently “rolling out” our AASH A12 application in the TPI cluster. What’s new is, that we’re now using “workflows” as well.
We’re using some outside “demo” mail server to notify users, and the whole setup works fine when run in a local docker environment.

Error

We cranked up the log level to “DEBUG” and here is what we get:

2026-01-30T08:43:15.695Z DEBUG 1 --- [nio-8080-exec-1] org.cibseven.bpm.engine.context          : ENGINE-16001 Executing atomic operation org.cibseven.bpm.engine.impl.pvm.runtime.operation.PvmAtomicOperationTransitionNotifyListenerStart@46be3e2 on ScopeExecution[b8096002-fdb7-11f0-bb2f-8296975f239c]
2026-01-30T08:43:15.695Z DEBUG 1 --- [nio-8080-exec-1] org.cibseven.bpm.engine.pvm              : ENGINE-20008 Enter activity instance ScopeExecution[b8096002-fdb7-11f0-bb2f-8296975f239c] parent: 94e16f94-fdb7-11f0-bb2f-8296975f239c
2026-01-30T08:43:15.695Z DEBUG 1 --- [nio-8080-exec-1] org.cibseven.bpm.engine.core             : ENGINE-17001 Mapping value 'null from outer scope 'ProcessInstance[94e16f94-fdb7-11f0-bb2f-8296975f239c]' to variable 'cc' in inner scope 'ScopeExecution[b8096002-fdb7-11f0-bb2f-8296975f239c]'.
2026-01-30T08:43:15.701Z DEBUG 1 --- [nio-8080-exec-1] org.cibseven.bpm.engine.context          : ENGINE-16006 BPMN Stack Trace:
	Activity_0bnlrm4 (transition-notifiy-listener-start, ScopeExecution[b8096002-fdb7-11f0-bb2f-8296975f239c])
	Activity_0bnlrm4, name=EMailSachbearbeiterNeuerAntrag
	  ^
	  |
	Activity_1o7t24r, name=Update Status
	  ^
	  |
	FillDienstausweis, name=Fill Dienstausweis Antrag

2026-01-30T08:43:15.701Z DEBUG 1 --- [nio-8080-exec-1] org.cibseven.bpm.engine.cmd              : ENGINE-13011 closing existing command context
2026-01-30T08:43:15.701Z ERROR 1 --- [nio-8080-exec-1] org.cibseven.bpm.engine.context          : ENGINE-16004 Exception while closing command context: Unknown property used in expression: ${NeuerAntragLiegtVor}. Cause: Cannot resolve identifier 'NeuerAntragLiegtVor'

org.cibseven.bpm.engine.ProcessEngineException: Unknown property used in expression: ${NeuerAntragLiegtVor}. Cause: Cannot resolve identifier 'NeuerAntragLiegtVor'
	at org.cibseven.bpm.engine.impl.el.JuelExpression.getValue(JuelExpression.java:63) ~[cibseven-engine-2.0.0.jar:2.0.0]
	at org.cibseven.bpm.engine.impl.el.JuelExpression.getValue(JuelExpression.java:51) ~[cibseven-engine-2.0.0.jar:2.0.0]
	at org.cibseven.bpm.engine.impl.el.ElValueProvider.getValue(ElValueProvider.java:40) ~[cibseven-engine-2.0.0.jar:2.0.0]
	at org.cibseven.bpm.engine.impl.core.variable.mapping.InputParameter.execute(InputParameter.java:46) ~[cibseven-engine-2.0.0.jar:2.0.0]
...
Caused by: org.cibseven.bpm.impl.juel.jakarta.el.PropertyNotFoundException: Cannot resolve identifier 'NeuerAntragLiegtVor'
	at org.cibseven.bpm.impl.juel.AstIdentifier.eval(AstIdentifier.java:83) ~[cibseven-juel-2.0.0.jar:2.0.0]

We do not receive any mail notification in this setup.

What we don’t understand yet

Does the error “Cannot resolve identifier” occur because the mail could not be sent

OR

Can’t the mail be sent due to this error?

How to we proceed from here?

I can provide the entire log file upon request.

Hi @juergen-smooth-ice,

In your process model, when reaching the “EMailSachbearbeiterNeuerAntrag” task, the engine tries to resolve a process variable called “NeuerAntragLiegtVor”. Could be an input parameter (${NeuerAntragLiegtVor}) or maybe it’s in an explicit task start listener script (execution.getVariable(“NeuerAntragLiegtVor“)).

The error indicates that this process variable could not be found.

So the question is where/when this variable should be created. If it comes from a document field, the two envs may behave differently due to different configuration. In order to automatically synchronize document fields annotated with “availableInProcessAs“, the workflows-automatic-sync profile must be active in Data Services, see Documentation | GetA12.

Since the error occurs when the engine tries to enter the task, the task itself will not execute and therefore no email is sent. See also Transactions in Processes | docs.cibseven.org.

Ok, turns out that for data services, in our local (dev) environment, we had activated the spring profile

    - workflows-automatic-sync 

but not for the cluster deployment. Fixing our application.yaml fixed our issue. Thanks to @peter-smooth-cursor for nudging me in the right direction.

BTW: in the “cluster-safe-env” section of the workflow project template, this entry is missing. Guess I copied the issue from there.