ENGINE-REST-HTTP500 java.lang.NullPointerException when trying to suspend a process

I’m using the camunda Java springboot rest starter version 7.14.

Offline, I create a “hello world” BPMN diagram with a single service task and embedded this diagram in the Springboot app resources.

When the app is running, the following REST API call causes a null pointer exception and http 500 error code. Is this a bug, or what am I doing wrong?

request:

curl -X PUT -u user:password localhost:8080/engine-rest/process-definition/key/Process_1o9ey91/suspended

console log:

2021-03-08 14:56:33.555 WARN 7447 — [nio-8080-exec-3] org.camunda.bpm.engine.rest.exception : ENGINE-REST-HTTP500 java.lang.NullPointerException
at org.camunda.bpm.engine.rest.sub.repository.impl.ProcessDefinitionResourceImpl.updateSuspensionState(ProcessDefinitionResourceImpl.java:351)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

bpmn file:

$ cat src/main/resources/hello.bpmn 
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="Definitions_0qf487i" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="4.4.0">
  <bpmn:process id="Process_1o9ey91" isExecutable="true">
    <bpmn:startEvent id="StartEvent_1">
      <bpmn:outgoing>Flow_111vcyw</bpmn:outgoing>
    </bpmn:startEvent>
    <bpmn:endEvent id="Event_00e6gwc">
      <bpmn:incoming>Flow_10gw151</bpmn:incoming>
    </bpmn:endEvent>
    <bpmn:sequenceFlow id="Flow_111vcyw" sourceRef="StartEvent_1" targetRef="Activity_00tbncs" />
    <bpmn:sequenceFlow id="Flow_10gw151" sourceRef="Activity_00tbncs" targetRef="Event_00e6gwc" />
    <bpmn:serviceTask id="Activity_00tbncs" name="hello" camunda:class="com.swisscom.smc.orchestration.process.ProcessHello">
      <bpmn:incoming>Flow_111vcyw</bpmn:incoming>
      <bpmn:outgoing>Flow_10gw151</bpmn:outgoing>
    </bpmn:serviceTask>
  </bpmn:process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1o9ey91">
      <bpmndi:BPMNEdge id="Flow_111vcyw_di" bpmnElement="Flow_111vcyw">
        <di:waypoint x="215" y="117" />
        <di:waypoint x="270" y="117" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_10gw151_di" bpmnElement="Flow_10gw151">
        <di:waypoint x="370" y="117" />
        <di:waypoint x="412" y="117" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
        <dc:Bounds x="179" y="99" width="36" height="36" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Event_00e6gwc_di" bpmnElement="Event_00e6gwc">
        <dc:Bounds x="412" y="99" width="36" height="36" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_11jd70b_di" bpmnElement="Activity_00tbncs">
        <dc:Bounds x="270" y="77" width="100" height="80" />
      </bpmndi:BPMNShape>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</bpmn:definitions>