From ce870d8c50be54c38084c298f7f3bd1dea43da9e Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Thu, 6 Nov 2025 13:29:54 +0000 Subject: [PATCH] Bug 41205: Skip undef records in Z39 response Content-Type: text/plain; charset=utf-8 This patch simply skips undefined records - this prevents the error though it doesn't explain why we get undef records here and a Z39 search from standard cataloging just returns nothing. This prevents a breakage of the search. To test: 1 - Have LOC defined as a Z39 Source (standard in KTD) 2 - Open the advanced editor 3 - Search for ISBN 9780520401129 4 - Search explodes, logs like: AH01215: stderr from /kohadevbox/koha/svc/cataloguing/metasearch: Can't call method "raw" on an undefined value at /kohadevbox/koha/Koha/MetaSearcher.pm line 267., referer: http://localhost:8081/cgi-bin/koha/cataloguing/editor.pl AH01215: stderr from /kohadevbox/koha/svc/cataloguing/metasearch: Magic number checking on storable file failed at /usr/lib/x86_64-linux-gnu/perl/5.36/Storable.pm line 443, at /kohadevbox/koha/Koha/MetaSearcher.pm line 144., referer: http://localhost:8081/cgi-bin/koha/cataloguing/editor.pl 5 - Must refresh the page to clear the bad error message 6 - Apply patch 7 - Repeat search - no results, LOC says 'Permanent system error' 8 - You can close the results and do a new search Signed-off-by: Phil Ringnalda Signed-off-by: Marcel de Rooy --- Koha/MetaSearcher.pm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Koha/MetaSearcher.pm b/Koha/MetaSearcher.pm index c40ce19bd2..12f0c74acc 100644 --- a/Koha/MetaSearcher.pm +++ b/Koha/MetaSearcher.pm @@ -262,8 +262,7 @@ sub _start_worker { } else { $num_hits = $results->size; $num_fetched = ( $self->{offset} + $self->{fetch} ) < $num_hits ? $self->{fetch} : $num_hits; - - $hits = [ map { $_->raw() } @{ $results->records( $self->{offset}, $num_fetched, 1 ) } ]; + $hits = [ map { $_->raw() } grep { defined } @{ $results->records( $self->{offset}, $num_fetched, 1 ) } ]; } if ( !@$hits && $connection && $connection->exception() ) { -- 2.39.5