Duedate is null / when deploy BPMN

HI
I create BPMN, it start by start timer event. but when I deploy BPMN file, It error and show “duedate is null”

  • this is my bpmn diagram
    BPMN

  • stacktrace

ERROR org.camunda.bpm.engine.context - ENGINE-16004 Exception while closing command context: duedate is null
org.camunda.bpm.engine.exception.NullValueException: duedate is null
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_152]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_152]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_152]
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_152]
at org.camunda.bpm.engine.impl.util.EnsureUtil.generateException(EnsureUtil.java:344) ~[camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.util.EnsureUtil.ensureNotNull(EnsureUtil.java:49) ~[camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.util.EnsureUtil.ensureNotNull(EnsureUtil.java:44) ~[camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.util.EnsureUtil.ensureNotNull(EnsureUtil.java:36) ~[camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.persistence.entity.JobManager.schedule(JobManager.java:87) ~[camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.jobexecutor.TimerDeclarationImpl.scheduleTimer(TimerDeclarationImpl.java:175) ~[camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.jobexecutor.TimerDeclarationImpl.createTimer(TimerDeclarationImpl.java:164) ~[camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.jobexecutor.TimerDeclarationImpl.createStartTimerInstance(TimerDeclarationImpl.java:158) ~[camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.bpmn.deployer.BpmnDeployer.addTimerDeclarations(BpmnDeployer.java:235) ~[camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.bpmn.deployer.BpmnDeployer.adjustStartEventSubscriptions(BpmnDeployer.java:223) ~[camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.bpmn.deployer.BpmnDeployer.definitionAddedToDeploymentCache(BpmnDeployer.java:140) ~[camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.bpmn.deployer.BpmnDeployer.definitionAddedToDeploymentCache(BpmnDeployer.java:67) ~[camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.AbstractDefinitionDeployer.registerDefinition(AbstractDefinitionDeployer.java:290) ~[camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.AbstractDefinitionDeployer.persistDefinitions(AbstractDefinitionDeployer.java:217) ~[camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.AbstractDefinitionDeployer.postProcessDefinitions(AbstractDefinitionDeployer.java:199) ~[camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.AbstractDefinitionDeployer.deploy(AbstractDefinitionDeployer.java:63) ~[camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.persistence.deploy.cache.CacheDeployer$1.call(CacheDeployer.java:50) ~[camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.persistence.deploy.cache.CacheDeployer$1.call(CacheDeployer.java:47) ~[camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.interceptor.CommandContext.runWithoutAuthorization(CommandContext.java:473) ~[camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.persistence.deploy.cache.CacheDeployer.deploy(CacheDeployer.java:47) ~[camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.persistence.deploy.cache.DeploymentCache.deploy(DeploymentCache.java:63) ~[camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.persistence.entity.DeploymentManager.insertDeployment(DeploymentManager.java:51) ~[camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.cmd.DeployCmd.deploy(DeployCmd.java:479) ~[camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.cmd.DeployCmd$1.call(DeployCmd.java:138) ~[camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.cmd.DeployCmd$1.call(DeployCmd.java:126) ~[camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.interceptor.CommandContext.runWithoutAuthorization(CommandContext.java:473) ~[camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.cmd.DeployCmd.doExecute(DeployCmd.java:126) ~[camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.cmd.DeployCmd.execute(DeployCmd.java:92) ~[camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.cmd.DeployCmd.execute(DeployCmd.java:72) ~[camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:24) ~[camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:104) ~[camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.interceptor.ProcessApplicationContextInterceptor.execute(ProcessApplicationContextInterceptor.java:66) [camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30) [camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.RepositoryServiceImpl.deployWithResult(RepositoryServiceImpl.java:100) [camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.repository.DeploymentBuilderImpl.deployWithResult(DeploymentBuilderImpl.java:266) [camunda-engine-7.8.0.jar:7.8.0]
at org.camunda.bpm.engine.impl.repository.DeploymentBuilderImpl.deploy(DeploymentBuilderImpl.java:262) [camunda-engine-7.8.0.jar:7.8.0]

My Question is

  1. How Can I Check This Error and Fixed this problem ?
1 Like

can you upload the BPMN file itself?

@Niall this is my bpmn file
testTimer.bpmn (3.9 KB)

I think. Duedate is null, Its may be relate to xml configuration in https://app.camunda.com/jira/browse/CAM-4135

 <properties>
  <property name="jobExecutorDeploymentAware">...</property>
  <property name="jobExecutorPreferTimerJobs">...</property>
  <property name="jobExecutorAcquireByDueDate">...</property>  <<= What Place can I add this config
  <property name="jobExecutorAcquireByPriority">...</property>
</properties>

where can i set these xml config in Camunda BPMN Engine & Unit Test Project

My English Skill is not good , Sorry T__T

It looks like the problem is with the timer’s implementation.
I think you’ve incorrectly used the ISO8601. How often do you intend to have this process start?

this is my ISO8601 in bpmn:timerEventDefinition >> bpmn:timeCycle

<bpmn:startEvent id="StartEvent_1">
  <bpmn:outgoing>SequenceFlow_18slmhg</bpmn:outgoing>
  <bpmn:timerEventDefinition>
    <bpmn:timeCycle xsi:type="bpmn:tFormalExpression">R4/2018-06-02T12:13/PT5M</bpmn:timeCycle>
  </bpmn:timerEventDefinition>
</bpmn:startEvent>

Start 4 times in 5 minute on 2018-06-02 at 12:13

I don’t think we support that particular function with ISO8601 - you could try a CRON time instead that might be better.

It mean this online documentation https://docs.camunda.org/manual/7.8/reference/bpmn20/events/timer-events/ is incorrent ?

1 Like

Good point - We should support that, I’ll look into that now and try to figure out what that error is all about.

I think i got it now - the date you set in the BPMN model you uploaded was in the past.

If you add a data in the past it won’t deploy it so if you add the below to your model and try to deploy it - it should work

It worked when I deployed it anyway.

2 Likes

Great :slight_smile: , It’s work

I have next one question - when i test bpmn on UAT Enviroment / how to change time on Camunda BPMN to The Past time and My UAT Enviroment , I cannot change OS time because there ara another system that deployed.

Can I change Camunda BPMN system time vis rest api

Thank