diff options
author | Christopher Baines <mail@cbaines.net> | 2024-02-01 10:47:54 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2024-02-01 10:47:54 +0100 |
commit | 215a67238a9d9d032dfdaf9b2c2a9780f9985926 (patch) | |
tree | 146d18e4512b3530cf7f8d57a882baa5c1ae0f2c | |
parent | 7acb38377e68c402258d0fa332469bd0d05b5105 (diff) | |
download | data-service-215a67238a9d9d032dfdaf9b2c2a9780f9985926.tar data-service-215a67238a9d9d032dfdaf9b2c2a9780f9985926.tar.gz |
Ignore inferior-protocol-error when computing channel instances
Since this seems to happen for i586-gnu for core-updates currently and I can't
seem to reproduce the issue locally or work out what's wrong.
-rw-r--r-- | guix-data-service/jobs/load-new-guix-revision.scm | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/guix-data-service/jobs/load-new-guix-revision.scm b/guix-data-service/jobs/load-new-guix-revision.scm index d943c9f..7fc57f7 100644 --- a/guix-data-service/jobs/load-new-guix-revision.scm +++ b/guix-data-service/jobs/load-new-guix-revision.scm @@ -1184,18 +1184,28 @@ (with-resource-from-pool inferior-and-store-pool res (match res ((inferior . inferior-store) - (with-throw-handler #t + (with-exception-handler + (lambda (exn) + (if (inferior-protocol-error? exn) + (simple-format (current-error-port) + "ignoring ~A for ~A\n" + exn + system) + (raise-exception exn))) (lambda () - (cons system - (inferior-eval-with-store/non-blocking - inferior - inferior-store - (inferior-code channel-instance system)))) - (lambda _ - (simple-format - (current-error-port) - "failed to compute channel instance derivation for ~A\n" - system))))))) + (with-throw-handler #t + (lambda () + (cons system + (inferior-eval-with-store/non-blocking + inferior + inferior-store + (inferior-code channel-instance system)))) + (lambda _ + (simple-format + (current-error-port) + "failed to compute channel instance derivation for ~A\n" + system)))) + #:unwind? #t))))) systems))) (for-each |