llvmbot wrote:

<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-lldb

Author: None (jimingham)

<details>
<summary>Changes</summary>

always using the "frame-format-unique" even when you weren't doing the unique 
backtrace mode.

---
Full diff: https://github.com/llvm/llvm-project/pull/140993.diff


2 Files Affected:

- (modified) lldb/source/Commands/CommandObjectThreadUtil.cpp (+2) 
- (modified) lldb/test/API/functionalities/thread/num_threads/TestNumThreads.py 
(+17-1) 


``````````diff
diff --git a/lldb/source/Commands/CommandObjectThreadUtil.cpp 
b/lldb/source/Commands/CommandObjectThreadUtil.cpp
index cdc5946547f47..a451de137d702 100644
--- a/lldb/source/Commands/CommandObjectThreadUtil.cpp
+++ b/lldb/source/Commands/CommandObjectThreadUtil.cpp
@@ -37,6 +37,8 @@ void CommandObjectIterateOverThreads::DoExecute(Args &command,
   result.SetStatus(m_success_return);
 
   bool all_threads = false;
+  m_unique_stacks = false;
+
   if (command.GetArgumentCount() == 0) {
     Thread *thread = m_exe_ctx.GetThreadPtr();
     if (thread)
diff --git a/lldb/test/API/functionalities/thread/num_threads/TestNumThreads.py 
b/lldb/test/API/functionalities/thread/num_threads/TestNumThreads.py
index ee9b14f15b6e9..40bc2a175c2f9 100644
--- a/lldb/test/API/functionalities/thread/num_threads/TestNumThreads.py
+++ b/lldb/test/API/functionalities/thread/num_threads/TestNumThreads.py
@@ -132,10 +132,26 @@ def is_thread3(thread):
         # Construct our expected back trace string
         expect_string = "10 thread(s)%s" % (expect_threads)
 
+        # There was a bug where if you used 'thread backtrace unique'
+        # we would switch all future backtraces to use the
+        # "frame-format-unique" not the "frame-format".  Make
+        # sure we don't do that...
+        setting_data = self.dbg.GetSetting("frame-format-unique")
+        setting_str = setting_data.GetStringValue(1000)
+        setting_str = "UNIQUE: " + setting_str
+        lldb.SBDebugger.SetInternalVariable("frame-format-unique", 
setting_str, self.dbg.GetInstanceName())
         # Now that we are stopped, we should have 10 threads waiting in the
         # thread3 function. All of these threads should show as one stack.
         self.expect(
             "thread backtrace unique",
             "Backtrace with unique stack shown correctly",
-            substrs=[expect_string, "main.cpp:%d" % 
self.thread3_before_lock_line],
+            substrs=[expect_string, "UNIQUE:", "main.cpp:%d" % 
self.thread3_before_lock_line],
+        )
+        # Make sure setting the unique flag in the command isn't
+        # persistent:
+        self.expect(
+            "thread backtrace",
+            "Backtrace unique is not sticky",
+            substrs=["UNIQUE:"],
+            matching=False
         )

``````````

</details>


https://github.com/llvm/llvm-project/pull/140993
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to