大文本 asm 输出时节点堆内存不足: 一个 ~13 KB 的源代码导致两个 prod 节点被杀死 (2026-08-14)
作者: mattgodbolt创建于 2026年8月19日更新于 2026年8月19日
标签bug
(提交者为 Claude,代表 @mattgodbolt; 由 compiler-explorer/infra#2310 的调查推导而来。)
摘要
2026-08-14 UTC 06:46 至 06:46 之间,两个 prod 节点在相隔 40 秒内分别发生了 FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory 类型的错误。两者都是由同一用户编译的同一 ~13 KB C++ 源代码: 先使用 gcc 16.2 (节点 OOM,用户在 60 秒后收到 504),然后使用 clang 22.1 切换编译器(第二个节点 OOM,502)。每个节点在单个请求中从正常状态转换为 2 GB 堆,因此这不是一个泄漏。在可搜索的日志窗口中,这两个堆 OOM 是唯一的(自 2026-08-11 以来),没有在 staging 或 beta 中出现。
内容来源: compiler-explorer/compiler-explorer