forked from lix-project/lix
Add a trace to readLine() failures
Hopefully this helps to diagnose 'error: unexpected EOF reading a line' on macOS.
This commit is contained in:
parent
a487d42101
commit
0187838e2e
|
@ -1044,7 +1044,14 @@ HookReply DerivationGoal::tryBuildHook()
|
||||||
whether the hook wishes to perform the build. */
|
whether the hook wishes to perform the build. */
|
||||||
string reply;
|
string reply;
|
||||||
while (true) {
|
while (true) {
|
||||||
string s = readLine(worker.hook->fromHook.readSide.get());
|
auto s = [&]() {
|
||||||
|
try {
|
||||||
|
return readLine(worker.hook->fromHook.readSide.get());
|
||||||
|
} catch (Error & e) {
|
||||||
|
e.addTrace({}, "while reading the response from the build hook");
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
}();
|
||||||
if (handleJSONLogMessage(s, worker.act, worker.hook->activities, true))
|
if (handleJSONLogMessage(s, worker.act, worker.hook->activities, true))
|
||||||
;
|
;
|
||||||
else if (string(s, 0, 2) == "# ") {
|
else if (string(s, 0, 2) == "# ") {
|
||||||
|
@ -1084,7 +1091,12 @@ HookReply DerivationGoal::tryBuildHook()
|
||||||
|
|
||||||
hook = std::move(worker.hook);
|
hook = std::move(worker.hook);
|
||||||
|
|
||||||
machineName = readLine(hook->fromHook.readSide.get());
|
try {
|
||||||
|
machineName = readLine(hook->fromHook.readSide.get());
|
||||||
|
} catch (Error & e) {
|
||||||
|
e.addTrace({}, "while reading the machine name from the build hook");
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
|
||||||
/* Tell the hook all the inputs that have to be copied to the
|
/* Tell the hook all the inputs that have to be copied to the
|
||||||
remote system. */
|
remote system. */
|
||||||
|
@ -1773,7 +1785,14 @@ void DerivationGoal::startBuilder()
|
||||||
|
|
||||||
/* Check if setting up the build environment failed. */
|
/* Check if setting up the build environment failed. */
|
||||||
while (true) {
|
while (true) {
|
||||||
string msg = readLine(builderOut.readSide.get());
|
string msg = [&]() {
|
||||||
|
try {
|
||||||
|
return readLine(builderOut.readSide.get());
|
||||||
|
} catch (Error & e) {
|
||||||
|
e.addTrace({}, "while reading the response of setting up the build environment");
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
}();
|
||||||
if (string(msg, 0, 1) == "\2") break;
|
if (string(msg, 0, 1) == "\2") break;
|
||||||
if (string(msg, 0, 1) == "\1") {
|
if (string(msg, 0, 1) == "\1") {
|
||||||
FdSource source(builderOut.readSide.get());
|
FdSource source(builderOut.readSide.get());
|
||||||
|
|
|
@ -21,6 +21,7 @@ experimental-features = nix-command flakes
|
||||||
gc-reserved-space = 0
|
gc-reserved-space = 0
|
||||||
substituters =
|
substituters =
|
||||||
flake-registry = $TEST_ROOT/registry.json
|
flake-registry = $TEST_ROOT/registry.json
|
||||||
|
show-trace = true
|
||||||
include nix.conf.extra
|
include nix.conf.extra
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue