[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#27704] [PATCH] daemon: Show actual rather than collateral error whe
From: |
Jan Nieuwenhuizen |
Subject: |
[bug#27704] [PATCH] daemon: Show actual rather than collateral error when export fails. |
Date: |
Sat, 15 Jul 2017 12:58:51 +0200 |
Having the wrong permissions on /etc/guix/signing-key.sec gives
guix-daemon: nix/libutil/serialise.cc:15: virtual
nix::BufferedSink::~BufferedSink(): Assertion `!bufPos' failed.
this patch changes that to
guix-daemon: error: file `/etc/guix/signing-key.sec' should be secret
(inaccessible to everybody else)!
* nix/nix-daemon/nix-daemon.cc (performOp): Catch any exportPath exception,
report and exit on that. Fixes failing later with uninformative collateral
error.
---
nix/nix-daemon/nix-daemon.cc | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/nix/nix-daemon/nix-daemon.cc b/nix/nix-daemon/nix-daemon.cc
index 7d26b6135..aeeadf144 100644
--- a/nix/nix-daemon/nix-daemon.cc
+++ b/nix/nix-daemon/nix-daemon.cc
@@ -436,7 +436,13 @@ static void performOp(bool trusted, unsigned int
clientVersion,
bool sign = readInt(from) == 1;
startWork();
TunnelSink sink(to);
- store->exportPath(path, sign, sink);
+ try {
+ store->exportPath(path, sign, sink);
+ }
+ catch (std::exception &e) {
+ fprintf (stderr, "guix-daemon: error: %s\n", e.what ());
+ exit (EXIT_FAILURE);
+ }
sink.flush();
stopWork();
writeInt(1, to);
--
Jan Nieuwenhuizen <address@hidden> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
- [bug#27704] [PATCH] daemon: Show actual rather than collateral error when export fails.,
Jan Nieuwenhuizen <=