[Lldb-commits] [lldb] Make stop-hooks fire when lldb first gains control of a process. (PR #137410)

Prabhu Rajasekaran via lldb-commits lldb-commits at lists.llvm.org
Mon Jun 2 15:14:24 PDT 2025


Prabhuk wrote:

My team builds lldb on linux X64 and running into a test failure since this patch had landed.
Builder link: https://luci-milo.appspot.com/ui/p/fuchsia/builders/toolchain.ci/lldb-linux-x64/b8713139267610948369/overview

I am taking a closer look. CC: @mysterymath 


```
FAIL: lldb-api :: commands/target/stop-hooks/TestStopHookScripted.py (285 of 2899)
******************** TEST 'lldb-api :: commands/target/stop-hooks/TestStopHookScripted.py' FAILED ********************
Script:
--
/b/s/w/ir/x/w/install-cpython-x86_64-linux-gnu/bin/python3 /b/s/w/ir/x/w/llvm-llvm-project/lldb/test/API/dotest.py -u CXXFLAGS -u CFLAGS --env LLVM_LIBS_DIR=/b/s/w/ir/x/w/llvm_build/./lib --env LLVM_INCLUDE_DIR=/b/s/w/ir/x/w/llvm_build/include --env LLVM_TOOLS_DIR=/b/s/w/ir/x/w/llvm_build/./bin --arch x86_64 --build-dir /b/s/w/ir/x/w/llvm_build/lldb-test-build.noindex --lldb-module-cache-dir /b/s/w/ir/x/w/llvm_build/lldb-test-build.noindex/module-cache-lldb/lldb-api --clang-module-cache-dir /b/s/w/ir/x/w/llvm_build/lldb-test-build.noindex/module-cache-clang/lldb-api --executable /b/s/w/ir/x/w/llvm_build/./bin/lldb --compiler /b/s/w/ir/x/w/cipd/clang/bin/clang --dsymutil /b/s/w/ir/x/w/llvm_build/./bin/dsymutil --make /b/s/w/ir/x/w/cipd/bin/make --llvm-tools-dir /b/s/w/ir/x/w/llvm_build/./bin --lldb-obj-root /b/s/w/ir/x/w/llvm_build/tools/lldb --lldb-libs-dir /b/s/w/ir/x/w/llvm_build/./lib --cmake-build-type Release --skip-category=pexpect /b/s/w/ir/x/w/llvm-llvm-project/lldb/test/API/commands/target/stop-hooks -p TestStopHookScripted.py
--
Exit Code: 1

Command Output (stdout):
--
lldb version 21.0.0git (https://llvm.googlesource.com/a/llvm-project revision d313c09b288c31f93819408048b0b64ca5c5fc2b)
  clang revision d313c09b288c31f93819408048b0b64ca5c5fc2b
  llvm revision d313c09b288c31f93819408048b0b64ca5c5fc2b
I have stopped 1 times.
Returning value: 1 from handle_stop.
I have stopped 1 times.
Returning value: 1 from handle_stop.
I have stopped 2 times.
Returning value: 1 from handle_stop.
I have stopped 1 times.
Returning value: 1 from handle_stop.
I have stopped 2 times.
Returning value: 1 from handle_stop.
I have stopped 1 times.
Returning value: 0 from handle_stop.
I have stopped 2 times.
Error running expression: can't evaluate expressions when the process is running.Returning value: 0 from handle_stop.
I have stopped 1 times.
Returning value: 1 from handle_stop.
I have stopped 2 times.
Returning value: 1 from handle_stop.
I have stopped 1 times.
Returning value: 1 from handle_stop.
I have stopped 1 times.
Returning value: 1 from handle_stop.
Skipping the following test categories: ['pexpect', 'dsym', 'gmodules', 'debugserver', 'objc']
I am okay
I am okay

--
Command Output (stderr):
--
PASS: LLDB (/b/s/w/ir/x/w/cipd/clang/bin/clang-x86_64) :: test_bad_handler (TestStopHookScripted.TestStopHooks.test_bad_handler)
PASS: LLDB (/b/s/w/ir/x/w/cipd/clang/bin/clang-x86_64) :: test_stop_hooks_scripted (TestStopHookScripted.TestStopHooks.test_stop_hooks_scripted)
FAIL: LLDB (/b/s/w/ir/x/w/cipd/clang/bin/clang-x86_64) :: test_stop_hooks_scripted_auto_continue (TestStopHookScripted.TestStopHooks.test_stop_hooks_scripted_auto_continue)
PASS: LLDB (/b/s/w/ir/x/w/cipd/clang/bin/clang-x86_64) :: test_stop_hooks_scripted_no_entry (TestStopHookScripted.TestStopHooks.test_stop_hooks_scripted_no_entry)
PASS: LLDB (/b/s/w/ir/x/w/cipd/clang/bin/clang-x86_64) :: test_stop_hooks_scripted_return_false (TestStopHookScripted.TestStopHooks.test_stop_hooks_scripted_return_false)
FAIL: LLDB (/b/s/w/ir/x/w/cipd/clang/bin/clang-x86_64) :: test_stop_hooks_scripted_right_func (TestStopHookScripted.TestStopHooks.test_stop_hooks_scripted_right_func)
PASS: LLDB (/b/s/w/ir/x/w/cipd/clang/bin/clang-x86_64) :: test_stop_hooks_scripted_right_lines (TestStopHookScripted.TestStopHooks.test_stop_hooks_scripted_right_lines)
FAIL: LLDB (/b/s/w/ir/x/w/cipd/clang/bin/clang-x86_64) :: test_stop_hooks_scripted_wrong_func (TestStopHookScripted.TestStopHooks.test_stop_hooks_scripted_wrong_func)
PASS: LLDB (/b/s/w/ir/x/w/cipd/clang/bin/clang-x86_64) :: test_stop_hooks_scripted_wrong_lines (TestStopHookScripted.TestStopHooks.test_stop_hooks_scripted_wrong_lines)
======================================================================
FAIL: test_stop_hooks_scripted_auto_continue (TestStopHookScripted.TestStopHooks.test_stop_hooks_scripted_auto_continue)
   Test that the --auto-continue flag works
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/b/s/w/ir/x/w/llvm-llvm-project/lldb/test/API/commands/target/stop-hooks/TestStopHookScripted.py", line 77, in test_stop_hooks_scripted_auto_continue
    self.do_test_auto_continue(False)
  File "/b/s/w/ir/x/w/llvm-llvm-project/lldb/test/API/commands/target/stop-hooks/TestStopHookScripted.py", line 118, in do_test_auto_continue
    self.assertEqual(var.GetValueAsUnsigned(), 6, "Updated g_var")
AssertionError: 11 != 6 : Updated g_var
Config=x86_64-/b/s/w/ir/x/w/cipd/clang/bin/clang
======================================================================
FAIL: test_stop_hooks_scripted_right_func (TestStopHookScripted.TestStopHooks.test_stop_hooks_scripted_right_func)
   Test that a scripted stop hook fires when there is a function match
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/b/s/w/ir/x/w/llvm-llvm-project/lldb/test/API/commands/target/stop-hooks/TestStopHookScripted.py", line 61, in test_stop_hooks_scripted_right_func
    self.stop_hooks_scripted(5, "-n step_out_of_me")
  File "/b/s/w/ir/x/w/llvm-llvm-project/lldb/test/API/commands/target/stop-hooks/TestStopHookScripted.py", line 164, in stop_hooks_scripted
    self.assertEqual(var.GetValueAsUnsigned(), g_var_value, "Updated g_var")
AssertionError: 10 != 5 : Updated g_var
Config=x86_64-/b/s/w/ir/x/w/cipd/clang/bin/clang
======================================================================
FAIL: test_stop_hooks_scripted_wrong_func (TestStopHookScripted.TestStopHooks.test_stop_hooks_scripted_wrong_func)
   Test that a scripted stop hook doesn't fire when the function does not match
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/b/s/w/ir/x/w/llvm-llvm-project/lldb/test/API/commands/target/stop-hooks/TestStopHookScripted.py", line 65, in test_stop_hooks_scripted_wrong_func
    self.stop_hooks_scripted(0, "-n main")
  File "/b/s/w/ir/x/w/llvm-llvm-project/lldb/test/API/commands/target/stop-hooks/TestStopHookScripted.py", line 164, in stop_hooks_scripted
    self.assertEqual(var.GetValueAsUnsigned(), g_var_value, "Updated g_var")
AssertionError: 5 != 0 : Updated g_var
Config=x86_64-/b/s/w/ir/x/w/cipd/clang/bin/clang
----------------------------------------------------------------------
Ran 9 tests in 1.535s

FAILED (failures=3)

--

```





https://github.com/llvm/llvm-project/pull/137410


More information about the lldb-commits mailing list