[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