[Lldb-commits] [lldb] 1bce61e - [lldb] Remove PopPlan asserts and skip test on Arm/AArch64 Linux
David Spickett via lldb-commits
lldb-commits at lists.llvm.org
Thu Dec 14 11:18:34 PST 2023
Author: David Spickett
Date: 2023-12-14T19:17:49Z
New Revision: 1bce61e6b01b38e04260be4f422bbae59c34c766
URL: https://github.com/llvm/llvm-project/commit/1bce61e6b01b38e04260be4f422bbae59c34c766
DIFF: https://github.com/llvm/llvm-project/commit/1bce61e6b01b38e04260be4f422bbae59c34c766.diff
LOG: [lldb] Remove PopPlan asserts and skip test on Arm/AArch64 Linux
This reverts commit 481bb62e50317cf20df9493aad842790162ac3e7 and
71b4d7498ffecca5957fa0a63b1abf141d7b8441, along with the logging
and assert I had added to the test previously.
Now that I've caught it failing on Arm:
https://lab.llvm.org/buildbot/#/builders/17/builds/46598
Now I have enough to investigate, skip the test on the effected
platforms while I do that.
Added:
Modified:
lldb/source/Target/Thread.cpp
lldb/test/API/python_api/global_module_cache/TestGlobalModuleCache.py
Removed:
################################################################################
diff --git a/lldb/source/Target/Thread.cpp b/lldb/source/Target/Thread.cpp
index 4801e3e58d9ef1..865cee97e6d878 100644
--- a/lldb/source/Target/Thread.cpp
+++ b/lldb/source/Target/Thread.cpp
@@ -717,17 +717,6 @@ void Thread::DidResume() {
void Thread::DidStop() { SetState(eStateStopped); }
-#define CHECK_BEFORE_POP_PLAN \
- { \
- uint32_t i = 0; \
- ThreadPlanSP p; \
- while ((p = GetPlans().GetPlanByIndex(i, false))) \
- i++; \
- (void)i; \
- assert(i != 1 && \
- "Cannot pop plan when there is only one plan (the base plan)"); \
- }
-
bool Thread::ShouldStop(Event *event_ptr) {
ThreadPlan *current_plan = GetCurrentPlan();
@@ -842,7 +831,6 @@ bool Thread::ShouldStop(Event *event_ptr) {
do {
if (should_stop)
current_plan->WillStop();
- CHECK_BEFORE_POP_PLAN;
PopPlan();
} while ((current_plan = GetCurrentPlan()) != prev_plan_ptr);
// Now, if the responsible plan was not "Okay to discard" then
@@ -895,7 +883,6 @@ bool Thread::ShouldStop(Event *event_ptr) {
// If a Controlling Plan wants to stop, we let it. Otherwise, see if
// the plan's parent wants to stop.
- CHECK_BEFORE_POP_PLAN;
PopPlan();
if (should_stop && current_plan->IsControllingPlan() &&
!current_plan->OkayToDiscard()) {
@@ -944,7 +931,6 @@ bool Thread::ShouldStop(Event *event_ptr) {
// plan is complete but does not explain the stop (example: step to a
// line with breakpoint), let us move the plan to
// completed_plan_stack anyway
- CHECK_BEFORE_POP_PLAN;
PopPlan();
} else
DiscardPlan();
diff --git a/lldb/test/API/python_api/global_module_cache/TestGlobalModuleCache.py b/lldb/test/API/python_api/global_module_cache/TestGlobalModuleCache.py
index b8675532e6394f..dc736d07d885ef 100644
--- a/lldb/test/API/python_api/global_module_cache/TestGlobalModuleCache.py
+++ b/lldb/test/API/python_api/global_module_cache/TestGlobalModuleCache.py
@@ -34,6 +34,10 @@ def copy_to_main(self, src, dst):
# The rerun tests indicate rerunning on Windows doesn't really work, so
# this one won't either.
@skipIfWindows
+ # On Arm and AArch64 Linux, this test attempts to pop a thread plan when
+ # we only have the base plan remaining. Skip it until we can figure out
+ # the bug this is exposing.
+ @skipIf(oslist=["linux"], archs=["arm", "aarch64"])
def test_OneTargetOneDebugger(self):
self.do_test(True, True)
@@ -50,11 +54,6 @@ def test_OneTargetTwoDebuggers(self):
self.do_test(True, False)
def do_test(self, one_target, one_debugger):
- # Here to debug flakiness on Arm, remove later!
- log_cmd_result = lldb.SBCommandReturnObject()
- interp = self.dbg.GetCommandInterpreter()
- interp.HandleCommand("log enable lldb step", log_cmd_result)
-
# Make sure that if we have one target, and we run, then
# change the binary and rerun, the binary (and any .o files
# if using dwarf in .o file debugging) get removed from the
More information about the lldb-commits
mailing list