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 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits