While using the userService or groupServiceImpl in an expression to assign parallel multi-instance user tasks to all members of a specific group, an infinite recursion StackOverFlow error is thrown similar to the following:
Steps to reproduce
1. Make sure you have expression language and bean whitelisting disabled
2. Login to activiti-app as admin
3. Via Identity Management -> Users create some users, e.g. userA, userB and userC
4. Via Identity Management -> Organization create a group "test" and add the users you created in previous step as group members
5. Via App Designer create a new process: start event->user task->end event
6. Define the properties for the user task as followed:
NOTE: Above configuration means, that APS should create a new parallel user task, which is assigned to each member of the "test" group.
7. Save process and create and publish an app containing the process
8. From the published app on the landing page, start a new process
9. Inspect the logs
Process starts and there are as many user tasks created as there are members in the group "test". Every group member has one task assigned. There are no errors in the APS logs.
Process starts and there are as many user tasks created as there are members in the group "test". Every group member has one task assigned. The APS logs is full of errors similar to:
Customer also complains that caused by this infinite recursion, in their case it takes up to 18 minutes for all parallel tasks to be created.
- Reproduced with current latest APS 1.9.03 release
- FInd attached an app "multiinstance.zip" that can be used for reproduction after group "test" and members got created
- Instead of just using groupServiceImpl I also tried the following Collection expression
using the userService but ended up with the same infinite recursion issue.
- A general similar issue is described here:
- Would solution be to use smth like
on user and group entities?