(partially) Revert "Don't copy in rethrow"

This reverts some parts of commit
8430a8f086 which was trying to rethrow
some exceptions while we weren’t in the context of a `catch` block,
causing some weird “terminate called without an active exception”
errors.

Fix #5368
This commit is contained in:
regnat 2021-10-11 10:47:02 +02:00
parent 01e9f046a8
commit 7466048d39
2 changed files with 2 additions and 2 deletions

View file

@ -575,7 +575,7 @@ static Bindings::iterator getAttr(
// Adding another trace for the function name to make it clear // Adding another trace for the function name to make it clear
// which call received wrong arguments. // which call received wrong arguments.
e.addTrace(pos, hintfmt("while invoking '%s'", funcName)); e.addTrace(pos, hintfmt("while invoking '%s'", funcName));
throw; throw e;
} }
} }

View file

@ -948,7 +948,7 @@ void LocalDerivationGoal::startBuilder()
FdSource source(builderOut.readSide.get()); FdSource source(builderOut.readSide.get());
auto ex = readError(source); auto ex = readError(source);
ex.addTrace({}, "while setting up the build environment"); ex.addTrace({}, "while setting up the build environment");
throw; throw ex;
} }
debug("sandbox setup: " + msg); debug("sandbox setup: " + msg);
msgs.push_back(std::move(msg)); msgs.push_back(std::move(msg));