)]}'
{
  "commit": "56987b708b6b964eab503a67afe3ca6c04f22afe",
  "tree": "2bf354519e80a7d3e96578962f1ee061bf32eee5",
  "parents": [
    "ac5870a01010ad24a187ec4653d1d1504878dd4e"
  ],
  "author": {
    "name": "cmchang",
    "email": "cmchang@google.com",
    "time": "Mon Aug 31 09:02:23 2026 +0000"
  },
  "committer": {
    "name": "Jimmy Chang",
    "email": "cmchang@google.com",
    "time": "Tue Oct 06 21:53:31 2026 -0700"
  },
  "message": "phosphor-debug-collector: fix phosphor-dump-manager crash in multihost\ncper patch and rebase patches.\n\nBackground:\nOn multi-host platforms, injecting crashdump/CPER error events on\nsecondary nodes (node 1, node 2) caused phosphor-dump-manager to\ncrash with segmentation faults (SEGV) and std::out_of_range exceptions.\nThis was caused by two main issues:\n1. faultIdTable was defined as a global inline table shared across all\n   host managers in the process. When one host looked up a faultId\n   registered by another host, calling entries.at() on its own map threw\n   std::out_of_range.\n\nSolution:\n1. Move faultIdTable from a global variable into an instance member of\n   Manager, ensuring complete host isolation.\n2. Replace unchecked entries.at() lookups with entries.find() and clean\n   up stale entries if not found.\n\nChanges Made:\n- dump_manager_faultlog.hpp:\n  - Add faultIdTable instance member to Manager.\n- dump_manager_faultlog.cpp:\n  - Update createDump() to pass \u0026faultIdTable to faultlog::Entry.\n  - Safe lookup in faultIdTable via entries.find() instead of at().\n  - Fix faultLogFilePath construction using path operator/.\n- faultlog_dump_entry.hpp:\n  - Remove global faultIdTable and accept faultIdTableMap pointer in\n    Entry constructor.\n- faultlog_dump_entry.cpp:\n  - Erase from faultIdTableMap before parentMap-\u003eerase(id).\n\nTested:\n```\nOn server3 amd platform\nVerified multi-host error injection across node 1 and node 2 on target.\nConfirmed that crashdump and CPER fault log entries are\ncreated, replaced, and deleted without crashing or memory corruption.\n```\n\nFusion-Link:\nplatform5: https://fusion2.corp.google.com/24b076cd-6709-3973-9119-46a49784f9ec\nplatform15: https://fusion2.corp.google.com/fa4fd09b-f45c-31a7-b2b9-a85dc36eeb0f\nplatform18: https://fusion2.corp.google.com/20dcaf3d-8bd4-35e6-a94a-1f0598913f93\nplatform17: https://fusion2.corp.google.com/03c22596-6265-3169-bd40-b040256119ef\nplatform11+ext: https://fusion2.corp.google.com/49713010-0073-3960-839e-fdc8abc29d07\nplatform11: https://fusion2.corp.google.com/07a0f1c6-6bc0-3925-a0f4-1d2785b262e4\nplatform25: https://fusion2.corp.google.com/dc3636e4-3f72-31b7-ab64-4f33623c3b3d\n\nGoogle-Bug-Id:553850432\nChange-Id: If317aae9e394b82b402b108c3b2867e053354dc6\nSigned-off-by: cmchang \u003ccmchang@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "346e83139a76c5bfd7cae56436935dd9328b0908",
      "old_mode": 33188,
      "old_path": "recipes-phosphor/dump/phosphor-debug-collector/0003-phosphor-dump-manager-multihost-support.patch",
      "new_id": "6cf5f7da381c85c5965149a6a2532432b062201d",
      "new_mode": 33188,
      "new_path": "recipes-phosphor/dump/phosphor-debug-collector/0003-phosphor-dump-manager-multihost-support.patch"
    },
    {
      "type": "modify",
      "old_id": "a48fabb834d880ced212f73153565e71d0640eda",
      "old_mode": 33188,
      "old_path": "recipes-phosphor/dump/phosphor-debug-collector/0004-add-iliad-cper-signal-handler.patch",
      "new_id": "6b4f297c99dff41b33fab6a30db0b83a8f1a25f5",
      "new_mode": 33188,
      "new_path": "recipes-phosphor/dump/phosphor-debug-collector/0004-add-iliad-cper-signal-handler.patch"
    },
    {
      "type": "modify",
      "old_id": "e74430b37c1e8b3f64f52a051d2bc8b4fef17647",
      "old_mode": 33188,
      "old_path": "recipes-phosphor/dump/phosphor-debug-collector/0005-dump-harden-against-concurrent-file-deletions.patch",
      "new_id": "6ec8f0e454130bc5e53c5bbe1c61ffee75a9ebc5",
      "new_mode": 33188,
      "new_path": "recipes-phosphor/dump/phosphor-debug-collector/0005-dump-harden-against-concurrent-file-deletions.patch"
    },
    {
      "type": "modify",
      "old_id": "abe233a5bf1a906bddb1509838aa0c419901a4b9",
      "old_mode": 33188,
      "old_path": "recipes-phosphor/dump/phosphor-debug-collector/0006-use-sdbusplus-enum-converter-for-faultlog-types.patch",
      "new_id": "84ec2903ac2d48007f43980b926d16f51ae27d7a",
      "new_mode": 33188,
      "new_path": "recipes-phosphor/dump/phosphor-debug-collector/0006-use-sdbusplus-enum-converter-for-faultlog-types.patch"
    },
    {
      "type": "modify",
      "old_id": "b0b3b72458dbd9cc5f8306f9421e2c8ee384d754",
      "old_mode": 33188,
      "old_path": "recipes-phosphor/dump/phosphor-debug-collector/0007-Add-PrettyName-and-Log-property-to-faultlog-dump.patch",
      "new_id": "50358d0c71edc95cb8af68a105e71de46cda84ce",
      "new_mode": 33188,
      "new_path": "recipes-phosphor/dump/phosphor-debug-collector/0007-Add-PrettyName-and-Log-property-to-faultlog-dump.patch"
    },
    {
      "type": "modify",
      "old_id": "7c8e5810d26995a96d8b26935887d2cdf4ac6851",
      "old_mode": 33188,
      "old_path": "recipes-phosphor/dump/phosphor-debug-collector/0008-Add-DumpPrefix-property-to-faultlog-dump.patch",
      "new_id": "10d2e3750785e4cbc38539c280039132607581ce",
      "new_mode": 33188,
      "new_path": "recipes-phosphor/dump/phosphor-debug-collector/0008-Add-DumpPrefix-property-to-faultlog-dump.patch"
    }
  ]
}
