Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NPE in Validator #9083

Closed
pihme opened this issue Apr 11, 2022 · 0 comments · Fixed by #9164
Closed

NPE in Validator #9083

pihme opened this issue Apr 11, 2022 · 0 comments · Fixed by #9164
Assignees
Labels
area/ux Marks an issue as related to improving the user experience kind/bug Categorizes an issue or PR as a bug scope/broker Marks an issue or PR to appear in the broker section of the changelog severity/mid Marks a bug as having a noticeable impact but with a known workaround version:1.3.8 version:8.1.0-alpha1 Marks an issue as being completely or in parts released in 8.1.0-alpha1 version:8.1.0 Marks an issue as being completely or in parts released in 8.1.0
Milestone

Comments

@pihme
Copy link
Contributor

pihme commented Apr 11, 2022

Description

https://console.cloud.google.com/errors/detail/CP7rvtL2xonR5QE;service=zeebe;time=P7D?project=camunda-cloud-240911

A NPE was thrown while validating a message start event. The start event apparently had a message with no name. This seems to be a user error.

The null value should probably not be logged, but reported as validation error back to the client.

java.lang.NullPointerException: expression
	at java.util.Objects.requireNonNull(Unknown Source) ~[?:?]
	at io.camunda.zeebe.util.EnsureUtil.ensureNotNull(EnsureUtil.java:20) ~[zeebe-util-1.3.6.jar:1.3.6]
	at io.camunda.zeebe.el.impl.FeelExpressionLanguage.parseExpression(FeelExpressionLanguage.java:56) ~[zeebe-expression-language-1.3.6.jar:1.3.6]
	at io.camunda.zeebe.engine.processing.deployment.model.validation.ProcessMessageStartEventMessageNameValidator.validateMessageName(ProcessMessageStartEventMessageNameValidator.java:60) ~[zeebe-workflow-engine-1.3.6.jar:1.3.6]
	at io.camunda.zeebe.engine.processing.deployment.model.validation.ProcessMessageStartEventMessageNameValidator.lambda$validate$0(ProcessMessageStartEventMessageNameValidator.java:47) ~[zeebe-workflow-engine-1.3.6.jar:1.3.6]
	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source) ~[?:?]
	at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) ~[?:?]
	at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source) ~[?:?]
	at java.util.ArrayList$Itr.forEachRemaining(Unknown Source) ~[?:?]
	at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Unknown Source) ~[?:?]
	at java.util.stream.AbstractPipeline.copyInto(Unknown Source) ~[?:?]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) ~[?:?]
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source) ~[?:?]
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source) ~[?:?]
	at java.util.stream.AbstractPipeline.evaluate(Unknown Source) ~[?:?]
	at java.util.stream.ReferencePipeline.forEach(Unknown Source) ~[?:?]
	at io.camunda.zeebe.engine.processing.deployment.model.validation.ProcessMessageStartEventMessageNameValidator.validate(ProcessMessageStartEventMessageNameValidator.java:47) ~[zeebe-workflow-engine-1.3.6.jar:1.3.6]
	at io.camunda.zeebe.engine.processing.deployment.model.validation.ProcessMessageStartEventMessageNameValidator.validate(ProcessMessageStartEventMessageNameValidator.java:26) ~[zeebe-workflow-engine-1.3.6.jar:1.3.6]
	at io.camunda.zeebe.model.bpmn.validation.ValidationVisitor.lambda$visit$0(ValidationVisitor.java:51) ~[zeebe-bpmn-model-1.3.6.jar:1.3.6]
	at java.util.ArrayList.forEach(Unknown Source) ~[?:?]
	at io.camunda.zeebe.model.bpmn.validation.ValidationVisitor.visit(ValidationVisitor.java:51) ~[zeebe-bpmn-model-1.3.6.jar:1.3.6]
	at io.camunda.zeebe.model.bpmn.traversal.TypeHierarchyVisitor.visit(TypeHierarchyVisitor.java:39) ~[zeebe-bpmn-model-1.3.6.jar:1.3.6]
	at io.camunda.zeebe.model.bpmn.traversal.ModelWalker.walk(ModelWalker.java:61) ~[zeebe-bpmn-model-1.3.6.jar:1.3.6]
	at io.camunda.zeebe.engine.processing.deployment.transform.BpmnValidator.validate(BpmnValidator.java:41) ~[zeebe-workflow-engine-1.3.6.jar:1.3.6]
	at io.camunda.zeebe.engine.processing.deployment.transform.DeploymentTransformer.transformResource(DeploymentTransformer.java:119) ~[zeebe-workflow-engine-1.3.6.jar:1.3.6]
	at io.camunda.zeebe.engine.processing.deployment.transform.DeploymentTransformer.transform(DeploymentTransformer.java:96) ~[zeebe-workflow-engine-1.3.6.jar:1.3.6]
	at io.camunda.zeebe.engine.processing.deployment.DeploymentCreateProcessor.processRecord(DeploymentCreateProcessor.java:100) ~[zeebe-workflow-engine-1.3.6.jar:1.3.6]
	at io.camunda.zeebe.engine.processing.streamprocessor.TypedRecordProcessor.processRecord(TypedRecordProcessor.java:54) ~[zeebe-workflow-engine-1.3.6.jar:1.3.6]
	at io.camunda.zeebe.engine.processing.streamprocessor.ProcessingStateMachine.lambda$processInTransaction$3(ProcessingStateMachine.java:297) ~[zeebe-workflow-engine-1.3.6.jar:1.3.6]
	at io.camunda.zeebe.db.impl.rocksdb.transaction.ZeebeTransaction.run(ZeebeTransaction.java:84) ~[zeebe-db-1.3.6.jar:1.3.6]
	at io.camunda.zeebe.engine.processing.streamprocessor.ProcessingStateMachine.processInTransaction(ProcessingStateMachine.java:287) ~[zeebe-workflow-engine-1.3.6.jar:1.3.6]
	at io.camunda.zeebe.engine.processing.streamprocessor.ProcessingStateMachine.processCommand(ProcessingStateMachine.java:252) ~[zeebe-workflow-engine-1.3.6.jar:1.3.6]
	at io.camunda.zeebe.engine.processing.streamprocessor.ProcessingStateMachine.tryToReadNextRecord(ProcessingStateMachine.java:212) ~[zeebe-workflow-engine-1.3.6.jar:1.3.6]
	at io.camunda.zeebe.engine.processing.streamprocessor.ProcessingStateMachine.readNextRecord(ProcessingStateMachine.java:188) ~[zeebe-workflow-engine-1.3.6.jar:1.3.6]
	at io.camunda.zeebe.util.sched.ActorJob.invoke(ActorJob.java:79) [zeebe-util-1.3.6.jar:1.3.6]
	at io.camunda.zeebe.util.sched.ActorJob.execute(ActorJob.java:44) [zeebe-util-1.3.6.jar:1.3.6]
	at io.camunda.zeebe.util.sched.ActorTask.execute(ActorTask.java:122) [zeebe-util-1.3.6.jar:1.3.6]
	at io.camunda.zeebe.util.sched.ActorThread.executeCurrentTask(ActorThread.java:97) [zeebe-util-1.3.6.jar:1.3.6]
	at io.camunda.zeebe.util.sched.ActorThread.doWork(ActorThread.java:80) [zeebe-util-1.3.6.jar:1.3.6]
	at io.camunda.zeebe.util.sched.ActorThread.run(ActorThread.java:189) [zeebe-util-1.3.6.jar:1.3.6] 
