================
@@ -594,7 +643,7 @@ StackFrameSP StackFrameList::GetFrameAtIndex(uint32_t idx) {
   // GetFramesUpTo will fill m_frames with as many frames as you asked for, if
   // there are that many.  If there weren't then you asked for too many frames.
   // GetFramesUpTo returns true if interrupted:
-  if (GetFramesUpTo(idx)) {
+  if (GetFramesUpTo(idx, AllowInterruption, guard)) {
     Log *log = GetLog(LLDBLog::Thread);
     LLDB_LOG(log, "GetFrameAtIndex was interrupted");
     return {};
----------------
jimingham wrote:

You have sharp eyes, thanks!  I missed that code.  It's based on a false 
premise (GetFramesUpTo fills the stack frames up to the depth requested in both 
the "concrete frames only" case and the "inlined frames".  So this code is 
redundant (and will always find the required frames filled by the time you get 
to it.)
However, that issue is a bit moot, as it turns out.  You can only make a 
"concrete frames only" StackFrameList at construction time by passing true to 
the `show_inlined_frames` argument.  Nowhere in lldb is that passed as false, 
and I can't see evidence that we ever made that possible.  It is also entirely 
untested.
I've deleted this code in the patch.
We should probably also discuss whether we need to preserve this 
"OnlyConcreteFrames" stack feature given that we haven't used it pretty much 
forever so far as I can see.

https://github.com/llvm/llvm-project/pull/117252
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to