)]}'
{
  "commit": "16f793876e0768f6e322918d1cd99f4d85a2e30d",
  "tree": "471854baf7d4d222e4d62bbf658302d787bdffb0",
  "parents": [
    "44926b35d3160199ea4a60a34c3dcdb6837aa9ec"
  ],
  "author": {
    "name": "Alexandre Perez",
    "email": "alexandreperez@meta.com",
    "time": "Tue Apr 14 06:42:44 2026 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Apr 14 06:42:44 2026 -0700"
  },
  "message": "[lldb] Fix synthetic frame identity loss during incremental fetches (#191903)\n\nWhen `SyntheticStackFrameList::FetchFramesUpTo` is called incrementally,\nPC-less synthetic frames can end up with identical `StackID` values.\nThis happens because `num_synthetic_frames` is reset to zero on each\ncall, handing out duplicate call frame addresses. Since PC-less frames\nall share `LLDB_INVALID_ADDRESS` as their PC, the `StackID` equality\ncheck cannot distinguish them, and `ExecutionContextRef` resolves the\nwrong frame.\n\nThe fix counts existing synthetic frames in `m_frames` before starting\nthe fetch loop so new frames receive unique call frame addresses.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fb3d0c5f31cb8be597c17a259f78bd23357a6f63",
      "old_mode": 33188,
      "old_path": "lldb/source/Target/StackFrameList.cpp",
      "new_id": "5423785c2fd514ead98670ded4833dfb12990ddc",
      "new_mode": 33188,
      "new_path": "lldb/source/Target/StackFrameList.cpp"
    },
    {
      "type": "modify",
      "old_id": "577d36f5f07993ce6c753151272d91b3cfd22198",
      "old_mode": 33188,
      "old_path": "lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py",
      "new_id": "1ac74152b096406e1bafd70d8385908ce7948cd0",
      "new_mode": 33188,
      "new_path": "lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py"
    }
  ]
}
