I have the same problem, but in my case, when I use "setVariable()", process and kruntime are null. I'm using the version 5.2. Look at my stacktrace:
java.lang.NullPointerException: null
at org.jbpm.process.instance.impl.ProcessInstanceImpl.getProcess(ProcessInstanceImpl.java:67) ~[jbpm-flow-5.2.0.Final.jar:5.2.0.Final]
at org.jbpm.process.instance.impl.ProcessInstanceImpl.getContextInstance(ProcessInstanceImpl.java:127) ~[jbpm-flow-5.2.0.Final.jar:5.2.0.Final]
at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.setVariable(WorkflowProcessInstanceImpl.java:238) ~[jbpm-flow-5.2.0.Final.jar:5.2.0.Final]
Thanks.