| Summary: | crash displaying pending offline circulations | ||
|---|---|---|---|
| Product: | Koha | Reporter: | Galen Charlton <gmcharlt> |
| Component: | Circulation | Assignee: | Bugs List <koha-bugs> |
| Status: | CLOSED FIXED | QA Contact: | Testopia <testopia> |
| Severity: | major | ||
| Priority: | P5 - low | CC: | brendan, gmcharlt, jonathan.druart, julian.maurice, kyle, srdjan |
| Version: | Main | Keywords: | regression |
| Hardware: | All | ||
| OS: | All | ||
| GIT URL: | Initiative type: | --- | |
| Sponsorship status: | --- | Comma delimited list of Sponsors: | |
| Crowdfunding goal: | 0 | Patch complexity: | Small patch |
| Documentation contact: | Documentation submission: | ||
| Text to go in the release notes: | Version(s) released in: | ||
| Circulation function: | |||
| Bug Depends on: | 15344 | ||
| Bug Blocks: | |||
| Attachments: |
Bug 16009: fix GetMember() search on NULL/undef values
Bug 16009: fix GetMember() search on NULL/undef values Bug 16009: fix GetMember() search on NULL/undef values |
||
Created attachment 48832 [details] [review] Bug 16009: fix GetMember() search on NULL/undef values This patch fixes a bug whereby GetMember(searchfield => undef) (i.e., searching for patron records where 'searchfield' is NULL) would crash. This fixes a regression introduced by bug 15344 that in turn exposed a long-standing bug in GetMember(). To test: [1] Import some offline circulation transactions that include at least one return. [2] Attempt to view the list of pending transactions; a crash will occur. [3] Apply the patch and view the list of pending transactions again; this time, it should work. Signed-off-by: Galen Charlton <gmcharlt@gmail.com> Bumping severity up as this is a regression. Created attachment 48986 [details] [review] Bug 16009: fix GetMember() search on NULL/undef values This patch fixes a bug whereby GetMember(searchfield => undef) (i.e., searching for patron records where 'searchfield' is NULL) would crash. This fixes a regression introduced by bug 15344 that in turn exposed a long-standing bug in GetMember(). To test: [1] Import some offline circulation transactions that include at least one return. [2] Attempt to view the list of pending transactions; a crash will occur. [3] Apply the patch and view the list of pending transactions again; this time, it should work. Signed-off-by: Galen Charlton <gmcharlt@gmail.com> Signed-off-by: Srdjan <srdjan@catalyst.net.nz> Just an idea, in such situations, maybe have 2 patches: * Tests that fail * Fix (that makes tests pass) Created attachment 49000 [details] [review] Bug 16009: fix GetMember() search on NULL/undef values This patch fixes a bug whereby GetMember(searchfield => undef) (i.e., searching for patron records where 'searchfield' is NULL) would crash. This fixes a regression introduced by bug 15344 that in turn exposed a long-standing bug in GetMember(). To test: [1] Import some offline circulation transactions that include at least one return. [2] Attempt to view the list of pending transactions; a crash will occur. [3] Apply the patch and view the list of pending transactions again; this time, it should work. Signed-off-by: Galen Charlton <gmcharlt@gmail.com> Signed-off-by: Srdjan <srdjan@catalyst.net.nz> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Pushed to Master - Should be in the May 2016 release. Thanks Patch pushed to 3.22.x, will be in 3.22.5 |
Displaying a list of pending offline circulation actions can now fail if the cardnumber is null (as can be the case with a return). The associated crash is: DBD::mysql::st execute failed: called with 1 bind variables when 0 are needed [for Statement "SELECT borrowers.*, categories.category_type, categories.description FROM borrowers LEFT JOIN categories on borrowers.categorycode=categories.categorycode WHERE cardnumber IS NULL"] at /usr/share/koha/lib/C4/Members.pm line 451. This appears to be a consequence of bug 15344; it turns out that GetMemberDetails handled cardnumber => NULL better than GetMember does at present. This looks like it affects master, 3.20.8+, and 3.22.2+