Codex Desktop 26.623.81905 crashes with CrBrowserMain EXC_BREAKPOINT/SIGTRAP and app-server memory spike on macOS 27
What version of the Codex App are you using (From “About Codex” dialog)?
Codex Desktop 26.623.81905 build 4598
Codex Framework / Chromium in crash report: 149.0.7827.197
What subscription do you have?
Not relevant to this local crash report.
What platform is your computer?
- macOS
27.0 (26A5368g) - Apple Silicon / ARM64
- Hardware model in crash report:
Mac17,8 - Physical memory: 64 GB
- SIP: enabled
What issue are you seeing?
Codex Desktop crashed while running in the background, then relaunched into an unhealthy state where a new codex app-server --analytics-default-enabled process consumed very high memory and CPU.
Crash summary from the macOS report:
Crash report: Codex-2026-07-02-224457.ips
Process: Codex [5758]
Path: /Applications/Codex.app/Contents/MacOS/Codex
Identifier: com.openai.codex
Version: 26.623.81905 (4598)
Code Type: ARM-64
Role: Background
Launch Time: 2026-07-02 10:03:41.6008 +0800
Capture Time: 2026-07-02 22:44:56.0901 +0800
OS Version: macOS 27.0 (26A5368g)
Faulting Thread: 0
Thread name: CrBrowserMain
Queue: com.apple.main-thread
Exception: EXC_BREAKPOINT / SIGTRAP
Termination: SIGNAL 5, Trace/BPT trap: 5
Incident: 1ACB66E8-2AD2-4863-A6D7-6008A4AA77B7
The crash report also includes repeated VM triage lines:
VM Fault hit memory shortage
Fault was interrupted
VM Fault hit memory shortage
Fault was interrupted
VM Fault hit memory shortage
Top of the faulting thread is the familiar CrBrowserMain / V8 / Chromium native crash shape:
Thread 0 Crashed: CrBrowserMain
0 Codex Framework ares_llist_replace_destructor + 2259972
1 Codex Framework v8::ToExternalPointerTag(unsigned short) + 468
2 Codex Framework v8::ToExternalPointerTag(unsigned short) + 352
3 Codex Framework rust_png$cxxbridge1$194$Reader$get_iccp_chunk + 127636
4 Codex Framework temporal_rs_PlainDate_calendar + 3572
...
After the crash/relaunch, Codex remained visibly resource-heavy. A live sample of the new app-server showed:
Process: /Applications/Codex.app/Contents/Resources/codex app-server --analytics-default-enabled
PID: 47099
Launch Time: 2026-07-02 22:45:01.918 +0800
Physical footprint during sample: 10.4 GB
Physical footprint peak during sample: 23.1 GB
At approximately 2026-07-02 22:47:09-22:47:13 +0800, repeated ps samples showed the same new app-server around 119% to 254% CPU and RSS growing from roughly 13.6 GB to 14.2 GB.
A later sample at 2026-07-02 22:49:02 +0800 still showed:
PID PPID ELAPSED STAT %CPU RSS
47099 47053 04:01 R 159.8 ~7.8 GB
There was also an old orphaned app-server from the pre-crash session still running under launchd:
PID PPID ELAPSED COMMAND
5808 1 12:45:19 /Applications/Codex.app/Contents/Resources/codex app-server --analytics-default-enabled
The old app-server had previously peaked around 20.0 GB physical footprint in sample output, though it had fallen back to a smaller resident size by the time I inspected it.
In addition, the Chrome extension host for Codex was also memory-heavy during the same incident window:
Process: Codex for Chrome
Parent: Google Chrome
Physical footprint during sample: 6.6 GB
Physical footprint peak: 6.6 GB
The system was not globally out of memory at the exact later sample, but Codex-specific memory pressure was abnormal. memory_pressure still reported about 51% free memory at one later point, while the Codex app-server remained at multi-GB RSS and high CPU.
What steps can reproduce the bug?
I do not have a deterministic minimal reproduction yet.
Observed sequence:
- Launch Codex Desktop
26.623.81905on macOS27.0 (26A5368g). - Use Codex normally in long-running desktop sessions with Browser / Chrome extension / Computer Use / MCP helpers available.
- Leave Codex running for several hours.
- Codex quits unexpectedly in the background after about 12h 41m uptime.
- macOS records
EXC_BREAKPOINT / SIGTRAPonThread 0 CrBrowserMainwith VM memory-shortage triage lines. - After relaunch, a new
codex app-server --analytics-default-enabledgrows to very high memory and CPU, while an old app-server from the crashed session remains orphaned underlaunchd.
What is the expected behavior?
Codex Desktop should not terminate the main app process with EXC_BREAKPOINT / SIGTRAP during a long-running session.
If Chromium/V8/native-module work hits memory pressure, Codex should fail gracefully, release memory, or surface a recoverable error rather than crashing.
After a crash/relaunch, Codex should cleanly retire stale app-server/helper processes from the previous session and should not immediately grow a fresh app-server to tens of GB peak physical footprint.
Actual behavior
- Main Codex process crashed with
CrBrowserMainEXC_BREAKPOINT / SIGTRAP. - Crash triage included repeated
VM Fault hit memory shortagelines. - After relaunch, a fresh app-server reached
23.1 GBpeak physical footprint and sustained high CPU. - An old app-server from the crashed session remained orphaned under
launchd. - The Codex Chrome extension host also showed high memory footprint during the same window.
Additional information
This appears related to the recent macOS Desktop crash/resource family, but this report adds a newer combination:
- latest observed app build here:
26.623.81905build4598 - macOS
27.0 (26A5368g) CrBrowserMainEXC_BREAKPOINT / SIGTRAP- VM memory-shortage triage in the crash report
- post-relaunch app-server peak physical footprint of
23.1 GB - stale orphaned app-server from the crashed session
- high-footprint
Codex for Chromeextension host during the same incident
Possibly related issues:
- #30553 - Codex Desktop 26.623.61825 crashes with EXC_BREAKPOINT/SIGTRAP in CrBrowserMain on macOS 27.0
- #30824 - Codex Desktop 26.623.81905 crashes with EXC_BREAKPOINT/SIGTRAP in FSEvents uv__fsevents_close and leaves stale helpers
- #27880 - Repeated macOS Codex Desktop 26.609 crashes: CrBrowserMain EXC_BREAKPOINT, Renderer SIGABRT, stale app-server helpers
- #29510 - Codex app-server can grow to 30-40 GB when local rollout history is huge
- #26869 - Codex Desktop app-server leaks child processes and writes excessive logs after crash/restart
I am not attaching the full raw .ips report publicly because it may contain local identifiers, paths, and process command lines. I can provide a redacted excerpt or the full report privately if useful.
4 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Thanks for the duplicate check. I reviewed #30553 and agree it is closely related, but I do not think this is an exact duplicate yet.
The overlap is:
The additional evidence in this report is different/newer:
26.623.81905/ build4598, while #30553 was26.623.61825/ build4548VM Fault hit memory shortagetriage linescodex app-server --analytics-default-enabledreached23.1 GBpeak physical footprint and sustained high CPUlaunchdCodex for Chromeextension host also showed a6.6 GBphysical footprint in the same incident windowSo #30553 is probably in the same crash family, but this issue adds a newer build plus post-crash app-server/extension memory behavior. If maintainers prefer consolidating these, I am fine with closing this after the newer memory/process evidence is copied into the canonical issue.
Additional crash from the same session family, shortly after the original report.
A second macOS crash report was generated:
This is the main Codex process that relaunched after the earlier 22:44 crash. It crashed again about 49 minutes later.
The top crashing frames are the same shape as the earlier report:
The VM triage lines are slightly different from the first crash, but still point at VM fault/page pressure rather than a clean handled failure:
After this second crash, Codex relaunched again. The new app-server immediately reproduced the high-memory pattern:
A live process snapshot at about
2026-07-02 23:36:xx +0800showed:The original orphaned app-server from the pre-crash session was still present:
So the pattern is now reproducible across two consecutive Codex main-process crashes in the same evening:
22:44:56crash:pid 5758,CrBrowserMain,EXC_BREAKPOINT / SIGTRAP, VM memory-shortage triage, followed by app-server peak23.1 GB.23:34:45crash:pid 47053, sameCrBrowserMain/EXC_BREAKPOINT / SIGTRAPtop frames, followed by a newly relaunched app-server again peaking at23.1 GBwithin about 80 seconds.I still have not posted raw
.ipscontents publicly because they may contain local identifiers and command lines, but I can provide a redacted excerpt or full report privately if maintainers need it.Confirming this on a different build and a different macOS version, with the same faulting signature. Adding measurements in case they help narrow it down.
A third occurrence produced no
.ipsat all: the app froze, the process tree survived (same PIDs, uptime continuous), and the UI recovered on its own. So the failure mode has at least two shapes — hard V8 abort and soft hang.app-server footprint
Measured with
/usr/bin/samplerather thanps rss, since RSS on macOS over-reports shared and compressed pages here by roughly an order of magnitude.The 20.6 GB peak was reached twice, on two different app-server PIDs, in both cases within roughly 40 minutes of launch. Current footprint drops back afterwards, so this reads as a spike-and-release pattern rather than monotonic growth.
One MCP server set per open thread
This may be a separate issue, but it is the largest amplifier I could measure, so including it here.
With 10 locally-spawned MCP servers configured in
~/.codex/config.tomland 6 threads open, the app-server had 68 direct child processes totalling 10.1 GB, with a clean 6× pattern:Each
npx-launched server costs annpm execwrapper plus a node child. Nothing appears to be shared across threads, and nothing is reclaimed while the app stays open.Reducing the config from 10 local servers to 5 — merging four
server-filesystemdeclarations into one multi-root declaration, and disabling three optional servers — changed this to:Same workload, same machine, restart in between. This does not fix the underlying spike (see below), but it moves the ceiling a long way.
logs_2.sqlite
Matches what is reported in #21134, at a larger scale:
Roughly 76% of the file is freelist. Over one billion rows have been written and pruned, while only ~505k are retained.
Last hour by level:
Top targets, last hour:
codex_core_skills::loaderemitted 182 warnings on a singleskills/listrequest, all of the same two shapes:plus
codex_core_plugins::manifest:These are cosmetic in themselves, but they are re-emitted in full on every
skills/list, which the renderer requests repeatedly.For scale, the whole
~/.codexdirectory is 70 GB (27 GBworktrees, 19 GBvisualizations, 12 GBarchived_sessions, 3.9 GBsessions, 3.7 GBlogs_2.sqlite).Requests
logs_2.sqliteby bytes, not only by row count, andVACUUMor useauto_vacuumso the freelist does not hold ~2.8 GiB.skills/list.Happy to provide further sanitized diagnostics if maintainers specify which fields are useful. Raw rollouts and log bodies are withheld as they contain client data.