Crash caused by missing pointer in underlying C++ code
What version of the Codex App are you using (From “About Codex” dialog)?
2026.3.10,on micosoft store
What subscription do you have?
plus
What platform is your computer?
Microsoft Windows NT 10.0.26100.0 x64
What issue are you seeing?
我在使用codex app的时候,遇到一个问题,就是任务会话进行中的时候,一旦强行关闭codex app或者被意外关闭,那么再次进入到时候,它的会话就会卡死,被无限挂起,用户在GUI上不能停止这个会话,也不能继续会话。这非常影响工作效率和用户体验。
What steps can reproduce the bug?
在电脑上下载codex app,开启一个gpt5.4的高强度推理模式,然后随便发一个比较长时间的任务,比如阅读这个框架项目。然后在执行过程中,直接关闭codex app。再次进入,打开刚才的对话,就发现卡死了
What is the expected behavior?
我期望是,关闭codex app后,没有终止的会话直接终止,类似antigravity和cursor 一样,或者是,会话后台继续,但是至少用户可以点击终止按钮终止或者是补充继续对话,而不是卡死。
Additional information
这是我用antigravity分析和尝试解决的结果,希望能帮助到你们!
故障原因分析:
这个报错(remove_pty_baton(baton->id))是 node-pty 模块的一个底层 Bug:当 Codex 内部开启的后台交互终端(比如它正在读取项目文件或运行命令时)被不正常地强制中断,它的底层 C++ 代码会抛出指针缺失的强退报错。
导致应用“继续卡死转圈”的罪魁祸首是:应用闪退前,当前聊天的记录日志(~/.codex/sessions/**/*.jsonl)刚写下了 "开始了某个任务..."(task_started 事件),由于没有机会写下对应的 "任务结束"(task_complete)标签就崩溃了。
此时,每次 Codex 重启并读取你的历史聊天记录时,都会发现最后有一条一直“未完结”的任务,所以界面就会误以为它还在执行,并永远转圈,而你在 UI 上点停止按钮也无法打断一个其实已经死掉的进程。
我执行的操作: 完全不必删掉重装或清空你的历史记录。我直接编写并执行了一个微型 Python“修复脚本”。 该脚本扫描了你本地存储的 Codex 所有会话日记流(JSONL 文件),自动锁定了那条在崩溃中被卡住的特定“幽灵任务”,并人工在文件末尾向它注入了一条伪造的 turn_aborted (任务已强制中止) 事件指令。
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