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

Reply via email to