[Lldb-commits] [PATCH] D134927: Make the sanitizer Notify callbacks asynchronous

Jim Ingham via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Fri Sep 30 17:00:55 PDT 2022


jingham added a comment.

I had to fix one other thing.  I had arbitrarily made the decision that if an internal breakpoint was hit while running an expression we should stop before running its callbacks.  At the time we only had internal breakpoints with sync callbacks (again mostly dynamic loader plugins) so there wasn't really an example to reason on.  But with these sanitizer ones now async, we can hit this issue.  The problem with hitting a breakpoint while running an expression is that those breakpoint commands could run the target in arbitrary ways, which could hit this breakpoint, and then call other commands, etc, and right now the Command Interpreter can only be invoked recursively with some care, so I outlaw that.  But I think it's better for internal breakpoints to let their callbacks run, and leave it up to the callback how it wants to do its business.  In the case of the sanitizers, they just don't run their reports if there's a sanitizer issue while calling a function, in other cases we're just reading memory, etc.

So I added that change to StopInfo, and updated the patch.  I'll let it sit for a bit in case anyone wants to have a look.  I also made variables for the "false" I was passing to SetCallback as Jonas suggested.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D134927/new/

https://reviews.llvm.org/D134927



More information about the lldb-commits mailing list