openai / openai/codex

[macOS] 4 unattended Codex (Renderer) processes grew to ~5.6 GB each — jetsam storms, swap-filled disk, system freeze (26.820.60940)

Open
#41,794 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app bug performance
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.