@pihme pihme added kind/toil Categorizes an issue or PR as general maintenance, i.e. cleanup, refactoring, etc. team/process-automation labels Apr 11, 2022
@npepinpe npepinpe added area/ux Marks an issue as related to improving the user experience scope/broker Marks an issue or PR to appear in the broker section of the changelog kind/bug Categorizes an issue or PR as a bug severity/mid Marks a bug as having a noticeable impact but with a known workaround and removed Impact: Usability kind/toil Categorizes an issue or PR as general maintenance, i.e. cleanup, refactoring, etc. labels Apr 11, 2022
@npepinpe npepinpe added this to the 8.1 milestone Apr 12, 2022
@pihme pihme self-assigned this Apr 19, 2022
zeebe-bors-camunda bot added a commit that referenced this issue Apr 21, 2022
9164: Check for message names being null during validation r=pihme a=pihme

## Description

* Adds a test that a validation error is generated if the message name is null
* Adds validation logic for message name being null 

## Related issues

closes #9083



Co-authored-by: pihme <pihme@users.noreply.github.com>
zeebe-bors-camunda bot added a commit that referenced this issue Apr 21, 2022
9193: [Backport stable/8.0] Check for message names being null during validation r=pihme a=github-actions[bot]

# Description
Backport of #9164 to `stable/8.0`.

relates to #9083

Co-authored-by: pihme <pihme@users.noreply.github.com>
zeebe-bors-camunda bot added a commit that referenced this issue Apr 21, 2022
9192: [Backport stable/1.3] Check for message names being null during validation r=pihme a=github-actions[bot]

# Description
Backport of #9164 to `stable/1.3`.

relates to #9083

Co-authored-by: pihme <pihme@users.noreply.github.com>
zeebe-bors-camunda bot added a commit that referenced this issue Apr 21, 2022
9192: [Backport stable/1.3] Check for message names being null during validation r=pihme a=github-actions[bot]

# Description
Backport of #9164 to `stable/1.3`.

relates to #9083

Co-authored-by: pihme <pihme@users.noreply.github.com>
zeebe-bors-camunda bot added a commit that referenced this issue Apr 21, 2022
9192: [Backport stable/1.3] Check for message names being null during validation r=pihme a=github-actions[bot]

# Description
Backport of #9164 to `stable/1.3`.

relates to #9083

Co-authored-by: pihme <pihme@users.noreply.github.com>
@deepthidevaki deepthidevaki added the version:8.1.0-alpha1 Marks an issue as being completely or in parts released in 8.1.0-alpha1 label May 3, 2022
@Zelldon Zelldon added the version:8.1.0 Marks an issue as being completely or in parts released in 8.1.0 label Oct 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/ux Marks an issue as related to improving the user experience kind/bug Categorizes an issue or PR as a bug scope/broker Marks an issue or PR to appear in the broker section of the changelog severity/mid Marks a bug as having a noticeable impact but with a known workaround version:1.3.8 version:8.1.0-alpha1 Marks an issue as being completely or in parts released in 8.1.0-alpha1 version:8.1.0 Marks an issue as being completely or in parts released in 8.1.0
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants