# AICG3D 竖屏分镜 · 中断记录与续跑指引

> 记录时间：2026-09-28 05:20
> 状态：**GPU 机 192.168.31.31 第二次宕机，需物理重启**

---

## 一、中断情况

| 时间 | 事件 |
|---|---|
| 04:17 | 镜01 完成（首镜含模型加载，约 28 分钟） |
| 04:18 | 提交镜02 |
| 04:50 | 镜02 完成（约 25 分钟，Pass1 3:42 + Pass2 18:30） |
| 04:51 | 发现「产出未落盘」bug（history 输出键是 `images` 不是 `videos`），停 runner 修脚本 |
| 04:51 | 镜03 已由旧 runner 提交，在 GPU 上继续生成 |
| **05:05** | **GPU 机失联**（ping 100% 丢包 / ssh No route to host / ARP INCOMPLETE） |

**机器是宕机（断电或内核崩溃），不是网络问题**——网关与其它主机均可达。

## 二、已完成产出（本机已落盘）

位置：`dl-hub/62-仙剑1MV素材/MV制作/AICG3D-竖屏分镜/`

| 镜 | 文件 | 规格 |
|---|---|---|
| S01 | `S01_Pass2.mp4` | 928×1664 / 5.17s / 24fps / 3.1MB |
| S02 | `S02_Pass2.mp4` | 928×1664 / 5.17s / 24fps / 3.3MB |

镜03 生成到一半机器宕机，产出未完成（重启后需重跑）。

## 三、⚠️ 重要：这已是本日第二次宕机

| 次 | 时间 | 当时在跑的工作流 | 注意力后端 |
|---|---|---|---|
| 第 1 次 | 约 02:50 | dasiwa **V18**（H3 Ref2VA） | `comfy kitchen attention`（已核对无 SageAttention 补丁节点） |
| 第 2 次 | 约 05:05 | **AICG3D** 二采（H3 reference） | **待核对** —— 见下 |

两次都不是 Studio 路径。**AICG3D 这套是否也插了 SageAttention 类补丁节点，需在机器恢复后核查**：

```bash
# 恢复后先查内核日志有无 Xid / 掉总线
~/Downloads/ssh_exec.sh 'journalctl -k -b -1 --no-pager | grep -iE "xid|nvrm|fell off|gpu has fallen" | tail -30'
~/Downloads/ssh_exec.sh 'grep -rn "SageAttention\|sage_attention" /home/zyw/ComfyUI/custom_nodes/comfyui-AICG3D/ 2>/dev/null | head -20'
```

> 参考：本项目历史上「GPU 掉总线」的元凶是 Studio 编译工作流硬编码插入的
> `MiniMaxH3MemoryEfficientSageAttentionPatch`（见 `dl-hub/06-ComfyUI-H3运维记录/`）。
> 若 AICG3D 也有同类节点，**必须先摘掉再续跑**，否则会反复把机器跑挂。

## 四、恢复后的续跑步骤

```bash
# 1. 验机
~/Downloads/ssh_exec.sh 'hostname; uptime; nvidia-smi --query-gpu=name,memory.used,memory.total --format=csv,noheader'

# 2. 起 ComfyUI（不自启）
~/Downloads/ssh_exec.sh 'cd /home/zyw/ComfyUI && setsid nohup env PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:512,expandable_segments:True CUDA_VISIBLE_DEVICES=0 OMP_NUM_THREADS=4 venv/bin/python main.py --listen 0.0.0.0 --port 8189 --lowvram --force-fp16 --reserve-vram 1.0 --fast-disk --cache-lru 20 --preview-method none > /home/zyw/comfyui_8189_opt.log 2>&1 < /dev/null &'

# 3. 探活
curl -s --noproxy '*' http://192.168.31.31:8189/queue

# 4. ① 先查是不是 SageAttention 类补丁把机器跑挂的（见第三节）
#    ② 确认后再续跑（脚本自带断点续传：启动时扫 GPU 产出目录，已有就下载并跳过）
cd /home/zyw/Downloads/.tools && nohup python3 mv_aicg3d.py > /tmp/aicg3d_all.log 2>&1 &

# 4b. 若只想先验一镜，再决定是否全量：
cd /home/zyw/Downloads/.tools && python3 mv_aicg3d.py S03
```

## 五、脚本已修的两个问题

1. **产出解析**：AICG3D 的 `SaveVideo` 节点在 `/history` 里把结果放在 **`images`** 键（不是 `videos`/`gifs`），
   原解析漏读 → 已改为遍历 `images/videos/gifs/animated`，并加「按命名规则直接取」的兜底下载。
2. **断点续传**：启动时 `scan_remote_existing()` 先 `ssh` 列一遍 GPU 机
   `/home/zyw/ComfyUI/output/video/` 里已有的 `AICG3D_Pass2_<镜号>_*.mp4`，
   已存在的直接下载并跳过，**不重复提交**（避免机器恢复后重跑已完成的镜头）。

## 六、当前进度

```
镜01  ✅ 完成
镜02  ✅ 完成
镜03  ❌ 中断（需重跑）
镜04 ~ 镜45  未开始（42 镜）
镜46  纯白尾卡，不用模型生成，合成时用 ffmpeg 做
```

**合计 45 个 AI 分镜**（S01–S45）+ 1 个 ffmpeg 尾卡（S46）= 46 镜。

按实测每镜约 25 分钟 + 间隔 5 分钟，剩余 42 镜预计 **约 21 小时**。

## 七、已备好的合成脚本

`~/.tools/mv_assemble_aicg3d.sh` —— 全部 45 镜齐了之后一键合成：
逐镜统一 1080×1920/30fps 并裁到分镜脚本的目标时长 → 拼接 → 混入《一直很安静》原曲 → 烧字幕
→ 输出 `MV-一直很安静-竖屏成片.mp4`。


