I have inherited a large Camunda app that has started displaying the following: Processes run without any problems BUT every now and then (a couple of times a day) we get a “Message is null” error. This can happen in practically any process and, if I rerun the process, it then, more often than not, runs without an error. The error normally happens within the process (the incident happens in the step) but, as depicted in this image, it can also happen when we are at a gateway.
I have made sure that all process steps have “Asynchronous Continuations” set to “before/exclusive” as I read that this can be the problem if not set.
We are using Camunda 7.13.0 and cannot move to a newer version as we have a LOT of AngularJS code that we do not have the person power to update to Angular 2!
I do realise that this is very little info to go by but there are about 30 different processes and the error can occur in any one. I then restart the process and all is well… very odd the whole thing!
This instance is running in a docker container in a VM and we have not made any changes to the container nor the VM i.e. the only updates I do do is to install the linux patches via apt get and then restart the VM!
An incident occurs when an exception is thrown and not handled. “Message is null.” means that this exception has no message. When you click on “Message is null.” you should get a stack trace, which may help us to analyze the error.
sorry, I should have attached that … here is one that I just got:
java.lang.NullPointerException: null
at org.camunda.bpm.engine.impl.pvm.runtime.LegacyBehavior.isAsync(LegacyBehavior.java:541) ~[camunda-engine-7.13.0.jar:7.13.0]
at org.camunda.bpm.engine.impl.pvm.runtime.LegacyBehavior.repairMultiInstanceAsyncJob(LegacyBehavior.java:570) ~[camunda-engine-7.13.0.jar:7.13.0]
at org.camunda.bpm.engine.impl.jobexecutor.AsyncContinuationJobHandler.execute(AsyncContinuationJobHandler.java:67) ~[camunda-engine-7.13.0.jar:7.13.0]
at org.camunda.bpm.engine.impl.jobexecutor.AsyncContinuationJobHandler.execute(AsyncContinuationJobHandler.java:40) ~[camunda-engine-7.13.0.jar:7.13.0]
at org.camunda.bpm.engine.impl.persistence.entity.JobEntity.execute(JobEntity.java:128) ~[camunda-engine-7.13.0.jar:7.13.0]
at org.camunda.bpm.engine.impl.cmd.ExecuteJobsCmd.execute(ExecuteJobsCmd.java:110) ~[camunda-engine-7.13.0.jar:7.13.0]
at org.camunda.bpm.engine.impl.cmd.ExecuteJobsCmd.execute(ExecuteJobsCmd.java:43) ~[camunda-engine-7.13.0.jar:7.13.0]
at org.camunda.bpm.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:28) ~[camunda-engine-7.13.0.jar:7.13.0]
at org.camunda.bpm.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:110) ~[camunda-engine-7.13.0.jar:7.13.0]
at org.camunda.bpm.engine.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:46) [camunda-engine-spring-7.13.0.jar:7.13.0]
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) [spring-tx-5.3.6.jar:5.3.6]
at org.camunda.bpm.engine.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:44) [camunda-engine-spring-7.13.0.jar:7.13.0]
at org.camunda.bpm.engine.impl.interceptor.ProcessApplicationContextInterceptor.execute(ProcessApplicationContextInterceptor.java:70) [camunda-engine-7.13.0.jar:7.13.0]
at org.camunda.bpm.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:33) [camunda-engine-7.13.0.jar:7.13.0]
at org.camunda.bpm.engine.impl.jobexecutor.ExecuteJobHelper.executeJob(ExecuteJobHelper.java:57) [camunda-engine-7.13.0.jar:7.13.0]
at org.camunda.bpm.engine.impl.jobexecutor.ExecuteJobsRunnable.executeJob(ExecuteJobsRunnable.java:110) [camunda-engine-7.13.0.jar:7.13.0]
at org.camunda.bpm.engine.impl.jobexecutor.ExecuteJobsRunnable.run(ExecuteJobsRunnable.java:71) [camunda-engine-7.13.0.jar:7.13.0]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0-292]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0-292]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0-292]
Thank you – I checked out the code, which is for handling old models (version <= 7.2).
From the code, I understand that it has something to do with scopes and async before and async after.
But, I don’t know what’s happening in detail.