[macOS] 4 unattended Codex (Renderer) processes grew to ~5.6 GB each — jetsam storms, swap-filled disk, system freeze (26.820.60940)
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.4k
- PR merge metrics
- PR metrics pending
Description
What version of the Codex App are you using (From "About Codex" dialog)?
26.820.60940 (build 7119; Codex Framework 151.0.7922.170). The app updated to this version at boot on Aug 27 15:35 (bundle mtime) and ran on it for the entire session below.
What subscription do you have?
N/A (not relevant to this report)
What platform is your computer?
Darwin 25.6.0 arm64 arm — macOS 26.6.2 (25G83), Mac mini (Mac16,10, Apple M4), 16 GB RAM
What issue are you seeing?
The machine was left unattended over a weekend (Fri Aug 28 evening → Mon Aug 31 morning) with the Codex app running. On Monday morning it was hot, frozen at the login screen, and required a hard reset. macOS diagnostic artifacts record a complete memory-exhaustion chain caused by Codex (Renderer) processes:
| When (local) | What macOS recorded |
|---|---|
| Fri Aug 28 23:03 | Routine daily disk report: 8.98 GB free |
| Sat Aug 29 18:10–18:16 | First jetsam burst (3 JetsamEvent reports). Four Codex (Renderer) processes (consecutive pids 9674–9677) each resident at ~364,7xx pages × 16 KB ≈ 5.57 GB (~22 GB combined on a 16 GB machine). Memory compressor: 528,554 pages (~8 GB). Free memory: ~237 MB. Every report names largestProcess: "Codex (Renderer)" |
| Sat Aug 29 23:03 | Disk nearly full: 261 MB free (≈8.7 GB written in 24 h — swap + logs) |
| Sun Aug 30 08:55–09:28 | 9 more JetsamEvents, 7 of them inside a 2-minute window (one every ~30 s). The same four renderers (same pids) still pinned at 5.57 GB each |
| Sun Aug 30 09:30–09:53 | Cascade of system-daemon crashes (calaccessd, dataaccessd, recentsd, lsd, …) — classic memory-pressure fallout |
| Mon Aug 31 08:51 | WindowServer stackshot (bug_type 409): UI/login frozen |
| Mon Aug 31 ~11:05 | Hard reset. Swap cleared at boot, disk back to 15 GB free |
Key observations:
- The renderer count stayed at 4 the whole time — this is unbounded per-process growth of idle renderers, the opposite of the process-count leak in #32663.
- The sizes were essentially identical in the Sat 18:10 and Sun 09:24 snapshots (364,7xx pages), i.e. 5.57 GB is a stable plateau, not a transient spike.
- The machine had no user interaction over the weekend; nothing was actively prompting Codex.
What steps can reproduce the bug?
No reliable reproducer yet. The apparent trigger is leaving the Codex app (with threads/panels open) unattended for many hours. The numbers above come from macOS JetsamEvent-*.ips diagnostics (e.g. JetsamEvent-2026-08-29-181043.ips, JetsamEvent-2026-08-30-092426.ips), which record per-process resident page counts and name Codex (Renderer) as the largest process at kill time. Happy to attach or share those reports if useful.
What is the expected behavior?
Idle/backgrounded renderer processes should not grow without bound. Ideally:
- A memory ceiling or page-cache release for renderers when the app is hidden or idle for hours.
- A guard so a single renderer cannot push a 16 GB machine into full memory exhaustion, swap-driven disk exhaustion, and system freeze.
Additional information
- Searched before filing. Closely related open issues: #38176 (renderer memory bloat with long conversations during active use), #38807 (high memory/CPU after the 26.810.50856 update with similar 16 GB symptoms), #32663 (renderer process-count leak via MCP webviews). This report documents the unattended/idle variant with kernel-level (jetsam) evidence, including the disk-exhaustion side effect that amplified the freeze.
- Renderer memory was not observed to shrink at any point across the ~40 h session.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by examining the cited macOS JetsamEvent diagnostics and the Codex Renderer lifecycle for unattended threads and panels; no source file or test is identified in the report. Reproduce or instrument a long idle session, then verify that renderer memory remains bounded without swap-driven disk exhaustion or system freezes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- macos, rust
- Domain
- desktop, operating-systems, performance
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100