aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guix/store.scm5
1 files changed, 4 insertions, 1 deletions
diff --git a/guix/store.scm b/guix/store.scm
index b1b60babf0..b82588b2a0 100644
--- a/guix/store.scm
+++ b/guix/store.scm
@@ -336,7 +336,10 @@ encoding conversion errors."
#f))
((= k %stderr-error)
(let ((error (read-latin1-string p))
- (status (if (>= (nix-server-minor-version server) 8)
+ ;; Currently the daemon fails to send a status code for early
+ ;; errors like DB schema version mismatches, so check for EOF.
+ (status (if (and (>= (nix-server-minor-version server) 8)
+ (not (eof-object? (lookahead-u8 p))))
(read-int p)
1)))
(raise (condition (&nix-protocol-error