[Lldb-commits] [lldb] a8af51d - [lldb][test] Skip global module cache on Arm/AArch64 Linux (again)
David Spickett via lldb-commits
lldb-commits at lists.llvm.org
Wed Dec 20 05:57:03 PST 2023
Author: David Spickett
Date: 2023-12-20T13:56:40Z
New Revision: a8af51dfa54c4d66a25fafb79dd8fbf00c98be59
URL: https://github.com/llvm/llvm-project/commit/a8af51dfa54c4d66a25fafb79dd8fbf00c98be59
DIFF: https://github.com/llvm/llvm-project/commit/a8af51dfa54c4d66a25fafb79dd8fbf00c98be59.diff
LOG: [lldb][test] Skip global module cache on Arm/AArch64 Linux (again)
This reverts commit 01c4ecb7ae21a61312ff0c0176c0ab9f8656c159,
d14d52158bc444e2d036067305cf54aeea7c9edb and
a756dc4724a279d76898bacd054a04832b02caa8.
This removes the logging and workaround I added earlier,
and puts back the skip for Arm/AArch64 Linux.
I've not seen it fail on AArch64 since, but let's not create
more noise if it does.
I've written up the issue as https://github.com/llvm/llvm-project/issues/76057.
It's something to do with trying to destroy a process while
a thread is doing a single sep. So my workaround wouldn't have
worked in any case. It needs a more involved fix.
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 cbfb323f6d9271..865cee97e6d878 100644
--- a/lldb/source/Target/Thread.cpp
+++ b/lldb/source/Target/Thread.cpp
@@ -883,18 +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.
- // Temporary logging to figure out a crash on Arm/AArch64 Linux.
- {
- LLDB_LOGF(log, "^^^^^^^^ Thread::ShouldStop plan stack before "
- "PopPlan ^^^^^^^^");
- StreamString s;
- s.IndentMore();
- GetProcess()->DumpThreadPlansForTID(
- s, GetID(), eDescriptionLevelVerbose, true /* internal */,
- false /* condense_trivial */, true /* skip_unreported */);
- LLDB_LOG(log, s.GetData());
- }
-
PopPlan();
if (should_stop && current_plan->IsControllingPlan() &&
!current_plan->OkayToDiscard()) {
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..6bb22c46efb443 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 (https://github.com/llvm/llvm-project/issues/76057).
+ @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