-
Notifications
You must be signed in to change notification settings - Fork 564
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: Cannot invoke "String.getBytes(java.nio.charset.Charset)" because "value" is null #9344
Comments
Looking at the code it seems to fail because the decision result is a failure but the failed decision id is not set. Looking at the error not sure whether it makes sense to extract the dmn? Probably the bpmn is enough, since it fails on activation?
|
Looking at the stacktrace, it failed on BpmnDecisionBehavior.java#L254. It makes sense to have both the BPMN and the DMN because the decision is evaluated on activation of the business rule task, which is when the NPE was thrown. |
The exception is catched and our usual error handling is done as you can see here, based on the logs #9344 (comment) What we can see as well is that multiple instances are being blacklisted because of this |
@Zelldon the provided models in the link above, are those complete? Or could there be other versions deployed that are not in this folder? EDIT: I have tried to reproduce the problem, but was unable to so far. |
@korthout for the DMN i downloaded all versions. For bpmn only the failed one. |
At this time I'll mark it as severity/high because unless we know the cause, we can't know a workaround
|
I've started a research document for further analysis of the data. |
@saig0 and I were unable to reproduce the issue from a user's perspective, but the error is clear when looking at the code. There are 2 cases where the |
9351: Fix NPE because of missing decisionId of failed decision evaluation r=korthout a=korthout ## Description <!-- Please explain the changes you made here. --> When the decision evaluation fails, a DECISION_EVALUATION record with FAILED intent is written, containing relevant information about the failure. This includes the id of the decision that failed. However, in 2 cases it might happen that a `null` value would be used, which cannot be written into a record, leading to a NullPointerException (NPE). Both NPEs can be avoided by not using `null`, but using reasonable defaults instead. In both cases, the id of the decision that was intended to be evaluated can be used as the replacement of this `null`. While we were able to discover the NPEs' causes from the code and the stack traces, we were unable to reproduce the situation from a user's perspective. I've thus left out a regression test for it. ## Related issues <!-- Which issues are closed by this PR or are related --> closes #9344 Co-authored-by: Nico Korthout <nico.korthout@camunda.com>
Describe the bug
Looks similar to #9269. It seems something in the decision evaluation is null, looks like the
.setFailedDecisionId
is failing. Happening on prod with Camunda 8.0.0.Error group https://console.cloud.google.com/errors/detail/CKWO74bjv6a2owE;service=zeebe;time=P7D?project=camunda-cloud-240911
To Reproduce
Backup of logs and models can be found here https://drive.google.com/drive/u/0/folders/1WGHcsqwXDGFbGMBqrACaDfW_vjkVnMEQ
Log details https://console.cloud.google.com/logs/query;query=%0AlogName:%22stdout%22%0Aresource.type%3D%22k8s_container%22%0Aresource.labels.namespace_name%3D%22db0e535c-9198-4185-a526-c81f610969e8-zeebe%22%0Aresource.labels.project_id%3D%22camunda-cloud-240911%22%0Aresource.labels.pod_name%3D%22zeebe-0%22%0Aresource.labels.location%3D%22europe-west1%22%0Aresource.labels.container_name%3D%22zeebe%22%0Aresource.labels.cluster_name%3D%22production-worker-1%22;timeRange=2022-05-10T10:59:04.524Z%2F2022-05-10T11:59:04.524Z;pinnedLogId=2022-05-10T11:28:34.524275289Z%2Fmtmd0orxighigvni;cursorTimestamp=2022-05-10T11:15:46.967095281Z?project=camunda-cloud-240911
Expected behavior
No NPE.
Log/Stacktrace
Full Stacktrace
Environment:
The text was updated successfully, but these errors were encountered: