[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
branch master updated: remote-server: Fix fetch worker crash.
From: |
Mathieu Othacehe |
Subject: |
branch master updated: remote-server: Fix fetch worker crash. |
Date: |
Fri, 03 Dec 2021 04:38:35 -0500 |
This is an automated email from the git hooks/post-receive script.
mothacehe pushed a commit to branch master
in repository guix-cuirass.
The following commit(s) were added to refs/heads/master by this push:
new df8837c remote-server: Fix fetch worker crash.
df8837c is described below
commit df8837ce3eedc5d47ec6f3a0088e2c7044087b1c
Author: Mathieu Othacehe <othacehe@gnu.org>
AuthorDate: Fri Dec 3 10:34:23 2021 +0100
remote-server: Fix fetch worker crash.
The fetch workers could crash when trying to register gc-roots for a
derivation that has already been garbage collected.
2021-12-03T03:36:46 fetching
'/gnu/store/kx2ci2h5fif7j4rv6xcfn2gqk0fjjwqy-mtm-1.2.1.drv' from
http://10.0.0.7:5558
In ice-9/eval.scm:
619:8 7 (_ #(#(#<directory (cuirass scripts remote-server) ?> ?)))
619:8 6 (_ #(#(#(#(#(#(#<directory (cuirass scr?> ?)) ?) ?) ?) ?))
619:8 5 (_ #(#(#(#(#(#(#(#(#(#(#(?) ?) ?) ?) ?) ?) ?) ?) ?) ?) ?))
In cuirass/base.scm:
192:15 4 (register-gc-roots "/gnu/store/kx2ci2h5fif7j4rv6xcfn2g?" ?)
In guix/derivations.scm:
549:17 3 (derivation-path->output-paths "/gnu/store/kx2ci2h5fif7?")
In ice-9/ports.scm:
450:11 2 (call-with-input-file "/gnu/store/kx2ci2h5fif7j4rv6xcf?" ?)
In unknown file:
1 (open-file "/gnu/store/kx2ci2h5fif7j4rv6xcfn2gqk0fjjwq?" ?)
In ice-9/boot-9.scm:
1685:16 0 (raise-exception _ #:continuable? _)
ice-9/boot-9.scm:1685:16: In procedure raise-exception:
In procedure open-file: No such file or directory:
"/gnu/store/kx2ci2h5fif7j4rv6xcfn2gqk0fjjwqy-mtm-1.2.1.drv"
Do not try to register the derivation outputs in that case.
* src/cuirass/scripts/remote-server.scm (run-fetch): Check if the derivation
still exists before trying to register its outputs.
---
src/cuirass/scripts/remote-server.scm | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/cuirass/scripts/remote-server.scm
b/src/cuirass/scripts/remote-server.scm
index 4fd11ee..ece8ba3 100644
--- a/src/cuirass/scripts/remote-server.scm
+++ b/src/cuirass/scripts/remote-server.scm
@@ -376,7 +376,10 @@ directory."
(when (> duration 60)
(log-message "fetching '~a' took ~a seconds."
drv duration)))))
- (register-gc-roots drv)
+ ;; The derivation may have been GC'ed by that time. Do not try to
+ ;; register its outputs in that case.
+ (when (file-exists? drv)
+ (register-gc-roots drv))
;; Force the baking of the NAR substitutes so that the first client
;; doesn't receive a 404 error.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- branch master updated: remote-server: Fix fetch worker crash.,
Mathieu Othacehe <=