Reported by the here in error reporting tool.
We find a NPE exception for a missing correlation key when evaluating the message correlation key in expression processor.
Was not able to check the model that lead to this error, since when I went to check it the cluster was already down.
Expected to process record 'TypedRecordImpl{metadata=RecordMetadata{recordType=COMMAND, valueType=JOB, intent=COMPLETE, authorization=JWT.eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJpc3MiOiJ6ZWViZS1nYXRld2F5IiwiYXVkIjoiemVlYmUtYnJva2VyIiwic3ViIjoiemVlYmUtY2xpZW50IiwiYXV0aG9yaXplZF90ZW5hbnRzIjpbIjxkZWZhdWx0PiJdfQ.}, value={"deadline":-1,"timeout":-1,"worker":"","retries":-1,"retryBackoff":0,"recurringTime":-1,"type":"","customHeaders":[packed value (length=1)],"variables":"hKdzdWJqZWN02StDaGFuZ2VzIHRvIE9mZmljZSBIb3VycyBTdGFydGluZyBOZXh0IE1vbnRopGZyb222Sm9obiBTbWl0aCwgSFIgTWFuYWdlcqJ0b61BbGwgRW1wbG95ZWVzpHRleHTaAnlEZWFyIEFsbCwKCkkgd2FudCB0byBpbmZvcm0geW91IGFib3V0IGNoYW5nZXMgdG8gb3VyIG9mZmljZSBob3Vycywgd2hpY2ggd2lsbCB0YWtlIGVmZmVjdCBzdGFydGluZyBOb3ZlbWJlciAxc3QsIDIwMjQuIEJhc2VkIG9uIHJlY2VudCBmZWVkYmFjayBhbmQgb3BlcmF0aW9uYWwgbmVlZHMsIHRoZSBuZXcgb2ZmaWNlIGhvdXJzIHdpbGwgYmUgZnJvbSA5OjAwIEFNIHRvIDY6MDAgUE0sIE1vbmRheSB0aHJvdWdoIEZyaWRheS4KClRoaXMgY2hhbmdlIGlzIGludGVuZGVkIHRvIGFsaWduIHdpdGggdGhlIGF2YWlsYWJpbGl0eSBvZiBvdXIgY2xpZW50cyBhbmQgb3B0aW1pemUgb3VyIHRlYW0ncyBwcm9kdWN0aXZpdHkuIFdlIHVuZGVyc3RhbmQgdGhpcyBtYXkgcmVxdWlyZSBhZGp1c3RtZW50cyB0byBwZXJzb25hbCBzY2hlZHVsZXMsIGFuZCB3ZSBhcmUgYXZhaWxhYmxlIHRvIGFkZHJlc3MgYW55IGNvbmNlcm5zIG9yIHF1ZXN0aW9ucyB5b3UgbWF5IGhhdmUgcmVnYXJkaW5nIHRoaXMgdHJhbnNpdGlvbi4KClBsZWFzZSBmZWVsIGZyZWUgdG8gcmVhY2ggb3...}' without errors, but exception occurred with message 'expression'.
java.lang.NullPointerException: expression
at java.base/java.util.Objects.requireNonNull(Unknown Source) ~[?:?]
at io.camunda.zeebe.util.EnsureUtil.ensureNotNull(EnsureUtil.java:20) ~[zeebe-util-8.6.0-alpha5.jar:8.6.0-alpha5]
at io.camunda.zeebe.el.impl.FeelExpressionLanguage.evaluateExpression(FeelExpressionLanguage.java:72) ~[zeebe-expression-language-8.6.0-alpha5.jar:8.6.0-alpha5]
at io.camunda.zeebe.engine.processing.common.ExpressionProcessor.evaluateExpression(ExpressionProcessor.java:415) ~[zeebe-workflow-engine-8.6.0-alpha5.jar:8.6.0-alpha5]
at io.camunda.zeebe.engine.processing.common.ExpressionProcessor.evaluateExpressionAsEither(ExpressionProcessor.java:420) ~[zeebe-workflow-engine-8.6.0-alpha5.jar:8.6.0-alpha5]
at io.camunda.zeebe.engine.processing.common.ExpressionProcessor.evaluateMessageCorrelationKeyExpression(ExpressionProcessor.java:300) ~[zeebe-workflow-engine-8.6.0-alpha5.jar:8.6.0-alpha5]
at io.camunda.zeebe.engine.processing.common.CatchEventBehavior.evaluateCorrelationKey(CatchEventBehavior.java:245) ~[zeebe-workflow-engine-8.6.0-alpha5.jar:8.6.0-alpha5]
at io.camunda.zeebe.util.Either$Right.flatMap(Either.java:417) ~[zeebe-util-8.6.0-alpha5.jar:8.6.0-alpha5]
at io.camunda.zeebe.engine.processing.common.CatchEventBehavior.evalExpressions(CatchEventBehavior.java:207) ~[zeebe-workflow-engine-8.6.0-alpha5.jar:8.6.0-alpha5]
at io.camunda.zeebe.engine.processing.common.CatchEventBehavior.lambda$subscribeToEvents$6(CatchEventBehavior.java:185) ~[zeebe-workflow-engine-8.6.0-alpha5.jar:8.6.0-alpha5]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) ~[?:?]
at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source) ~[?:?]
at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source) ~[?:?]
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source) ~[?:?]
at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source) ~[?:?]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) ~[?:?]
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source) ~[?:?]
at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source) ~[?:?]
at java.base/java.util.stream.ReferencePipeline.collect(Unknown Source) ~[?:?]
at io.camunda.zeebe.engine.processing.common.CatchEventBehavior.subscribeToEvents(CatchEventBehavior.java:189) ~[zeebe-workflow-engine-8.6.0-alpha5.jar:8.6.0-alpha5]
at io.camunda.zeebe.engine.processing.common.CatchEventBehavior.subscribeToEvents(CatchEventBehavior.java:154) ~[zeebe-workflow-engine-8.6.0-alpha5.jar:8.6.0-alpha5]
at io.camunda.zeebe.engine.processing.bpmn.behavior.BpmnEventSubscriptionBehavior.subscribeToEvents(BpmnEventSubscriptionBehavior.java:48) ~[zeebe-workflow-engine-8.6.0-alpha5.jar:8.6.0-alpha5]
at io.camunda.zeebe.engine.processing.bpmn.event.StartEventProcessor.finalizeCompletion(StartEventProcessor.java:75) ~[zeebe-workflow-engine-8.6.0-alpha5.jar:8.6.0-alpha5]
at io.camunda.zeebe.engine.processing.bpmn.event.StartEventProcessor.finalizeCompletion(StartEventProcessor.java:25) ~[zeebe-workflow-engine-8.6.0-alpha5.jar:8.6.0-alpha5]
at io.camunda.zeebe.engine.processing.bpmn.BpmnStreamProcessor.processElementWithListeners(BpmnStreamProcessor.java:236) ~[zeebe-workflow-engine-8.6.0-alpha5.jar:8.6.0-alpha5]
at io.camunda.zeebe.engine.processing.bpmn.BpmnStreamProcessor.afterCompleting(BpmnStreamProcessor.java:215) ~[zeebe-workflow-engine-8.6.0-alpha5.jar:8.6.0-alpha5]
at io.camunda.zeebe.engine.processing.bpmn.BpmnStreamProcessor.lambda$processEvent$5(BpmnStreamProcessor.java:169) ~[zeebe-workflow-engine-8.6.0-alpha5.jar:8.6.0-alpha5]
at io.camunda.zeebe.util.Either$Right.flatMap(Either.java:417) ~[zeebe-util-8.6.0-alpha5.jar:8.6.0-alpha5]
at io.camunda.zeebe.engine.processing.bpmn.BpmnStreamProcessor.processEvent(BpmnStreamProcessor.java:169) ~[zeebe-workflow-engine-8.6.0-alpha5.jar:8.6.0-alpha5]
at io.camunda.zeebe.engine.processing.bpmn.BpmnStreamProcessor.lambda$processRecord$0(BpmnStreamProcessor.java:110) ~[zeebe-workflow-engine-8.6.0-alpha5.jar:8.6.0-alpha5]
at io.camunda.zeebe.util.Either$Right.ifRightOrLeft(Either.java:438) ~[zeebe-util-8.6.0-alpha5.jar:8.6.0-alpha5]
at io.camunda.zeebe.engine.processing.bpmn.BpmnStreamProcessor.processRecord(BpmnStreamProcessor.java:107) ~[zeebe-workflow-engine-8.6.0-alpha5.jar:8.6.0-alpha5]
at io.camunda.zeebe.engine.Engine.process(Engine.java:131) ~[zeebe-workflow-engine-8.6.0-alpha5.jar:8.6.0-alpha5]
at io.camunda.zeebe.stream.impl.ProcessingStateMachine.batchProcessing(ProcessingStateMachine.java:375) ~[zeebe-stream-platform-8.6.0-alpha5.jar:8.6.0-alpha5]
at io.camunda.zeebe.stream.impl.ProcessingStateMachine.lambda$processCommand$3(ProcessingStateMachine.java:285) ~[zeebe-stream-platform-8.6.0-alpha5.jar:8.6.0-alpha5]
at io.camunda.zeebe.db.impl.rocksdb.transaction.ZeebeTransaction.run(ZeebeTransaction.java:109) ~[zeebe-db-8.6.0-alpha5.jar:8.6.0-alpha5]
at io.camunda.zeebe.stream.impl.ProcessingStateMachine.processCommand(ProcessingStateMachine.java:285) ~[zeebe-stream-platform-8.6.0-alpha5.jar:8.6.0-alpha5]
at io.camunda.zeebe.stream.impl.ProcessingStateMachine.tryToReadNextRecord(ProcessingStateMachine.java:244) ~[zeebe-stream-platform-8.6.0-alpha5.jar:8.6.0-alpha5]
at io.camunda.zeebe.scheduler.ActorJob.invoke(ActorJob.java:83) [zeebe-scheduler-8.6.0-alpha5.jar:8.6.0-alpha5]
at io.camunda.zeebe.scheduler.ActorJob.execute(ActorJob.java:42) [zeebe-scheduler-8.6.0-alpha5.jar:8.6.0-alpha5]
at io.camunda.zeebe.scheduler.ActorTask.execute(ActorTask.java:122) [zeebe-scheduler-8.6.0-alpha5.jar:8.6.0-alpha5]
at io.camunda.zeebe.scheduler.ActorThread.executeCurrentTask(ActorThread.java:130) [zeebe-scheduler-8.6.0-alpha5.jar:8.6.0-alpha5]
at io.camunda.zeebe.scheduler.ActorThread.doWork(ActorThread.java:108) [zeebe-scheduler-8.6.0-alpha5.jar:8.6.0-alpha5]
at io.camunda.zeebe.scheduler.ActorThread.run(ActorThread.java:227) [zeebe-scheduler-8.6.0-alpha5.jar:8.6.0-alpha5]
Shouldn't have passed validation, will result in banned instance, however this already fails fast right after start event. Any tested process wouldn't be affected.
Describe the bug
Reported by the here in error reporting tool. We find a NPE exception for a missing correlation key when evaluating the message correlation key in expression processor.
Was not able to check the model that lead to this error, since when I went to check it the cluster was already down.
Logs.
To Reproduce
Not sure.
Expected behavior
Log/Stacktrace
Full Stacktrace
``` ```
Environment: