Angular Patron Search Can Freeze the Browser

Bug #1959904 reported by Jason Stephenson
12
This bug affects 2 people
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.grp_tree_display_entry table. You can use this along with some faked permissiong.grp_tree entries that you must supply yourself to verify this bug.

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.

Revision history for this message
Jason Stephenson (jstephenson) wrote :
Jeff Godin (jgodin)
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
Revision history for this message
Jason Stephenson (jstephenson) wrote :
Changed in evergreen:
assignee: Jason Stephenson (jstephenson) → nobody
tags: added: pullrequest signedoff
Changed in evergreen:
importance: Undecided → Medium
Revision history for this message
Mike Rylander (mrylander) wrote :

Picked to rel_3_7 through master. Thanks, Jason!

Changed in evergreen:
assignee: nobody → Mike Rylander (mrylander)
status: Confirmed → Fix Committed
assignee: Mike Rylander (mrylander) → nobody
Changed in evergreen:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.