## [ERR-20260427-001] Next.js dev SIGBUS：`@next/swc` native binary 损坏

**日期**: 2026-04-27
**类别**: Next.js / Frontend 启动
**严重度**: 中（next dev 完全无法启动）

### 问题描述
`next dev` / `next info` 运行后立即静默退出（exit code 0），唯一线索是 `Bus error (core dumped)` 偶尔出现在终端，无 stack。.next 目录都没生成。

### 根因
`node_modules/@next/swc-linux-x64-gnu/next-swc.linux-x64-gnu.node` 被截断/损坏：
```
$ file next-swc.linux-x64-gnu.node
ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked,
missing section headers at 137836944
```
Node 加载这个 native module → mmap 一个截断的 ELF → SIGBUS。

通常是之前 `npm install` 进行到一半时机器 OOM / OS killer 把 npm 干掉了，留下半下载的 binary。

### 排查方法
```bash
# 1. 跑 next info；如果连这个都 SIGBUS，就是 native binary 问题
npx next info
# 2. file 检查可疑 binary
file node_modules/@next/swc-linux-x64-gnu/*.node
# 健康输出: "ELF ... stripped"
# 损坏输出: "missing section headers at <offset>"
```

### 修复
```bash
npm install --force @next/swc-linux-x64-gnu
```
重新拉一份。验证 `file` 输出含 `stripped` 而不是 `missing section headers`。

### 启示
- "next dev 静默退出 / 无错误信息" 几乎一定是 native module 加载阶段 SIGBUS（next 自己 catch 不到）
- 内存压力下重装依赖时，binary 大文件最容易被截断；之后再装不会自动重下，要 `--force`
- 任何"看起来跟内存有关但不是 OOM"的现象，先查 native binary 完整性

---
