diff --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp index d2aac468c2b2..6edb9390d990 100644 --- a/lldb/source/Target/Process.cpp +++ b/lldb/source/Target/Process.cpp @@ -5418,6 +5418,7 @@ Process::RunThreadPlan (ExecutionContext &exe_ctx, if (GetThreadList().SetSelectedThreadByIndexID (selected_tid) && selected_stack_id.IsValid()) { // We were able to restore the selected thread, now restore the frame: + Mutex::Locker lock(GetThreadList().GetMutex()); StackFrameSP old_frame_sp = GetThreadList().GetSelectedThread()->GetFrameWithStackID(selected_stack_id); if (old_frame_sp) GetThreadList().GetSelectedThread()->SetSelectedFrame(old_frame_sp.get());