Updated Codex Always Crash!!!
What version of the Codex App are you using (From “About Codex” dialog)?
26.601.21317 (build 3511) Also reproduced on 26.527.60818 (build 3437).
What subscription do you have?
Pro plan ($200/mo) 20x more usage than Plus, GPT-5.5 Pro
What platform is your computer?
_No response_
What issue are you seeing?
Title:
Codex Desktop repeatedly crashes: git worker triggers Node/V8 OOM and aborts process
Environment:
- App: Codex Desktop
- Bundle ID: com.openai.codex
- Hardware: Mac16,7, Apple M4 Pro, 24GB unified memory
- OS: macOS 26.3.1 (25D2128)
- Crash type: EXC_CRASH
- Termination: SIGNAL code=6 / SIGABRT
- Triggered thread: git
- Common stack evidence: node::OOMErrorHandler(...)
- Pattern: 12 recent crash reports all show triggered_thread=git and node_oom=True
Crash reports:
Codex-2026-06-02-163701.ips | timestamp=2026-06-02 16:37:01 +0800 | app=26.527.60818 (3437) | exception=EXC_CRASH | termination=SIGNAL code=6 | triggered_thread=git | node_oom=True
Codex-2026-06-02-165418.ips | timestamp=2026-06-02 16:54:18 +0800 | app=26.527.60818 (3437) | exception=EXC_CRASH | termination=SIGNAL code=6 | triggered_thread=git | node_oom=True
Codex-2026-06-02-173459.ips | timestamp=2026-06-02 17:34:59 +0800 | app=26.527.60818 (3437) | exception=EXC_CRASH | termination=SIGNAL code=6 | triggered_thread=git | node_oom=True
Codex-2026-06-02-174410.ips | timestamp=2026-06-02 17:44:10 +0800 | app=26.527.60818 (3437) | exception=EXC_CRASH | termination=SIGNAL code=6 | triggered_thread=git | node_oom=True
Codex-2026-06-03-110703.ips | timestamp=2026-06-03 11:07:03 +0800 | app=26.601.21317 (3511) | exception=EXC_CRASH | termination=SIGNAL code=6 | triggered_thread=git | node_oom=True
Codex-2026-06-03-112557.ips | timestamp=2026-06-03 11:25:57 +0800 | app=26.601.21317 (3511) | exception=EXC_CRASH | termination=SIGNAL code=6 | triggered_thread=git | node_oom=True
Codex-2026-06-03-113710.ips | timestamp=2026-06-03 11:37:10 +0800 | app=26.601.21317 (3511) | exception=EXC_CRASH | termination=SIGNAL code=6 | triggered_thread=git | node_oom=True
Codex-2026-06-03-114859.ips | timestamp=2026-06-03 11:48:59 +0800 | app=26.601.21317 (3511) | exception=EXC_CRASH | termination=SIGNAL code=6 | triggered_thread=git | node_oom=True
Codex-2026-06-03-115955.ips | timestamp=2026-06-03 11:59:55 +0800 | app=26.601.21317 (3511) | exception=EXC_CRASH | termination=SIGNAL code=6 | triggered_thread=git | node_oom=True
Codex-2026-06-03-121216.ips | timestamp=2026-06-03 12:12:16 +0800 | app=26.601.21317 (3511) | exception=EXC_CRASH | termination=SIGNAL code=6 | triggered_thread=git | node_oom=True
Codex-2026-06-03-133215.ips | timestamp=2026-06-03 13:32:15 +0800 | app=26.601.21317 (3511) | exception=EXC_CRASH | termination=SIGNAL code=6 | triggered_thread=git | node_oom=True
Codex-2026-06-03-135954.ips | timestamp=2026-06-03 13:59:54 +0800 | app=26.601.21317 (3511) | exception=EXC_CRASH | termination=SIGNAL code=6 | triggered_thread=git | node_oom=True
Representative crashed thread stack from latest report:
Thread name: git
Triggered: true
app_name: Codex
timestamp: 2026-06-02 16:37:01.00 +0800
app_version: 26.527.60818
build_version: 3437
bundleID: com.openai.codex
procPath: /Applications/Codex.app/Contents/MacOS/Codex
modelCode: Mac16,7
osVersion: macOS 26.3.1 (25D2128)
incident: C0555175-7433-4D63-93AC-269FB4D4A9A4
exception:
type: EXC_CRASH
signal: SIGABRT
termination:
namespace: SIGNAL
code: 6
indicator: Abort trap: 6
byProc: Codex
byPid: 42508
legacyInfo:
threadTriggered:
name: git
TRIGGERED THREAD
id: 147863605 name: git triggered: True
00 __pthread_kill + 8 [libsystem_kernel.dylib]
01 pthread_kill + 296 [libsystem_pthread.dylib]
02 abort + 124 [libsystem_c.dylib]
03 node::OOMErrorHandler(char const*, v8::OOMDetails const&) + 344 [Codex Framework]
04 v8::ToExternalPointerTag(unsigned short) + 468 [Codex Framework]
05 v8::ToExternalPointerTag(unsigned short) + 352 [Codex Framework]
06 v8::ExternalMemoryAccounter::Update(v8::Isolate*, long long) + 39756 [Codex Framework]
07 cppgc::internal::WriteBarrier::DijkstraMarkingBarrierSlow(void const*) + 79252 [Codex Framework]
08 cppgc::internal::WriteBarrier::DijkstraMarkingBarrierSlow(void const*) + 74696 [Codex Framework]
09 cppgc::internal::WriteBarrier::DijkstraMarkingBarrierSlow(void const*) + 73400 [Codex Framework]
21 v8::internal::compiler::CompilationDependencies::DependOnElementsKind(...) + 83648 [Codex Framework]
22 v8::internal::ThreadIsolation::LookupJitAllocation(...) + 5832 [Codex Framework]
23 v8_inspector::V8ContextInfo::executionContextId(...) + 49392 [Codex Framework]
24 node::InternalCallbackScope::Close() + 412 [Codex Framework]
25 node::InternalMakeCallback(...) + 464 [Codex Framework]
26 node::AsyncWrap::MakeCallback(...) + 280 [Codex Framework]
27 node::HandleWrap::OnClose(uv_handle_s*) + 496 [Codex Framework]
28 uv_run + 528 [Codex Framework]
29 node::SpinEventLoopInternal(node::Environment*) + 464 [Codex Framework]
30 node::worker::Worker::Run() + 4848 [Codex Framework]
31 node::worker::Worker::SelfSize() const + 132 [Codex Framework]
32 _pthread_start + 136 [libsystem_pthread.dylib]
33 thread_start + 8 [libsystem_pthread.dylib]
0 __pthread_kill
1 pthread_kill
2 abort
3 node::OOMErrorHandler(char const*, v8::OOMDetails const&)
4 v8::ToExternalPointerTag(unsigned short)
5 v8::ToExternalPointerTag(unsigned short)
6 v8::internal::OptimizingCompileTaskExecutor::RunCompilationJob(...)
7 v8::internal::ThreadIsolation::JitPageReference::AllocationContaining(...)
8 v8::internal::ThreadIsolation::JitPageReference::AllocationContaining(...)
9 v8::internal::ThreadIsolation::JitPageReference::AllocationContaining(...)
Impact:
Codex Desktop repeatedly exits unexpectedly during normal use. The crash reports are consistent across multiple versions, and all point to a git worker thread aborting after Node/V8 OOM handling.
Expected:
A git/background worker OOM should not terminate the entire desktop app. Ideally the worker should fail/restart gracefully, or the app should bound git/file scanning memory usage.
Actual:
The Codex process receives SIGABRT from the git worker after node::OOMErrorHandler, causing the entire desktop app to crash.
What steps can reproduce the bug?
it seems some git memory leakage
What is the expected behavior?
_No response_
Additional information
_No response_
5 Comments
Additional repro data from another machine, matching this issue's
gitworker / Node-V8 OOM signature.Environment:
26.601.21317(build3511)Darwin 25.5.0 arm64 arm26.5(25F71)Mac14,15EXC_CRASH/SIGABRTAbort trap: 6Crash reports from 2026-06-03:
| capture time | incident | faulting thread | thread name | top frames |
| --- | --- | --- | --- | --- |
|
10:46:46.3957 +0200|C89978CA-F230-4CF4-8849-93655679E278|49|git|__pthread_kill -> pthread_kill -> abort -> node::OOMErrorHandler(...) -> v8::ToExternalPointerTag(...)||
10:56:43.8075 +0200|97FD07E1-6916-424A-B4DC-E4B4BDB5798C|49|git|__pthread_kill -> pthread_kill -> abort -> node::OOMErrorHandler(...) -> v8::ToExternalPointerTag(...)||
11:14:57.9655 +0200|819151A8-6EBA-4CFD-9074-4F0A12F224C1|49|git|__pthread_kill -> pthread_kill -> abort -> node::OOMErrorHandler(...) -> v8::ToExternalPointerTag(...)|Representative crashed-thread stack from the latest report:
Impact: the whole Codex desktop app exits unexpectedly. This supports the root-cause hypothesis that a Node/V8 OOM in the desktop app's
gitworker aborts the entire app process instead of the worker failing or restarting in isolation.Repro status: not tied to a single deterministic command yet. It happened repeatedly during normal Codex App use in one morning/session, with no user-facing error before the app terminated.
My report was #26458. Yes, this appears to be the same underlying crash signature as #26079: Codex Desktop 26.601.21317, triggered thread git, SIGABRT, node::OOMErrorHandler. My issue may add a reproduction clue: it occurs after invoking Computer Use, and my crash reports include browser-use-peer-authorization.node. I’m okay closing my issue as a duplicate if you want to track the core Node/V8 git-worker OOM in #26079, but I recommend noting the Computer Use/browser-use trigger there.
Also reproducing on the latest build 26.602.30954 (build 3575) — not memory-size dependent
Same signature as the report:
EXC_CRASH/SIGABRT(code 6), faulting thread namedgit, stack topnode::OOMErrorHandler(...)→abort()(Node/V8 JS-heap OOM inside a worker thread).com.openai.codextriggered_thread=git,node_oom=true26.601.21317 (3511)and the newest26.602.30954 (3575)Latest stack (symbolicated, faulting thread
git):Looks like the
gitworker's V8 isolate hits its old-space heap limit and V8 aborts the whole process. Happy to share full.ipsfiles if useful.Maybe we should as CODEX to fix it.
Confirming this is still happening on today's latest production build
(
26.623.42026/ build4514, published on the production appcasthttps://persistent.oaistatic.com/codex-app-prod/appcast.xmlat2026-06-27 04:58 UTC). Same
git-worker /node::OOMErrorHandler/abort()signature as the original report — nothing was fixed in the4 builds shipped between 2026-06-21 and 2026-06-27.
Adds these 4 new affected builds to the timeline
| Date (local) | App version | Build | Signal | V8 OOM in faulting frame? | Uptime (h) | Wake (h) |
|---|---|---|---|---|---|---|
| 2026-06-21 | 26.602.30954 | 3575 | SIGABRT | yes | 23.3 | 1.9 |
| 2026-06-21 | 26.602.30954 | 3575 | SIGABRT | yes | 23.3 | 2.0 |
| 2026-06-21 | 26.602.30954 | 3575 | SIGABRT | yes | 23.3 | 2.1 |
| 2026-06-21 | 26.602.30954 | 3575 | SIGABRT | yes | 23.6 | 2.2 |
| 2026-06-21 | 26.602.30954 | 3575 | SIGABRT | yes | 24.2 | 2.8 |
| 2026-06-21 | 26.616.41845 | 4198 | SIGABRT | yes | 24.4 | 3.2 |
| 2026-06-21 | 26.616.51431 | 4212 | SIGABRT | yes | 33.3 | 13.4 |
| 2026-06-24 | 26.616.81150 | 4306 | SIGTRAP† | (V8 fatal — see note) | 77.8 | 0.8 |
| 2026-06-27 | 26.623.42026 | 4514 | SIGABRT | yes | 130.6 | 15.5 |
† Incident 8 is
SIGTRAPrather thanSIGABRT, still in the samegitworker. Consistent with a V8 fatal-error path taken when the OOM-handler
path itself fails or an internal V8 invariant is violated during
late-stage allocation. Same root cause family.
Identical signature across all 9 incidents
Environment (constant across all 9)
Mac16,5browser-use-peer-authorization.nodepath mentioned in #26458 is notrequired to trigger this — it's just one of several entry points into
the
gitworker that exhausts the heap)Why the
wake-hcolumn mattersThe time-since-wake at crash spans 0.8 h → 15.5 h, which makes this look
workload-driven rather than time-driven. Combined with 7 crashes inside a
few hours on 2026-06-21 across 3 auto-updated builds, the most likely
culprit is an unbounded retained data structure inside the
gitNodeWorker — a result cache / EventEmitter listener chain / Map keyed on
repo path or commit SHA that is never trimmed. The fact that
HandleWrap::OnCloseis the libuv entry into the failing callback (frame29) suggests the OOM fires when finalizing a libuv handle the worker
keeps spawning for git operations.
Suggested investigation
Codex Framework's embedded Node bundle, locate the Workerinstantiated with
{ name: "git" }(orworkerDataindicating git).retained-size growth of any cache keyed by repo path / commit SHA /
file path, plus any EventEmitter listener arrays.
setInterval/setTimeoutchains in that worker thatretain closures over previous results.
git status/git log/git diffinvocation in a Map / Array thatis never trimmed.
Privacy note for OpenAI engineers
Per-incident sanitized excerpts (exception / termination / faulting
thread frames / thread-count summary), the summary JSON, and the
sanitization script used are available on request. All PII (username,
home paths, UUIDs, IPs, MACs,
deviceIdentifierForVendor,crashReporterKey, boot session UUIDs, etc.) was stripped beforesharing; technical signature and backtraces are intact and sufficient
to debug.