wallace updated this revision to Diff 313997. wallace added a comment. Updated the description of the diff. It was actually very easy to find a deterministic reproduction of the failure. And the diff is actually minimal now.
Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D93874/new/ https://reviews.llvm.org/D93874 Files: lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp lldb/test/API/functionalities/exec/TestExec.py Index: lldb/test/API/functionalities/exec/TestExec.py =================================================================== --- lldb/test/API/functionalities/exec/TestExec.py +++ lldb/test/API/functionalities/exec/TestExec.py @@ -88,6 +88,10 @@ int_value = value.GetValueAsSigned() self.assertTrue(int_value == 3, "Expression got the right result.") + # Single step to create a thread plan. We have to make sure that after exec + # we clear all existing thread plans. + thread.StepInto() + # Run and we should stop due to exec process.Continue() Index: lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp =================================================================== --- lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp +++ lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp @@ -2613,6 +2613,7 @@ m_thread_list_real.Clear(); m_thread_list.Clear(); + m_thread_plans.Clear(); BuildDynamicRegisterInfo(true); m_gdb_comm.ResetDiscoverableSettings(did_exec); }
Index: lldb/test/API/functionalities/exec/TestExec.py =================================================================== --- lldb/test/API/functionalities/exec/TestExec.py +++ lldb/test/API/functionalities/exec/TestExec.py @@ -88,6 +88,10 @@ int_value = value.GetValueAsSigned() self.assertTrue(int_value == 3, "Expression got the right result.") + # Single step to create a thread plan. We have to make sure that after exec + # we clear all existing thread plans. + thread.StepInto() + # Run and we should stop due to exec process.Continue() Index: lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp =================================================================== --- lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp +++ lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp @@ -2613,6 +2613,7 @@ m_thread_list_real.Clear(); m_thread_list.Clear(); + m_thread_plans.Clear(); BuildDynamicRegisterInfo(true); m_gdb_comm.ResetDiscoverableSettings(did_exec); }
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits