Merge pull request #729 from samueldr/fix/error-transmission

hydra-eval-jobs: Mirror eval errors in STDERR
This commit is contained in:
Eelco Dolstra 2020-03-31 09:04:32 +02:00 committed by GitHub
commit 082dbdb922
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -200,7 +200,12 @@ static void worker(
else throw TypeError("attribute '%s' is %s, which is not supported", attrPath, showType(*v));
} catch (EvalError & e) {
// Transmits the error we got from the previous evaluation
// in the JSON output.
reply["error"] = filterANSIEscapes(e.msg(), true);
// Don't forget to print it into the STDERR log, this is
// what's shown in the Hydra UI.
printError("error: %s", reply["error"]);
}
writeLine(to.get(), reply.dump());
@ -286,6 +291,9 @@ int main(int argc, char * * argv)
nlohmann::json err;
err["error"] = e.what();
writeLine(to->get(), err.dump());
// Don't forget to print it into the STDERR log, this is
// what's shown in the Hydra UI.
printError("error: %s", err["error"]);
}
},
ProcessOptions { .allowVfork = false });