diff options
Diffstat (limited to 'src/buildtool/execution_engine/executor')
-rw-r--r-- | src/buildtool/execution_engine/executor/executor.hpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/buildtool/execution_engine/executor/executor.hpp b/src/buildtool/execution_engine/executor/executor.hpp index d0bc7aee..097284e1 100644 --- a/src/buildtool/execution_engine/executor/executor.hpp +++ b/src/buildtool/execution_engine/executor/executor.hpp @@ -972,11 +972,17 @@ class Rebuilder { return artifacts_cached.error(); } std::ostringstream msg{}; - for (auto const& [path, info] : *artifacts.value()) { - auto const& info_cached = artifacts_cached.value()->at(path); - if (info != info_cached) { - RecordFlakyAction(&msg, action, path, info, info_cached); + try { + for (auto const& [path, info] : *artifacts.value()) { + auto const& info_cached = + artifacts_cached.value()->at(path); + if (info != info_cached) { + RecordFlakyAction( + &msg, action, path, info, info_cached); + } } + } catch (std::exception const& ex) { + return ex.what(); } if (msg.tellp() > 0) { stats.IncrementActionsFlakyCounter(); |