Red Hat Bugzilla – Bug 1269969
ConcurrentRefUpdateException when selecting first version of a process
Last modified: 2018-01-30 18:39:29 EST
Created attachment 1081054 [details]
Description of problem:
When user selects the first version of a process in the Designer (via Overview -> Version history), the editor freezes, fails to load. All subsequent attempts at opening a process in the Designer fail. The server log shows a ConcurrentRefUpdateException from jgit.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Create a new business process.
2. Add an end node to the start node already present. Save and close the Designer.
3. Reopen the process in the Designer, switch to Overview, Version History.
4. Select the first version of the process.
Designer switches to the Editor tab but the process does not load. Closing and reopening the process does not help. No other process opens in the Designer.
Server log contains ConcurrentRefUpdateException.
Designer loads and displays correctly the first version of the process, without getting stuck. There is no exception in the server log, other processes can be opened in the Designer.
Hi I am unable to reproduce this issue. Could you by any chance provide your repository so I can test locally? Thanks!
Testing on local builds of the workbench 6.3.x with designer 6.3.x this issue does not happen (with new or provided repo). Video attached. Please let me know how I can better reproduce this.
Created attachment 1086357 [details]
trying to reproduce
Root of problem -- Designer creates the bpmn2 asset in the repository before it creates a number of helper assets such as color themes, default workitem icons etc. When reverting to the first commit those helper assets are not available within the file system seen and Designer fails to load.
Note on testing -- In order to test you should first create a new project and test inside this new project. You will not be able to test the fix on the default evaluation bpmn2 asset inside the Evaluation project. The reason for this is that the default repository that gets loaded is initially created by creating projects and assets and this was done before this fix. The default repository should be re-created at some point with a version of the workbench which includes Designer that has this fix but IMO this should be done in a separate BZ.
Note for testing (2): This fix fixed the selection and the "Revert"functionality in both the Overview widget *as well as* the Versions dropdown in the nav bar. Both had the same issue with selecting the first version and both should be tested.
How to test:
1) Create a new Project
2) Create a new process asset in this new project
3) Change created process and save + close it
4) Reopen and from the Versions dropdown select the first version - process first version should be opened - the Save button changes to Revert - press the revert button and process should be saved correctly
5) Repeat step 4 however instead of using the Version dropdown, click on the Overview tab and select the first version of the process there. Save thing - the process first version should be loaded and press Revert to save .
Now everything works as intended. Verified with 6.2.0.ER5.
Created attachment 1118388 [details]
I have to reopen this issue after more precise investigating.
Problem is still reproducible on 6.2.1.GA
Please follow these steps:
1. Create new organizational unit: myUnit
2. Create new repository myRepository, inside of myUnit
3. Crete new project myProject inside of myRepository
4. Create new business process myProcess inside of myProject
! but choose package "myunit.myproject" !
! do not choose <default> package !
5. Append EndEvent to StartEvent of myProcess
6. Save, Close and Reopen myProcess
7. Select Overview tab
8. Select initial version of myProcess
9. In server log will be: ConcurrentRefUpdateException attachment 1118388 [details]
10. Click Restore button
11. There will be message 'Unable to save' after ~10 seconds
In general there is problem with process version management.
If is user modeling some process, he can save his work more time without closing designer. But in this case, there is still only initial version of process under button for version change.
When is process closed and reopened, button for version change offers all older versions of process properly. But then if is selected older version and clicked Restore button, Restore button is not changed back to Save button and button for version change is not changed to 'Latest Version'
Another way to meet this problem:
1. In any OrgUnit, package, project Create Business Process (BP).
2. Make some changes and save it
3. Reopen BP (see bug 1273056)
4. Make some changes
5. Without saving select older version
6. Change it
7. Without saving select newer version
8. Again change it
9. Without saving select older version
10. Browser is not answer any more.
11. Close browser and open again
12. Log in and go to Authoring Perspective
You can not create, delete, save, rename, copy BP. Some times it is also not possible to open BP.
The only way to continue work is server restart. (which is not possible with CTRL+C, I am using "kill -9" command for server shutdown)
P.S. Still valid for 6.3.0 DR1
Due to the intermittent nature of the issue, I am removing the blocker flag and will propose this for 6.3.1.
Fixed on master:
The use-case in Comment10 worked even before this commit, probably because of a change in the underlying handling of resources by uberfire.
The case in Comment11 is fixed because when the user selects a previous version in the Overview tab, the version is opened in read-only mode (whereas previously it was editable).
This commit also fixes the problem where if you select a previous version of a BP, then hit "Restore", the "Restore" button didn't change back to "Save".
Also fixed on 6.4.x, as this is the same fix as for BZ1310712: