llvm-project
f2f94597 - [lldb] Protect frame provider construction from re-entrant frame access

Commit
31 days ago
[lldb] Protect frame provider construction from re-entrant frame access When a scripted frame provider calls HandleCommand or other frame-accessing APIs during __init__, GetStackFrameList() re-enters without the re-entrancy guard, causing infinite recursion. On Windows (1MB default stack), this results in a stack overflow (0xC00000FD) before Python's recursion limit can intervene. The existing PushProviderFrameList/PopProviderFrameList guard only protected GetFrameAtIndex calls in FetchFramesUpTo. This wraps the CreateInstance call in LoadScriptedFrameProvider with the same guard so that provider construction is also protected. Signed-off-by: Med Ismail Bennani <ismail@bennani.ma>
Author
Committer
Parents
Loading