920BS机型内存ras注错,os关机事件日志不符合预期

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

问题描述

os测通过ras工具给内存注错,产生内存UCE告警,此时OS下电关机,会触发三条UCE触发解除日志,不符合预期,如下图所示

环境信息

  • 操作系统:[如 Ubuntu 24.04]

  • 软件版本:OpenUBMC2512

  • 硬件配置:[如 CPU、内存等]

重现步骤

  1. os测通过ras工具给内存注错,产生内存UCE告警

  2. OS下电关机

期望结果

内存uce告警解除,且不产生多条日志

实际结果

内存uce告警解除,产生了多条内存uce日志

app.log.zip (118.9 KB)

尝试过的解决方案

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

分析结论

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

内存UCE故障是根据操作系统内核消费内存故障数据来触发的,因为没有提供注错的细节和fdm日志,根据SEL的描述应是你选择的注错地址多次被OS内核消费,队列处理会把所有故障通过SEL上报完,下电后也会把所有内存告警消除,属于正常业务处理流程;只想触发单次故障,建议可以选择系统高地址进行注错,避免这种情况;

您的意思是在上电情况下,注错地址多次被os内核消费,导致队列中有多次内存uce告警,但是因为当前已经是uce告警触发状态,所以不会重复触发。然后下电时,当前触发的uce告警被解除,此时队列存放的剩余内存uce告警被触发,然后解除,所以有多条告警触发合解除日志?

注错操作如下图所示

是的

多次触发内存故障后,内核实际在多次消费内存故障,会一直触发故障上报

fdm_log.zip (6.0 KB)。fdm日志

通过你提供的日志,你可以通过检索Socket关键字看到,没一个SEA-L2C就是一次CPU核消费故障信息,每次消费都会被告警缓存

行 4067: Socket: CPU1    DIE: TotemB    Module: DDRC0    
行 4104: Socket: CPU1    DIE: TotemB    Module: CPU CORE4    Sub Module: SEA-L2C    
行 4124: Socket: CPU1    DIE: TotemB    Module: CPU CORE4    Sub Module: SEA-L2C    
行 4144: Socket: CPU1    DIE: TotemB    Module: CPU CORE4    Sub Module: SEA-L2C    
行 4164: Socket: CPU1    DIE: TotemB    Module: CPU CORE4    Sub Module: SEA-L2C    
行 4184: Socket: CPU1    DIE: TotemB    Module: CPU CORE4    Sub Module: SEA-L2C    
行 4204: Socket: CPU1    DIE: TotemB    Module: CPU CORE4    Sub Module: SEA-L2C    
行 4224: Socket: CPU1    DIE: TotemB    Module: CPU CORE4    Sub Module: SEA-L2C    
行 4244: Socket: CPU1    DIE: TotemB    Module: CPU CORE4    Sub Module: SEA-L2C    
行 4264: Socket: CPU1    DIE: TotemB    Module: CPU CORE4    Sub Module: SEA-L2C    
行 4284: Socket: CPU1    DIE: TotemB    Module: CPU CORE4    Sub Module: SEA-L2C    
....

好的,多谢