[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[no subject]
From: |
Ludovic Courtès |
Date: |
Thu, 16 Nov 2023 17:24:21 -0500 (EST) |
branch: master
commit ba3ea7947ec67e9d9585e40a30d67dbd8115e73c
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Wed Nov 15 23:40:33 2023 +0100
remote-worker: Better guard against server disconnections.
Fixes <https://issues.guix.gnu.org/66980>.
Fixes a bug whereby a worker fiber would exit due to an uncaught
exception, typically when calling ‘finish’.
* src/cuirass/scripts/remote-worker.scm (run-build): Add ‘else’ clause
in ‘guard’ form.
---
src/cuirass/scripts/remote-worker.scm | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/cuirass/scripts/remote-worker.scm
b/src/cuirass/scripts/remote-worker.scm
index d0b4b66..8fa58b2 100644
--- a/src/cuirass/scripts/remote-worker.scm
+++ b/src/cuirass/scripts/remote-worker.scm
@@ -234,6 +234,13 @@ still be substituted."
(guard (c ((store-protocol-error? c)
(log-info (G_ "~a: derivation `~a' build failed: ~a")
name drv (store-protocol-error-message c))
+ (reply (build-failed-message drv local-publish-url)))
+ (else
+ ;; We might get '&nar-error' or EPIPE when the 'cuirass
+ ;; remote-server' process terminates prematurely.
+ (log-error
+ (G_ "~a: unexpected error while building '~a': ~s")
+ name drv c)
(reply (build-failed-message drv local-publish-url))))
(let ((port finish (build-derivations& store (list drv))))
(catch #t
- master updated (eb3f539 -> 7c697ad), Ludovic Courtès, 2023/11/16
- [no subject], Ludovic Courtès, 2023/11/16
- [no subject], Ludovic Courtès, 2023/11/16
- [no subject], Ludovic Courtès, 2023/11/16
- [no subject],
Ludovic Courtès <=
- [no subject], Ludovic Courtès, 2023/11/16
- [no subject], Ludovic Courtès, 2023/11/16
- [no subject], Ludovic Courtès, 2023/11/16