---

## 八、🔴 关键：这不是配置问题，是**已知的机器顽疾**

在 `dl-hub/06-ComfyUI-H3运维记录/` 里查到，本机 **「H3 长时满载 → 整机随机硬挂」已是第 5 次同类事件**，
并且早已定性：

> **2026-09-25 记录原文**：「整机硬挂，**与软件路径无关**——官方 MinimaxH3Director 图
> （无 LoRA / 无 Sage / 无 Sol / 无段间引导）、12 步、单段独立任务、段间 300s 冷却 + 温度闸门，
> 仍然在第 3 镜采样中失联……进一步支持 09-18 的结论：**该机在 H3 长时满载下会随机整机硬挂，与配置/软件路径无关**。」

| 历史同类 | 说明 |
|---|---|
| `2026-09-15-连续生成6小时后整机硬挂-取证报告.md` | pinned 内存窒息版（**已修**：启动加 `--disable-pinned-memory`） |
| `2026-09-17/09-18-Director段间引导latent锚定导致整机硬挂` | 两次复现，结论改为与软件路径无关 |
| `2026-09-25-H3批量生成期间GPU机整机硬挂` | 第 4 次；单镜负载更低仍在第 3 镜挂 |
| **2026-09-28（本次）** | 第 5、6 次：02:50 跑 V18 挂、05:05 跑 AICG3D 挂 |

### 本次已排除的两个怀疑

1. **不是 SageAttention 补丁**：把 AICG3D 插件源码包（`59-comfyui-AICG3D插件评估/附件-实测脚本/aicg3d-main.tgz`）
   完整解包后全量 grep —— `SageAttention` / `sage_attention` / `PathchSage` / `MemoryEfficientSage` **零命中**；
   整套 Python 代码里也**没有任何注意力后端/模型补丁操作**（用 ComfyUI 默认）。V18 那套同样已核对无该补丁节点。
2. **不是温度**：第二次挂之前 GPU 是 100% / 15448MiB / 142W / **81°C**，未触顶。

### 工程上的应对（照搬 09-25 的做法）

不能消灭，只能兜住 —— 已按同样模式写好监督脚本：

```bash
setsid nohup bash ~/Downloads/.tools/mv_aicg3d_supervisor.sh > /tmp/aicg3d_sup.log 2>&1 < /dev/null &
```

它每轮：**探活 → 不可达就等（60s 重试）→ 机器在线但 ComfyUI 没起就自动拉起 → 断点续跑 → 再核对**，
直到 45 镜出齐。**机器恢复后无需人工介入即可自动接上。**

ComfyUI 启动参数已按 09-15 的修复结论补上关键项：

```
--lowvram --force-fp16 --reserve-vram 1.0 --fast-disk --cache-lru 2
--disable-pinned-memory      ← 09-15「pinned 内存窒息」硬挂的修复项，此前我们漏了
```

### 关于自动恢复

机器设了 `kernel.panic=10`（内核 panic 后 10 秒自动重启），但**「硬挂」不等于 panic** ——
09-25 与本次都是**人工断电**才恢复。所以**大概率仍需要你物理重启一次**；
重启后监督脚本会自动把 ComfyUI 拉起来并续跑，不需要你再做别的。


---

## 九、崩溃取证已自动化（2026-09-28 05:25 补）

09-15 取证报告明确指出：**「之所以拿不到原因，是因为这台机器根本没有崩溃捕获能力」**——
5 次硬挂（09-15 / 09-17 / 09-18 / 09-25 / 本次×2）都没留下 Xid/GSP 记录。

已把**恢复瞬间自动取证**挂进监督脚本（`~/.tools/capture_after_recovery.sh`）：

- 触发时机：监督脚本发现机器**从「不可达」变为「可达」的第一时间**，自动执行一次（错过就没了）
- 抓取内容：
  1. `uptime` / `who` / `last -x reboot`（判断是自动重启还是人工断电）
  2. **上一次启动的完整内核日志** `journalctl -k -b -1`
  3. 上次启动里的 `Xid|nvrm|gsp|fell off|pcie|aer|oom|hung_task|BUG:|panic`
  4. 当前启动的内核错误
  5. journald 是否持久化（`-b -1` 是否可用）
  6. `nvidia-smi -q` 的 PCIe 代际/降速、Retired/Remapped 页、温度、功耗上限
  7. `NVreg_DynamicPowerManagement` 与 `kernel.panic*` 设置
  8. ComfyUI 日志尾部（死亡时的最后动作）
  9. `ram_guard` 痕迹与日志轮转情况
- 落盘：`dl-hub/06-ComfyUI-H3运维记录/崩溃取证/recovery_<时间戳>.txt`

> **如果下次再挂**，这份文件里就能看到是 Xid（硬件/驱动）还是 hung_task/panic（内核冻结），
> 从而判断该走「换电源/PCIe 设置」还是「继续降载」。这是这台机器第一次有可能拿到崩溃原因。

## 十、当前监督脚本一览

```
~/.tools/mv_aicg3d_supervisor.sh   —— 自愈续跑主循环（已在运行，pid 见 ps）
~/.tools/capture_after_recovery.sh —— 恢复瞬间崩溃取证（由主循环自动调用）
~/.tools/mv_aicg3d.py              —— 逐镜生成（断点续传：扫 GPU 产出目录，已有则下载跳过）
~/.tools/mv_assemble_aicg3d.sh     —— 45 镜齐了之后一键合成竖屏成片
```

监督脚本每 60s 一轮：**探活 → 恢复则先取证 → ComfyUI 没起就自动拉起 → 断点续跑 → 再核对**，
直到 45 镜出齐。
