【AC长稳】【组件健康检查失败】组件健康检查失败,导致BMC重启,pcie卡加载失败

// 此模板仅供参考,如果不适用可以修改

问题描述

在测试跑AC长稳过程中,出现组件健康检查异常,导致bmc重启

2026-06-08 04:53:23.825053 maca ERROR: init.lua(184): [power_mgmt]StartupCheck failed, error: org.freedesktop.DBus.Error.ServiceUnknown: The name bmc.kepler.power_mgmt was not provided by any .service files, check count: 1
2026-06-08 04:53:24.001822 mctpd NOTICE: micro_component.lua(164): Startup status has changed,  ==> Starting, uptime:204s, cost 0ms
2026-06-08 04:53:25.100076 [:00000014] hardware: LAUNCH snlua storage/service/smld
2026-06-08 04:53:38.921318 maca ERROR: init.lua(184): [power_mgmt]StartupCheck failed, error: org.freedesktop.DBus.Error.ServiceUnknown: The name bmc.kepler.power_mgmt was not provided by any .service files, check count: 2
2026-06-08 04:53:53.993797 maca ERROR: init.lua(184): [power_mgmt]StartupCheck failed, error: org.freedesktop.DBus.Error.ServiceUnknown: The name bmc.kepler.power_mgmt was not provided by any .service files, check count: 3
2026-06-08 04:53:56.943069 maca NOTICE: init.lua(531): bmc.kepler.bios unlocked ForceResetLocked status
2026-06-08 04:54:09.055541 maca ERROR: init.lua(184): [power_mgmt]StartupCheck failed, error: org.freedesktop.DBus.Error.ServiceUnknown: The name bmc.kepler.power_mgmt was not provided by any .service files, check count: 4
2026-06-08 04:54:24.129949 maca ERROR: init.lua(184): [power_mgmt]StartupCheck failed, error: org.freedesktop.DBus.Error.ServiceUnknown: The name bmc.kepler.power_mgmt was not provided by any .service files, check count: 5

报错信息也很奇怪,为什么报文件找不到?

概率性问题,和这个话题很相似

环境信息

openubmc 2512 LTS SP1

重现步骤

AC长稳

期望结果

PCIe卡正常加载

实际结果

PCIe卡加载失败

尝试过的解决方案

[列出您已经尝试过的解决方案及结果]

分析结论

[详细总结您对此问题的分析结论]

现在这个问题进展咋样

答案内容由AI生成,仅供参考:

问题分析结论

根据您提供的日志和上下文信息,组件健康检查失败导致 BMC 重启的根本原因是 power_mgmt 组件在启动时未能找到对应的 D-Bus 服务,具体表现为以下错误:

StartupCheck failed, error: org.freedesktop.DBus.Error.ServiceUnknown: The name bmc.kepler.power_mgmt was not provided by any .service files

1. 错误实质

该错误并非“文件找不到”,而是 D-Bus 服务未注册。系统通过 init.lua(MACA 健康检查框架)尝试连接 bmc.kepler.power_mgmt 这个 D-Bus 服务名,但该服务对应的 .service 文件(或对应的软链接、launch_control.json 配置)不存在或未被正确加载,导致 D-Bus 无法提供服务。这与知识库中 StartupCheck failed 事件的描述一致:

“StartupCheck failed is a failed attempt to initialize a system check, linked to a missing D-Bus service policy.”
“The init.lua script failed to start the dcmid service due to an unknown object path.”

