From a36f1b70e6a188ee8bfbe3e5406bbe8c894f587f Mon Sep 17 00:00:00 2001 From: Magnus Enger Date: Wed, 3 May 2023 08:51:14 +0200 Subject: [PATCH] Bug 33649: Fix use of cronlogaction C4::Log::cronlogaction() takes a hashref as argument, with "info" and possibly "action" as keys. But there are a couple of places where it is called with just a string as argument, and that does not work. Both places need lock_exec to fail to trigger the error. I have seen this on a production server, but not been able to reproduce in ktd. To test: - Run this on the Koha repo: grep -r "cronlogaction(" * - Verify that fines.pl and process_message_queue.pl are the only scripts that call cronlogaction without a hashref as argument, but do it like this: cronlogaction( $message ); - Apply this patch - Run the grep again and verify that all calls to cronlogaction now take a hashref as argument Signed-off-by: Nick Clemens Signed-off-by: Jonathan Druart Signed-off-by: Tomas Cohen Arazi (cherry picked from commit 48a2952032bafde7041e7bf10d861e7efeff54fc) Signed-off-by: Martin Renvoize --- misc/cronjobs/fines.pl | 2 +- misc/cronjobs/process_message_queue.pl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/misc/cronjobs/fines.pl b/misc/cronjobs/fines.pl index b141c55723..75adbe0d7a 100755 --- a/misc/cronjobs/fines.pl +++ b/misc/cronjobs/fines.pl @@ -88,7 +88,7 @@ catch { my $message = "Skipping execution of $0 ($_)"; print STDERR "$message\n" if $verbose; - cronlogaction( $message ); + cronlogaction({ info => $message }); exit; }; diff --git a/misc/cronjobs/process_message_queue.pl b/misc/cronjobs/process_message_queue.pl index 9250748908..113f95f8c8 100755 --- a/misc/cronjobs/process_message_queue.pl +++ b/misc/cronjobs/process_message_queue.pl @@ -77,7 +77,7 @@ catch { my $message = "Skipping execution of $0 ($_)"; print STDERR "$message\n" if $verbose; - cronlogaction( $message ); + cronlogaction({ info => $message }); exit; }; -- 2.39.5