aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2024-02-01 10:47:54 +0100
committerChristopher Baines <mail@cbaines.net>2024-02-01 10:47:54 +0100
commit215a67238a9d9d032dfdaf9b2c2a9780f9985926 (patch)
tree146d18e4512b3530cf7f8d57a882baa5c1ae0f2c
parent7acb38377e68c402258d0fa332469bd0d05b5105 (diff)
downloaddata-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.scm32
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