JBoss Community

Error on task complete.

created by Diego Aguirre in jBPM - View the full discussion

I am working with JBPM 5.1 , integrated with the ESB 4.11 and the AS 5. Actualy, its the enterprise confirguration for this products (SOA-P 5.3 + its JBPM5 integration)

Untill now i have been using some services wich start a single process each one. Those process are fairly complex and include human tasks. This setup was working quite well untill we started using bpmn process to orchestrate those services on more complex ones.

So now we have a service wich starts a process wich calls another service wich start a process with human tasks on it. In this scenario, some times (most times actually) when we complete a human task, an error is thrown in the console, but apparently the task completes normally.

We have experenced some task duplication and taks not being created, and we think this error might be cousing that.

The error trace is the following:

 

15:40:15,823 ERROR [SingleSessionCommandService] Could not commit session

java.lang.NullPointerException

    at org.jbpm.process.instance.impl.ProcessInstanceImpl.setProcess(ProcessInstanceImpl.java:61)

    at org.jbpm.marshalling.impl.AbstractProtobufProcessInstanceMarshaller.readProcessInstance(AbstractProtobufProcessInstanceMarshaller.java:375)

    at org.jbpm.persistence.processinstance.ProcessInstanceInfo.getProcessInstance(ProcessInstanceInfo.java:142)

    at org.jbpm.persistence.processinstance.JPAProcessInstanceManager.getProcessInstance(JPAProcessInstanceManager.java:83)

    at org.jbpm.process.instance.ProcessRuntimeImpl.getProcessInstance(ProcessRuntimeImpl.java:204)

    at org.drools.common.AbstractWorkingMemory.getProcessInstance(AbstractWorkingMemory.java:1100)

    at org.drools.impl.StatefulKnowledgeSessionImpl.getProcessInstance(StatefulKnowledgeSessionImpl.java:295)

    at org.drools.persistence.jpa.processinstance.JPAWorkItemManager.completeWorkItem(JPAWorkItemManager.java:117)

    at org.drools.command.runtime.process.CompleteWorkItemCommand.execute(CompleteWorkItemCommand.java:69)

    at org.drools.command.runtime.process.CompleteWorkItemCommand.execute(CompleteWorkItemCommand.java:32)

    at org.drools.command.impl.DefaultCommandService.execute(DefaultCommandService.java:36)

    at org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:355)

    at org.drools.command.impl.CommandBasedStatefulKnowledgeSession$1.completeWorkItem(CommandBasedStatefulKnowledgeSession.java:150)

    at org.jbpm.task.service.hornetq.CommandBasedHornetQWSHumanTaskHandler$GetResultContentResponseHandler.execute(CommandBasedHornetQWSHumanTaskHandler.java:309)

    at org.jbpm.task.service.TaskClientHandler.messageReceived(TaskClientHandler.java:153)

    at org.jbpm.task.service.hornetq.HornetQTaskClientHandler.messageReceived(HornetQTaskClientHandler.java:56)

    at org.jbpm.task.service.hornetq.HornetQTaskClientConnector$1.run(HornetQTaskClientConnector.java:108)

    at java.lang.Thread.run(Unknown Source)

15:40:16,630 ERROR [STDERR] Exception in thread "Thread-86"

15:40:16,630 ERROR [STDERR] java.lang.RuntimeException: Client Exception with class class org.jbpm.task.service.hornetq.HornetQTaskClientConnector$1 using port 5446

15:40:16,630 ERROR [STDERR]     at org.jbpm.task.service.hornetq.HornetQTaskClientConnector$1.run(HornetQTaskClientConnector.java:119)

15:40:16,630 ERROR [STDERR]     at java.lang.Thread.run(Unknown Source)

15:40:16,630 ERROR [STDERR] Caused by: java.lang.NullPointerException

15:40:16,630 ERROR [STDERR]     at org.jbpm.process.instance.impl.ProcessInstanceImpl.setProcess(ProcessInstanceImpl.java:61)

15:40:16,630 ERROR [STDERR]     at org.jbpm.marshalling.impl.AbstractProtobufProcessInstanceMarshaller.readProcessInstance(AbstractProtobufProcessInstanceMarshaller.java:375)

15:40:16,630 ERROR [STDERR]     at org.jbpm.persistence.processinstance.ProcessInstanceInfo.getProcessInstance(ProcessInstanceInfo.java:142)

15:40:16,630 ERROR [STDERR]     at org.jbpm.persistence.processinstance.JPAProcessInstanceManager.getProcessInstance(JPAProcessInstanceManager.java:83)

15:40:16,630 ERROR [STDERR]     at org.jbpm.process.instance.ProcessRuntimeImpl.getProcessInstance(ProcessRuntimeImpl.java:204)

15:40:16,630 ERROR [STDERR]     at org.drools.common.AbstractWorkingMemory.getProcessInstance(AbstractWorkingMemory.java:1100)

15:40:16,630 ERROR [STDERR]     at org.drools.impl.StatefulKnowledgeSessionImpl.getProcessInstance(StatefulKnowledgeSessionImpl.java:295)

15:40:16,630 ERROR [STDERR]     at org.drools.persistence.jpa.processinstance.JPAWorkItemManager.completeWorkItem(JPAWorkItemManager.java:117)

15:40:16,630 ERROR [STDERR]     at org.drools.command.runtime.process.CompleteWorkItemCommand.execute(CompleteWorkItemCommand.java:69)

15:40:16,630 ERROR [STDERR]     at org.drools.command.runtime.process.CompleteWorkItemCommand.execute(CompleteWorkItemCommand.java:32)

15:40:16,630 ERROR [STDERR]     at org.drools.command.impl.DefaultCommandService.execute(DefaultCommandService.java:36)

15:40:16,630 ERROR [STDERR]     at org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:355)

15:40:16,630 ERROR [STDERR]     at org.drools.command.impl.CommandBasedStatefulKnowledgeSession$1.completeWorkItem(CommandBasedStatefulKnowledgeSession.java:150)

15:40:16,630 ERROR [STDERR]     at org.jbpm.task.service.hornetq.CommandBasedHornetQWSHumanTaskHandler$GetResultContentResponseHandler.execute(CommandBasedHornetQWSHumanTaskHandler.java:309)

15:40:16,630 ERROR [STDERR]     at org.jbpm.task.service.TaskClientHandler.messageReceived(TaskClientHandler.java:153)

15:40:16,630 ERROR [STDERR]     at org.jbpm.task.service.hornetq.HornetQTaskClientHandler.messageReceived(HornetQTaskClientHandler.java:56)

15:40:16,630 ERROR [STDERR]     at org.jbpm.task.service.hornetq.HornetQTaskClientConnector$1.run(HornetQTaskClientConnector.java:108)

15:40:16,630 ERROR [STDERR]     ... 1 more

 

As the log shows i am usng CommandBasedHornetQWSHumanTaskHandler as the human task work item handler and HornetQTaskClientConnector as the client conector for completing the task (but this happens too if i use the eclipse client).

For starting the process i am using the Bpm5Processor action.

I have been trying to solve this issue for several days now, so any idea or pointer is very welcome.

Reply to this message by going to Community

Start a new discussion in jBPM at Community