NullPointerException on taskService.getTasksAssignedAsPotentialOwnerByStatusByGroup() in BRMS 5.3
Issue
- When a request is sent from the client to the server to get the user's tasks with a user id and empty group id list as parameters, there is an "unexpected end of subtree" exception being thrown. The server generate a RuntimeException and sends that back to the client, therefore the original message and its content are lost and the client doesn't know what happened on the server.
server side:
17:00:43,624 ERROR [TaskServerHandler] Operation failed
java.lang.RuntimeException: Operation failed
at org.jbpm.task.service.persistence.TaskPersistenceManager.queryWithParametersInTransaction(TaskPersistenceManager.java:302)
at org.jbpm.task.service.persistence.TaskPersistenceManager.queryWithParametersInTransaction(TaskPersistenceManager.java:309)
at org.jbpm.task.service.TaskServiceSession.getTasksAssignedAsPotentialOwnerByStatusByGroup(TaskServiceSession.java:1048)
at org.jbpm.task.service.TaskServerHandler.messageReceived(TaskServerHandler.java:354)
at org.jbpm.task.service.hornetq.HornetQTaskServerHandler.messageReceived(HornetQTaskServerHandler.java:44)
at org.jbpm.task.service.hornetq.BaseHornetQTaskServer.run(BaseHornetQTaskServer.java:104)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: unexpected end of subtree [select new org.jbpm.task.query.TaskSummary( t.id, t.taskData.processInstanceId, name.text, subject.text, description.text, t.taskData.status, t.priority, t.taskData.skipable, actualOwner, createdBy, t.taskData.createdOn, t.taskData.activationTime, t.taskData.expirationTime, t.taskData.processId, t.taskData.processSessionId) from org.jbpm.task.Task t left join t.taskData.createdBy as createdBy left join t.taskData.actualOwner as actualOwner left join t.subjects as subject left join t.descriptions as description left join t.names as name, org.jbpm.task.OrganizationalEntity potentialOwners where t.archived = 0 and ( potentialOwners.id = :userId or potentialOwners.id in () ) and potentialOwners in elements ( t.peopleAssignments.potentialOwners ) and ( name.language = :language or t.names.size = 0 ) and ( subject.language = :language or t.subjects.size = 0 ) and ( description.language = :language or t.descriptions.size = 0 ) and t.taskData.status in (:status0_, :status1_) and t.taskData.expirationTime is null]
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:603)
at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:103)
at org.jbpm.task.service.persistence.TaskPersistenceManager.queryWithParameters(TaskPersistenceManager.java:344)
at org.jbpm.task.service.persistence.TaskPersistenceManager.queryWithParametersInTransaction(TaskPersistenceManager.java:287)
... 6 more
Caused by: org.hibernate.hql.ast.QuerySyntaxException: unexpected end of subtree [select new org.jbpm.task.query.TaskSummary( t.id, t.taskData.processInstanceId, name.text, subject.text, description.text, t.taskData.status, t.priority, t.taskData.skipable, actualOwner, createdBy, t.taskData.createdOn, t.taskData.activationTime, t.taskData.expirationTime, t.taskData.processId, t.taskData.processSessionId) from org.jbpm.task.Task t left join t.taskData.createdBy as createdBy left join t.taskData.actualOwner as actualOwner left join t.subjects as subject left join t.descriptions as description left join t.names as name, org.jbpm.task.OrganizationalEntity potentialOwners where t.archived = 0 and ( potentialOwners.id = :userId or potentialOwners.id in () ) and potentialOwners in elements ( t.peopleAssignments.potentialOwners ) and ( name.language = :language or t.names.size = 0 ) and ( subject.language = :language or t.subjects.size = 0 ) and ( description.language = :language or t.descriptions.size = 0 ) and t.taskData.status in (:status0_, :status1_) and t.taskData.expirationTime is null]
at org.hibernate.hql.ast.QuerySyntaxException.convert(QuerySyntaxException.java:55)
at org.hibernate.hql.ast.QuerySyntaxException.convert(QuerySyntaxException.java:48)
at org.hibernate.hql.ast.ErrorCounter.throwQueryException(ErrorCounter.java:83)
at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:262)
at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:186)
at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:137)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:101)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:80)
at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:124)
at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:156)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1184)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:94)
... 8 more
client side:
24/02 17:01:52,905[Thread-1] ERROR service.hornetq.HornetQTaskClientConnector.run - Client Exception with class class org.jbpm.task.service.hornetq.HornetQTaskClientConnector$1 using port 5153
java.lang.NullPointerException
at org.jbpm.task.service.TaskClientHandler.messageReceived(TaskClientHandler.java:62)
at org.jbpm.task.service.hornetq.HornetQTaskClientHandler.messageReceived(HornetQTaskClientHandler.java:56)
at org.jbpm.task.service.hornetq.HornetQTaskClientConnector$1.run(HornetQTaskClientConnector.java:122)
at java.lang.Thread.run(Thread.java:662)
Exception in thread "main" java.lang.RuntimeException: Timeout : unable to retrieve results
at org.jbpm.task.service.responsehandlers.BlockingTaskSummaryResponseHandler.getResults(BlockingTaskSummaryResponseHandler.java:41)
at org.jbpm.task.service.AsyncTaskServiceWrapper.getTasksAssignedAsPotentialOwnerByStatusByGroup(AsyncTaskServiceWrapper.java:756)
at com.sample.ProcessMainHQJohn.main(ProcessMainHQJohn.java:44)
Environment
- Red Hat JBoss BRMS
- 5.3.1
- jBPM 5
- Remote Human Task Service
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
