[all-commits] [llvm/llvm-project] e95488: [lldb] Fix assert when `target frame-provider regi...

Med Ismail Bennani via All-commits all-commits at lists.llvm.org
Wed Jul 8 08:26:15 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e9548835fdd84200969b959472d55454d597dfd7
      https://github.com/llvm/llvm-project/commit/e9548835fdd84200969b959472d55454d597dfd7
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2026-07-08 (Wed, 08 Jul 2026)

  Changed paths:
    M lldb/source/Commands/CommandObjectTarget.cpp
    A lldb/test/API/functionalities/scripted_frame_provider/register_command_status/Makefile
    A lldb/test/API/functionalities/scripted_frame_provider/register_command_status/TestFrameProviderRegisterCommandStatus.py
    A lldb/test/API/functionalities/scripted_frame_provider/register_command_status/frame_provider.py
    A lldb/test/API/functionalities/scripted_frame_provider/register_command_status/main.c

  Log Message:
  -----------
  [lldb] Fix assert when `target frame-provider register` succeeds (#208232)

`CommandObjectTargetFrameProviderRegister::DoExecute` never called
`CommandReturnObject::SetStatus()` on its success path.
`CommandObject.cpp` has a `DoExecuteStatusCheck` RAII guard that resets
the result's status to `eReturnStatusInvalid` before `DoExecute` runs,
and asserts on exit that `DoExecute` changed it.
`AppendMessage()`/`AppendMessageWithFormatv()` don't touch status
(unlike AppendError()/SetError(), which call
`SetStatus(eReturnStatusFailed)`), so on the success path the status
stayed eReturnStatusInvalid, tripping the assert.

This went unnoticed because every existing `scripted_frame_provider`
test uses `SBTarget::RegisterScriptedFrameProvider` directly, bypassing
the `target frame-provider register` command entirely. Add a regression
test that exercises the command instead.

Assisted-by: Claude

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list