Angular Patron Search Can Freeze the Browser
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
Fix Released
|
Medium
|
Unassigned | ||
3.7 |
Fix Released
|
Medium
|
Unassigned | ||
3.8 |
Fix Released
|
Medium
|
Unassigned |
Bug Description
Evergreen Versions: Verified on 3.5.3, 3.7.2, and recent master
OpenSRF Version: 3.2.2 (but N/A)
PostgreSQL Version: 10.19 (but N/A)
Server O/S: Ubuntu 18.04 and Ubuntu 20.04 (but N/A)
Browser Version: Chrome 96 & 97, Firefox 96
Angular Patron Search can hang and cause the browser tab to be come unresponsive. There will be a browser process using 100% or more of CPU that must be killed using the O/S or browser task manager. This happens if permission group tree display entries are used, and one of those entries has a parent id that is identical to the group id. This condition causes the code that is searching for the root of the tree to loop endlessly because it is erroneously comparing permission group tree ids to permission group tree display entry ids.
This bug is difficult, or impossible, to find with standard test data from the concerto set. It turned up using CWMARS production data. I am attaching a CSV of our permissiong.
Once you have the appropriate data in place, it is relatively easy to trigger the bug:
1. Perform a search in the Angular staff catalog.
2. Click on Place Hold for any one of the result items.
3. Click on Search for Patron in the place hold screen.
4. Your browser tab should freeze almost instantly.
Changed in evergreen: | |
assignee: | nobody → Jeff Godin (jgodin) |
status: | New → Confirmed |
Changed in evergreen: | |
assignee: | Jeff Godin (jgodin) → Jason Stephenson (jstephenson) |
milestone: | none → 3.9-beta |
Changed in evergreen: | |
importance: | Undecided → Medium |
Changed in evergreen: | |
status: | Fix Committed → Fix Released |
Here's a patch branch that works for CW MARS on Evergreen 3.7.2:
https:/ /git.evergreen- ils.org/ ?p=working/ Evergreen. git;a=shortlog; h=refs/ heads/user/ dyrcona/ lp1959904- compare- pgt-display- entries