labath added a comment. In D90987#2383141 <https://reviews.llvm.org/D90987#2383141>, @JDevlieghere wrote:
> In D90987#2381853 <https://reviews.llvm.org/D90987#2381853>, @labath wrote: > >> I wonder if there's a way to add some consistency checks into the (active) >> replay machinery. Like, maybe we could, for each function that returns an >> SBError, record a flag saying whether that error was in a success state or >> not. Then if this flag differs during replay, we know that we have started >> to diverge and can stop replaying (or at least give a very loud warning >> about it). > > On the one hand I like the idea of detecting divergence early, but on the > other hand I don't like special-casing something for SBError. There's a bunch > of function that return a boolean and some that got error handling after the > fact through and overload with an in-out parameter. A more generic approach > could be a way to checkpoint the "object registry" an give (some of) the SB > classes a private method that returns a "hash" (whatever that means for the > reproducers, for an SBError that could be success or not, but for a target or > a process it could be whether it's connected) and then have the reproducers > periodically compare the state of the registry against that in the reproducer. I like that idea. ================ Comment at: lldb/source/API/SystemInitializerFull.cpp:46 + if (repro::Reproducer::Instance().IsReplaying()) + std::_Exit(EXIT_FAILURE); + return error; ---------------- labath wrote: > Print the error that has happened? maybe via `report_fatal_error` ? Btw, there's a new report_fatal_error overload taking an llvm::Error -- I meant to use that one :) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D90987/new/ https://reviews.llvm.org/D90987 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits