-
Bug
-
Resolution: Done
-
Major
-
6.0.0
-
None
Description of problem:
For some reason a transaction exception has thrown when an user from a group that has a task assigned try to list it.
The exception is:
00:18:17,378 WARN [org.jbpm.services.task.persistence.TaskTransactionInterceptor] (http-mackoy/127.0.0.1:8080-2) Could not commit session: com.arjuna.ats.jta.exceptions.RollbackException: ARJUNA016081: The transaction implementation threw a RollbackException
at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionSynchronizationRegistryImple.registerInterposedSynchronization(TransactionSynchronizationRegistryImple.java:144)
at org.drools.persistence.TransactionSynchronizationRegistryHelper.registerTransactionSynchronization(TransactionSynchronizationRegistryHelper.java:14) [drools-persistence-jpa-6.0.2-redhat-2.jar:6.0.2-redhat-2]
at org.drools.persistence.jta.JtaTransactionManager.registerTransactionSynchronization(JtaTransactionManager.java:262) [drools-persistence-jpa-6.0.2-redhat-2.jar:6.0.2-redhat-2]
at org.jbpm.services.task.persistence.JPATaskPersistenceContext.persistOrgEntity(JPATaskPersistenceContext.java:214) [jbpm-human-task-core-6.0.2-redhat-2.jar:6.0.2-redhat-2]
at org.jbpm.services.task.commands.UserGroupCallbackTaskCommand.persistIfNotExists(UserGroupCallbackTaskCommand.java:110) [jbpm-human-task-core-6.0.2-redhat-2.jar:6.0.2-redhat-2]
at org.jbpm.services.task.commands.UserGroupCallbackTaskCommand.addGroupFromCallbackOperation(UserGroupCallbackTaskCommand.java:153) [jbpm-human-task-core-6.0.2-redhat-2.jar:6.0.2-redhat-2]
at org.jbpm.services.task.commands.UserGroupCallbackTaskCommand.doCallbackGroupsOperation(UserGroupCallbackTaskCommand.java:131) [jbpm-human-task-core-6.0.2-redhat-2.jar:6.0.2-redhat-2]
at org.jbpm.services.task.commands.UserGroupCallbackTaskCommand.doUserGroupCallbackOperation(UserGroupCallbackTaskCommand.java:71) [jbpm-human-task-core-6.0.2-redhat-2.jar:6.0.2-redhat-2]
at org.jbpm.services.task.commands.GetTaskAssignedAsPotentialOwnerCommand.execute(GetTaskAssignedAsPotentialOwnerCommand.java:73) [jbpm-human-task-core-6.0.2-redhat-2.jar:6.0.2-redhat-2]
at org.jbpm.services.task.commands.GetTaskAssignedAsPotentialOwnerCommand.execute(GetTaskAssignedAsPotentialOwnerCommand.java:15) [jbpm-human-task-core-6.0.2-redhat-2.jar:6.0.2-redhat-2]
at org.jbpm.services.task.commands.TaskCommandExecutorImpl$SelfExecutionCommandService.execute(TaskCommandExecutorImpl.java:65) [jbpm-human-task-core-6.0.2-redhat-2.jar:6.0.2-redhat-2]
at org.drools.core.command.impl.AbstractInterceptor.executeNext(AbstractInterceptor.java:41) [drools-core-6.0.2-redhat-2.jar:6.0.2-redhat-2]
at org.jbpm.services.task.persistence.TaskTransactionInterceptor.execute(TaskTransactionInterceptor.java:54) [jbpm-human-task-core-6.0.2-redhat-2.jar:6.0.2-redhat-2]
at org.jbpm.services.task.commands.TaskCommandExecutorImpl.execute(TaskCommandExecutorImpl.java:40) [jbpm-human-task-core-6.0.2-redhat-2.jar:6.0.2-redhat-2]
at org.jbpm.services.task.impl.command.CommandBasedTaskService.getTasksAssignedAsPotentialOwnerByStatus(CommandBasedTaskService.java:190) [jbpm-human-task-core-6.0.2-redhat-2.jar:6.0.2-redhat-2]
at org.jbpm.console.ng.ht.backend.server.TaskServiceEntryPointImpl.getTasksAssignedAsPotentialOwnerByExpirationDateOptional(TaskServiceEntryPointImpl.java:74) [jbpm-console-ng-human-tasks-backend-6.0.2-redhat-2.jar:6.0.2-redhat-2]
at org.jbpm.console.ng.ht.backend.server.TaskServiceEntryPointImpl$Proxy$$$_WeldClientProxy.getTasksAssignedAsPotentialOwnerByExpirationDateOptional(TaskServiceEntryPointImpl$Proxy$$$_WeldClientProxy.java) [jbpm-console-ng-human-tasks-backend-6.0.2-redhat-2.jar:6.0.2-redhat-2]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_51]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_51]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_51]
at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_51]
at org.jboss.errai.bus.server.io.AbstractRPCMethodCallback.invokeMethodFromMessage(AbstractRPCMethodCallback.java:48) [errai-bus-2.4.3.Final-redhat-4.jar:2.4.3.Final-redhat-4]
at org.jboss.errai.bus.server.io.ValueReplyRPCEndpointCallback.callback(ValueReplyRPCEndpointCallback.java:22) [errai-bus-2.4.3.Final-redhat-4.jar:2.4.3.Final-redhat-4]
at org.jboss.errai.bus.server.io.RemoteServiceCallback.callback(RemoteServiceCallback.java:54) [errai-bus-2.4.3.Final-redhat-4.jar:2.4.3.Final-redhat-4]
at org.jboss.errai.cdi.server.CDIExtensionPoints$3.callback(CDIExtensionPoints.java:499) [errai-weld-integration-2.4.3.Final-redhat-4.jar:2.4.3.Final-redhat-4]
at org.jboss.errai.bus.server.DeliveryPlan.deliver(DeliveryPlan.java:47) [errai-bus-2.4.3.Final-redhat-4.jar:2.4.3.Final-redhat-4]
at org.jboss.errai.bus.server.ServerMessageBusImpl.sendGlobal(ServerMessageBusImpl.java:284) [errai-bus-2.4.3.Final-redhat-4.jar:2.4.3.Final-redhat-4]
at org.jboss.errai.bus.server.SimpleDispatcher.dispatchGlobal(SimpleDispatcher.java:46) [errai-bus-2.4.3.Final-redhat-4.jar:2.4.3.Final-redhat-4]
at org.jboss.errai.bus.server.service.ErraiServiceImpl.store(ErraiServiceImpl.java:92) [errai-bus-2.4.3.Final-redhat-4.jar:2.4.3.Final-redhat-4]
at org.jboss.errai.bus.server.service.ErraiServiceImpl.store(ErraiServiceImpl.java:109) [errai-bus-2.4.3.Final-redhat-4.jar:2.4.3.Final-redhat-4]
at org.jboss.errai.bus.server.servlet.DefaultBlockingServlet.doPost(DefaultBlockingServlet.java:140) [errai-bus-2.4.3.Final-redhat-4.jar:2.4.3.Final-redhat-4]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:754) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-1]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-1]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.jboss.solder.servlet.exception.CatchExceptionFilter.doFilter(CatchExceptionFilter.java:65) [solder-impl-3.2.1.Final.jar:3.2.1.Final]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.jboss.solder.servlet.event.ServletEventBridgeFilter.doFilter(ServletEventBridgeFilter.java:74) [solder-impl-3.2.1.Final.jar:3.2.1.Final]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.jbpm.designer.web.filter.impl.PluggableFilter.doFilter(PluggableFilter.java:70) [jbpm-designer-backend-6.0.2-redhat-2.jar:6.0.2-redhat-2]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.uberfire.security.server.UberFireSecurityFilter.doFilter(UberFireSecurityFilter.java:266) [uberfire-security-server-0.3.2-redhat-2.jar:0.3.2-redhat-2]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:499) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:408) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]
Caused by: javax.transaction.RollbackException: ARJUNA016083: Can't register synchronization because the transaction is in aborted state
at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.registerSynchronizationImple(TransactionImple.java:370)
at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionSynchronizationRegistryImple.registerInterposedSynchronization(TransactionSynchronizationRegistryImple.java:140)
... 61 more
Version-Release number of selected component (if applicable):
6.0.0 CR2
How reproducible:
always
Steps to Reproduce:
1. create an user called john with role admin
2. create an user called manager with role admin,manager
3. create an user called broker with role admin,broker
4. create an user called appraiser with role admin,appraiser
5. clone the Example App git repo and build the project
6. As user john, starts the process MortgageApplication with values:
Applicant Name = john
Address = Street X
Social Security Number = 1234567894
Income = 10000
Property Sale Price = 200000
Down Payment = 100000
Amortization = 29
7. Click in that process instance just started and view "Process model" - it should be stopped at Data Correction (it has broker as groupId).
8. logout john and login as broker
9. click on Task List
Actual results:
Transaction Exceptions in log and process is stuck
Expected results:
No exceptions and user should be able to see the task assigned to him
Additional info:
After this exception even other processes that have been working becomes unstable, specially those that have hutman tasks assigned to groups. To make them (other processes, not the mortgage) stable again we need to delete the server tmp and data folder.