From e5cb793d4e1853dd3ae675e3f3bbcf3e4cb58304 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 23 May 2022 19:19:57 +0100 Subject: [PATCH] Raise a clearer exception when a linter crashes --- .../jobs/load-new-guix-revision.scm | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/guix-data-service/jobs/load-new-guix-revision.scm b/guix-data-service/jobs/load-new-guix-revision.scm index bbdc7fc..b7e08b3 100644 --- a/guix-data-service/jobs/load-new-guix-revision.scm +++ b/guix-data-service/jobs/load-new-guix-revision.scm @@ -494,11 +494,19 @@ WHERE job_id = $1") (let* ((package (hashv-ref %package-table package-id)) (warnings (map process-lint-warning - (if (and lint-checker-requires-store?-defined? - (lint-checker-requires-store? checker)) + (with-exception-handler + (lambda (exn) + (simple-format (current-error-port) + "exception checking ~A with ~A checker: ~A\n" + package ',checker-name exn) + (raise-exception exn)) + (lambda () + (if (and lint-checker-requires-store?-defined? + (lint-checker-requires-store? checker)) - (check package #:store store) - (check package))))) + (check package #:store store) + (check package))) + #:unwind? #t)))) (if (null? warnings) #f (cons package-id warnings))))