macOS 上的 OpenAI Codex 桌面应用用户发现了一个重大 Bug,该应用的崩溃报告机制 Crashpad 会生成数量无限的待处理内存转储文件。根据 GitHub 上的一份报告,该问题表现为在应用程序的支持目录中持续创建成对的 `.dmp` 和 `_sidecar.json` 文件。在记录的一个实例中,此过程在一天内就在本地磁盘上增加了约 4.9GB 的数据和超过 54,000 个文件,且在调查期间文件数量仍在持续增加。
该图像展示了 GitHub 报告中记录的特定 Bug,即 Crashpad 机制生成数量无限的待处理内存转储文件。
对该问题的技术分析表明,`browser_crashpad_handler`(用于管理崩溃报告的辅助进程)正进入崩溃并重启的循环。一名用户观察到,该处理程序在请求 Mach 端口通知时产生了一个与“无效能力”相关的 `FATAL` 错误。由于处理程序反复崩溃并重启,它在每个周期都会生成一个新的崩溃报告。这造成了一个反馈循环,即崩溃报告程序本身就是崩溃的源头,导致磁盘空间快速消耗,而主应用程序并未变得不可用。
虽然应用程序在此过程中仍可正常运行,但文件的快速堆积可能会迅速耗尽可用存储空间。一些用户报告了更严重的实例,其中一人报告的目录大小为 61GB,生成速度约为每秒一个崩溃报告。用户发现的一个临时解决方法是使用系统标志将 Crashpad 数据库目录设置为只读且不可变,从而阻止处理程序写入新文件。然而,这只是一个防止应用程序成功提交任何崩溃报告的本地缓解措施,而非解决底层循环问题的永久修复。