问题描述
跑AC自动化出现core-maps-skynet-6-security-20260410153329 和 core-skynet-6-security-20260410153329两个core文件
core-skynet-6-security-20260410153329.z01.zip -core-skynet-6-security-20260410153329.z05.zip 这五个文件需要去掉.zip后缀使用
跑AC自动化出现core-maps-skynet-6-security-20260410153329 和 core-skynet-6-security-20260410153329两个core文件
core-skynet-6-security-20260410153329.z01.zip -core-skynet-6-security-20260410153329.z05.zip 这五个文件需要去掉.zip后缀使用
答案内容由AI生成,仅供参考:
| 项目 | 内容 |
|---|---|
| 问题本质 | 在AC自动化测试中,security模块在Skynet框架下运行时发生崩溃,生成了core dump |
| 根本原因 | 初步判断为 AC启动阶段初始化顺序不当,导致security模块访问未就绪资源,引发段错误(SIGSEGV) |
| 证据支持 | - 存在配对的core与maps文件 - 崩溃发生在系统库中(如libc/libpcre2) - 类似案例曾在X20 AC测试中复现 |
| 解决方向 | 1. 使用GDB+maps文件精确定位崩溃函数 2. 审查security模块启动逻辑与配置加载过程 3. 优化AC测试下的资源协同与异常处理机制 |
当前系统中coredump未自动清理,建议定期归档或删除旧文件,防止存储耗尽。
在执行AC(上电-断电循环)自动化测试过程中,系统生成了以下两个核心转储文件:
core-maps-skynet-6-security-20260410153329core-skynet-6-security-20260410153329该现象表明系统中某个进程因异常而崩溃,触发了core dump机制。根据上下文信息和已有知识库内容,以下是对该问题的综合分析与解答。
AC启动是指系统在电源接通后进入初始化阶段的过程。X20 AC Test ➜ 引发 Core Dump ➜ 导致 System Crash
关键线索:知识图谱中明确指出:“Improper in-position state initialization during AC startup causes repeated loading and unloading cycles.”
文件名格式遵循统一规范:
core-skynet-6-security-20260410153329core-maps-skynet-6-security-20260410153329
此类配对文件通常位于
/data/var/coredump目录下,用于后续调试。
| 实体 | 类型 | 描述 |
|---|---|---|
Security Core |
组织/组件 | BMC系统的安全子系统,负责安全启动、完整性校验等;其崩溃会生成对应的core文件 |
Skynet |
框架 | OpenUBMC中的事件驱动框架,多个服务(包括security)在此框架下运行 |
Core Dump |
概念 | 记录进程崩溃时的内存状态,通常由段错误(SIGSEGV)、非法指令、栈溢出等触发 |
根据已有日志和模式匹配,以下是可能导致此次core dump的原因:
security模块尝试加载配置或验证固件签名时,若数据未就绪或指针引用非法地址,可能触发段错误(Segmentation Fault)。Core was generated by `security /opt/bmc/apps/hica/subsys/security/config.cfg'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x0000ffff8db0e078 in pcre2_compile_8 () from /lib64/libpcre2-8.so.0
表明在正则表达式编译时发生越界访问。libc.so.6、libpcre2-8.so.0 等系统库中。pthread_key_delete调用时key已被释放)gdb /opt/bmc/apps/hica/subsys/security core-skynet-6-security-20260410153329
查看崩溃时的调用栈:
(gdb) bt full
(gdb) info registers
(gdb) x/10i $pc-10
打开 core-maps-skynet-6-security-20260410153329 文件,找到崩溃地址所处的内存区间。
例如:
ffff88894000-ffff88a30000 r-xp 00000000 b3:50 1038 /lib64/libc.so.6
说明崩溃发生在 libc.so.6 中。
再通过偏移计算函数名:
addr2line -ife /lib64/libc.so.6 0x84334
输出示例:
pthread_key_delete
??:?
| 检查项 | 建议 |
|---|---|
| security模块配置文件 | 检查 /opt/bmc/apps/hica/subsys/security/config.cfg 是否完整、格式是否正确(如JSON合法性) |
| 动态库版本一致性 | 确保运行环境与构建环境使用的 libpcre2、libgmodule、libc 等库版本一致 |
| 日志分析 | 查看 /var/log/messages 或 journalctl 中是否有提前报错(如加载失败、权限拒绝) |
| 措施 | 说明 |
|---|---|
| 确保AC上电后各模块按序初始化,避免“抢跑”导致空指针访问 | |
| 在security模块中增加对异常配置的检测与默认处理 | |
| 防止磁盘被大量core文件占满(目前coredump无自动清理机制) | |
| 若使用旧版本(如1.7.x),建议升级至1.8.0.b001及以上稳定版 |
| 项目 | 内容 |
|---|---|
| 问题本质 | 在AC自动化测试中,security模块在Skynet框架下运行时发生崩溃,生成了core dump |
| 根本原因 | 初步判断为 AC启动阶段初始化顺序不当,导致security模块访问未就绪资源,引发段错误(SIGSEGV) |
| 证据支持 | - 存在配对的core与maps文件 - 崩溃发生在系统库中(如libc/libpcre2) - 类似案例曾在X20 AC测试中复现 |
| 解决方向 | 1. 使用GDB+maps文件精确定位崩溃函数 2. 审查security模块启动逻辑与配置加载过程 3. 优化AC测试下的资源协同与异常处理机制 |
当前系统中coredump未自动清理,建议定期归档或删除旧文件,防止存储耗尽。
如需进一步分析,请提供:
core-skynet-6-security-20260410153329 文件本身/opt/bmc/apps/hica/subsys/security/lib64/libc.so.6 等共享库副本能发完整的日志吗,不止coredump文件,还有就是BMC的版本是什么
日志文件太大,这里无法上传;BMC版本为6.00.09.02.b016 我们的最新版本
huangzhiyu12@h-partners.com
发我邮箱,发完说下
或者分卷压缩也行
security.zip (1.8 KB)
core-maps-skynet-6-security-20260410153329.zip (4.2 KB)
core-skynet-6-security-20260410153329.zip (10.4 KB)
core-skynet-6-security-20260410153329.z05.zip (50 KB)
core-skynet-6-security-20260410153329.z04.zip (50 KB)
core-skynet-6-security-20260410153329.z03.zip (50 KB)
日志已发送邮箱,请查收
好的,收到,我看下