排障记录¶
读者:遇到问题回来查"上次怎么解决的"的人。 前置:无。 读完能做什么:认出这三类问题的现象,按上次的办法处理。 环境锚点:Slurm 集群 + Virtuoso IC617;核实日期 2026-10-13。
三十秒版¶
三个真事:srun 一加 Spectre 就崩(加 --mpi=none);ADE-XL 改完不落盘(要退出 Virtuoso);
家目录那堆 CDS.log* 是"没先 cd"的产物。每节都写了时间线、判断依据、和下次怎么办。
一、2026-10-05 加了 srun,Spectre 启动即死¶
时间线¶
2026-10-05 首次派发作业后,作业能被 Slurm 拉起,但 spectre 一启动就死;
当天加 --mpi=none 后恢复,并用 Interactive.12 的 6 个点端到端复验通过。已闭环。
影响¶
阶段 2 的全部仿真点都跑不起来——不是某个点的问题,是整条派发链不通。
我按顺序做了什么¶
- 看作业状态:
squeue里作业被拉起,但很快结束 → 说明问题在作业内部,不在调度。 - 看 spectre 日志:末尾是
[cli_0]: Unable to write to PMI_fd、Fatal error in MPI_Init→ 指向 MPI 初始化。 - 判断:这些是 srun 注入的环境变量(
PMI_*)引起的,Spectre 并不需要 MPI。 - 试
srun ... --mpi=none(不注入 MPI 变量)→ 通过。 - 端到端复验:6 个点全部完成、跨
.18/.19两台计算节点。
结论与依据¶
根因:本集群 Slurm 的 MpiDefault = pmi2(出厂默认是 none),所以不加 --mpi=none 就会注入 PMI_*。
证据:spectre 日志里的 PMI_fd 报错行 + 集群 slurm.conf 的该项。
确定程度¶
- 已确认:
--mpi=none可解决,且 6 点端到端复验通过。 - 未确认:无。
下次怎么办¶
在派发 wrapper 里固化 --mpi=none,不必每次手加。日常自查见 cheatsheet.md。
二、2026-10-12 改了设置,它没存下来¶
时间线¶
2026-10-12 在 ADE-XL 里改了保存设置,重跑却发现改动没生效;同日还遇到"脚本画图没反应"。 两次都当场定位。已闭环。
影响¶
改动没落盘 → 下一次跑的还是旧设置(这次是白名单,白配了); 脚本静默失败 → 以为改了其实没改,浪费一轮。
我按顺序做了什么¶
现象 A:ADE-XL setup 改动不落盘
- 改完设置后核对
data.sdb:mtime 和体积都没变,且旁边有data.sdb.cdslck→ 有进程占着。 - 判断:setup 改动必须退出 Virtuoso 才写盘。
- 退出时按提示选:"原理图"选不保存、"ADE XL"选保存。
- 复验:
data.sdb的 mtime/体积变了,test_states/.../outputs内容更新。
现象 B:GUI 持锁导致无头重建静默失败
- 无头脚本跑完返回
SKILLRC=255,且不产生新 log。 - 看目录:有
sch.oa.cdslck.<host>.<pid>→ 说明这个 cell 的编辑窗口正开着(GUI 主程序开着没关系)。 - 请用户关掉该 cell 的编辑窗口后重跑 → 正常。
- 复验:
stat -c '%y %U:%G' sch.oa的 mtime 更新、属主rain01:design。
结论与依据¶
- 根因 A:ADE-XL 用
data.sdb存 setup,进程持有锁时不会写盘。 - 根因 B:GUI 打开 cellview 时创建
cdslck锁文件,此刻删除/重建全部不生效。 - 证据:两个
.cdslck文件的存在与消失,以及对应操作前后文件 mtime 的变化。
确定程度¶
- 已确认:两处锁的存在与效果。
- 未确认:不同 Cadence 版本是否表现一致。
下次怎么办¶
- 改 ADE-XL 设置后,一律退出 Virtuoso,且退出时选保存 ADE XL。
- 动手前先查锁:
ls design/pll45/*/schematic/*.cdslck。
三、2026-10-13 家目录怎么这么乱¶
时间线¶
2026-10-13 观察到家目录顶层有散件;当天定性完毕。不是故障,是习惯问题。
影响¶
不致命,但家目录混着历史和误产生文件,容易误判"哪个文件有用"。
我按顺序做了什么¶
- 列出来看:
CDS.log*、probe*、一个名为1的文件、还有~/cadence(77 M)。 - 逐个定性:
CDS.log*:Cadence 启动日志,落在启动时的当前目录——说明当时是在家目录启动的。probe*:早期调试产物的落错位置。- 名为
1的文件:某次 shell 重定向写错产生的。 ~/cadence:存储落层改造之前的默认结果目录残留。- 结论:全部是旧产物,养成"先 cd 项目目录再启动"的习惯后不会再产生。
结论与依据¶
根因:工具在哪个目录启动,日志就落在哪个目录。
证据:CDS.log 的存在位置与启动目录一致;~/cadence 与旧默认落点 ~/cadence/simulation 吻合。
确定程度¶
- 已确认:这些文件的来源类别。
- 待观察:删除后是否还有别的机制再生成(目前判断不会)。
下次怎么办¶
- 所有工具都在项目目录内启动:先
cd /projects/design/rain01/proj1再virtuoso。 - 日志与结果规范见 map-roadmap.md 与 concept.md。
来源:
/home/rain/Documents/eda_tools_ins/design/docs/kb/incident.md| 最后更新:2026-10-13 00:47(由build/sync.py同步,请勿在站点侧修改)