+++ This bug was initially created as a clone of Bug #1304496 +++ A NPE exeception is thrown when the following code is used to issue the signal event: processService.signalProcessInstance(pi.getId(), ROUTING_EXCEPTION, null); The stack trace is: Caused by: java.lang.NullPointerException at org.kie.spring.persistence.AbstractKieSpringJpaManager$EmHolderDelegateInvocationHandler.invoke(AbstractKieSpringJpaManager.java:141) [kie-spring-6.3.0.Final-redhat-5.jar:6.3.0.Final-redhat-5] at com.sun.proxy.$Proxy67.joinTransaction(Unknown Source) at org.jbpm.process.audit.JPAWorkingMemoryDbLogger.joinTransaction(JPAWorkingMemoryDbLogger.java:246) [jbpm-audit-6.3.0.Final-redhat-5.jar:6.3.0.Final-redhat-5] at org.jbpm.process.audit.JPAWorkingMemoryDbLogger.persist(JPAWorkingMemoryDbLogger.java:195) [jbpm-audit-6.3.0.Final-redhat-5.jar:6.3.0.Final-redhat-5] at org.jbpm.process.audit.JPAWorkingMemoryDbLogger.afterNodeLeft(JPAWorkingMemoryDbLogger.java:120) [jbpm-audit-6.3.0.Final-redhat-5.jar:6.3.0.Final-redhat-5] at org.drools.core.event.ProcessEventSupport.fireAfterNodeLeft(ProcessEventSupport.java:124) [drools-core-6.3.0.Final-redhat-5.jar:6.3.0.Final-redhat-5] at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:375) [jbpm-flow-6.3.0.Final-redhat-5.jar:6.3.0.Final-redhat-5] at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:325) [jbpm-flow-6.3.0.Final-redhat-5.jar:6.3.0.Final-redhat-5] at org.jbpm.workflow.instance.node.ActionNodeInstance.triggerCompleted(ActionNodeInstance.java:61) [jbpm-flow-6.3.0.Final-redhat-5.jar:6.3.0.Final-redhat-5] at org.jbpm.workflow.instance.node.ActionNodeInstance.internalTrigger(ActionNodeInstance.java:57) [jbpm-flow-6.3.0.Final-redhat-5.jar:6.3.0.Final-redhat-5] at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:173) [jbpm-flow-6.3.0.Final-redhat-5.jar:6.3.0.Final-redhat-5] ... 50 more The problem is caused by the current implementation in org.jbpm.kie.services.impl.ProcessServiceImpl. Note that it disposes the runtime engine after sending the signal event: try { ksession.signalEvent(signalName, event, processInstanceId); } finally { disposeRuntimeEngine(manager, engine); } So the disposeRuntimeEngine needs to be fixed actually on runtime manager level to handle it properly for all possible cases. --- Additional comment from JBoss Product and Program Management on 2016-02-03 15:10:08 EST --- Since this issue was entered in Red Hat Bugzilla, the release flag has been set to ? to ensure that it is properly evaluated for this release.
fix back ported to 6.3.x jbpm 6.3.x: https://github.com/droolsjbpm/jbpm/commit/6655d212b954bcd576e90ce4ec686a6c03068d35
Verified on BPM Suite 6.2.2 CR1
Hi all, Is there any chance to backport it to 6.1? It is a customer requirement.