2. 与 AC 长稳场景的关联

  • 您的测试环境为 AC 长稳(AC Long-Stability Test),该测试包含反复的 AC 上电/断电操作。
  • 知识库指出,AC 测试会概率性触发 BMC 启动异常,如“AC启动,BMC概率出现组件启动异常,有日志提示StartupCheck failed,影响PCIe卡加载”(参考主题 #4722)。
  • 在您的日志中,power_mgmt 组件连续 5 次启动检查失败,随后 BMC 可能触发了 MACA 重启机制(见上下文:健康检查失败 → MACA重启),最终导致 BMC 重启。
  • BMC 重启会造成 PCIe 卡重新加载过程异常,若 BMC 重启时机恰好处于组卡加载/卸载的敏感窗口,就会导致 pcie_card 加载失败。

3. 组件异常的根本原因

根据文档块 #5(《组件无法启动怎样排查原因问题分析》)和知识图谱中类似的案例(如 Bmc Kepler Compute 服务未知):

  • power_mgmt 组件很可能缺少对应的 .service 文件或启动配置
  • 可能的原因包括:
    • 组件作为独立进程,但 /etc/systemd/system/ 目录下未放置 bmc.kepler.power_mgmt.service 文件或软链接。
    • 组件是某个进程下的子组件,但 launch_control.json 中未正确配置 components 字段。
    • 组件对应的 D-Bus 服务文件在 AC 断电期间被损坏或未持久化(已知 AC 循环可能导致数据丢失)。

4. 与已知问题的相似性

您引用的话题 #4722 描述的情况与本次故障高度一致:

“AC启动,BMC概率出现组件启动异常,有日志提示StartupCheck failed,影响PCIe卡加载”
“组件启动异常导致丝印信息未生成,或bios上报信息时组件正常重启,错过信息上报”

在话题 #4722 的日志中,computebioscertificatepcie_device 等组件均因 ServiceUnknown 错误失败,与您的 power_mgmt 错误模式完全相同。这说明该问题并非个例,而是 AC 长稳环境下由 BMC 组件启动配置缺陷导致的概率性系统性问题

5. 建议的排查方向(参考文档块 #5

  1. 确认 power_mgmt 组件的类型
    • 是独立进程还是某个进程的子组件?
  2. 检查 .service 文件
    • /etc/systemd/system/ 下是否存在 bmc.kepler.power_mgmt.service
    • 若是子组件,检查 launch_control.json 中对应进程的 components 字段是否包含 power_mgmt
  3. 检查软链接和权限
    • 确保 .service 文件已被正确启用(systemctl enable)。
  4. 分析 AC 周期中的文件持久性
    • 确认 .service 文件是否存储于非易失分区,避免 AC 断电后丢失。
  5. 参考社区解决方案
    • 话题 #4722 中的日志显示“total components count: 56, normal count: 55, abnormal components: ["compute"]”,说明其他组件正常仅个别异常,建议比对正常组件与 power_mgmt 的配置文件差异。

总结

本次 BMC 重启 + PCIe 卡加载失败 的根因是:AC 长稳环境下,power_mgmt 组件的 D-Bus 服务未正确注册(缺少 .service 文件或启动配置),导致 StartupCheck 反复失败,触发 MACA 重启 BMC,进而干扰 PCIe 卡的正常加载流程。该问题属于已知的 AC 场景概率性组件启动缺陷,建议优先排查 power_mgmt 的配置文件并参考社区类似案例进行修复。

点击此处查看详细分析解答

问题分析结论

根据您提供的日志和上下文信息,组件健康检查失败导致 BMC 重启的根本原因是 power_mgmt 组件在启动时未能找到对应的 D-Bus 服务,具体表现为以下错误:

StartupCheck failed, error: org.freedesktop.DBus.Error.ServiceUnknown: The name bmc.kepler.power_mgmt was not provided by any .service files

1. 错误实质

该错误并非“文件找不到”,而是 D-Bus 服务未注册。系统通过 init.lua(MACA 健康检查框架)尝试连接 bmc.kepler.power_mgmt 这个 D-Bus 服务名,但该服务对应的 .service 文件(或对应的软链接、launch_control.json 配置)不存在或未被正确加载,导致 D-Bus 无法提供服务。这与知识库中 StartupCheck failed 事件的描述一致:

“StartupCheck failed is a failed attempt to initialize a system check, linked to a missing D-Bus service policy.”
“The init.lua script failed to start the dcmid service due to an unknown object path.”

2. 与 AC 长稳场景的关联

  • 您的测试环境为 AC 长稳(AC Long-Stability Test),该测试包含反复的 AC 上电/断电操作。
  • 知识库指出,AC 测试会概率性触发 BMC 启动异常,如“AC启动,BMC概率出现组件启动异常,有日志提示StartupCheck failed,影响PCIe卡加载”(参考主题 #4722)。
  • 在您的日志中,power_mgmt 组件连续 5 次启动检查失败,随后 BMC 可能触发了 MACA 重启机制(见上下文:健康检查失败 → MACA重启),最终导致 BMC 重启。
  • BMC 重启会造成 PCIe 卡重新加载过程异常,若 BMC 重启时机恰好处于组卡加载/卸载的敏感窗口,就会导致 pcie_card 加载失败。

3. 组件异常的根本原因

根据文档块 #5(《组件无法启动怎样排查原因问题分析》)和知识图谱中类似的案例(如 Bmc Kepler Compute 服务未知):

  • power_mgmt 组件很可能缺少对应的 .service 文件或启动配置
  • 可能的原因包括:
    • 组件作为独立进程,但 /etc/systemd/system/ 目录下未放置 bmc.kepler.power_mgmt.service 文件或软链接。
    • 组件是某个进程下的子组件,但 launch_control.json 中未正确配置 components 字段。
    • 组件对应的 D-Bus 服务文件在 AC 断电期间被损坏或未持久化(已知 AC 循环可能导致数据丢失)。

4. 与已知问题的相似性

您引用的话题 #4722 描述的情况与本次故障高度一致:

“AC启动,BMC概率出现组件启动异常,有日志提示StartupCheck failed,影响PCIe卡加载”
“组件启动异常导致丝印信息未生成,或bios上报信息时组件正常重启,错过信息上报”

在话题 #4722 的日志中,computebioscertificatepcie_device 等组件均因 ServiceUnknown 错误失败,与您的 power_mgmt 错误模式完全相同。这说明该问题并非个例,而是 AC 长稳环境下由 BMC 组件启动配置缺陷导致的概率性系统性问题

5. 建议的排查方向(参考文档块 #5

  1. 确认 power_mgmt 组件的类型
    • 是独立进程还是某个进程的子组件?
  2. 检查 .service 文件
    • /etc/systemd/system/ 下是否存在 bmc.kepler.power_mgmt.service
    • 若是子组件,检查 launch_control.json 中对应进程的 components 字段是否包含 power_mgmt
  3. 检查软链接和权限
    • 确保 .service 文件已被正确启用(systemctl enable)。
  4. 分析 AC 周期中的文件持久性
    • 确认 .service 文件是否存储于非易失分区,避免 AC 断电后丢失。
  5. 参考社区解决方案
    • 话题 #4722 中的日志显示“total components count: 56, normal count: 55, abnormal components: ["compute"]”,说明其他组件正常仅个别异常,建议比对正常组件与 power_mgmt 的配置文件差异。

总结

本次 BMC 重启 + PCIe 卡加载失败 的根因是:AC 长稳环境下,power_mgmt 组件的 D-Bus 服务未正确注册(缺少 .service 文件或启动配置),导致 StartupCheck 反复失败,触发 MACA 重启 BMC,进而干扰 PCIe 卡的正常加载流程。该问题属于已知的 AC 场景概率性组件启动缺陷,建议优先排查 power_mgmt 的配置文件并参考社区类似案例进行修复。

192.168.197.3_ipmi_AC_41_20260608051137_dump_info.z02.txt (9 MB)
192.168.197.3_ipmi_AC_41_20260608051137_dump_info.zip (1.2 MB)
192.168.197.3_ipmi_AC_41_20260608051137_dump_info.z01.txt (9 MB)

当前定位出是flash颗粒问题,建议移步鲲鹏社区咨询,定位流程如下:

通过驱动反复读取只读分区的各个block块的数据,并计算内容的sha256值,定位到启动阶段从Flash分区中读取到的数据存在异常跳变(只读分区,block的数据不应该发生变化)。相同的block在启动过程中出现sha256b变化的情况。打印异常时刻的block数据,发现block内容全为0,由此可定界问题原因为Flash颗粒问题