openai / openai/codex

[macOS][Codex Desktop] Large multi-frame HEIC preview and oversized task output crash CrBrowserMain

Open
#42,975 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app bug
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

Codex Desktop repeatedly crashes on large task content and multi-frame HEIC preview

Summary

Codex Desktop for macOS repeatedly terminates with EXC_BREAKPOINT / SIGTRAP on the Chromium main thread (CrBrowserMain, com.apple.main-thread) in two content-loading scenarios:

  1. Opening a 5120×2880, 96-frame HEIC file (about 205 MiB) in the built-in Codex file preview. Reopening the same task can restore the preview and enter a crash loop.
  2. Loading a very large historical tool result (approximately 144,000 tokens before truncation) into the task UI. This caused four additional crashes without opening the HEIC preview.

The issue reproduced across an automatic app update and generated 14 Apple crash reports between 2026-09-05 16:07 and 17:19 (UTC+08:00).

Environment

  • Product: Codex Desktop for macOS (com.openai.codex)
  • Affected app versions: 26.901.22334 (build 7746) and 26.901.41600 (build 7982)
  • Subscription: Not disclosed (not relevant to this local renderer crash)
  • Operating system: macOS 13.7.8 (build 22H730)
  • Platform string: Darwin 22.6.0 x86_64 i386
  • Architecture: Intel x86_64
  • Hardware model: iMac18,3
  • Processor: 3.5 GHz quad-core Intel Core i5
  • Memory: 16 GB

Reproduction path A: large multi-frame image preview

  1. Open a Codex task.
  2. Open a local 5120×2880, 96-frame HEIC file of about 205 MiB in the built-in Codex preview panel.
  3. The app terminates within seconds.
  4. Reopen the same task. If the preview state is restored, the app can terminate again before the task becomes usable.

Reproduction path B: very large task/tool output

  1. Open a normal Codex task.
  2. Retrieve an older task whose returned history/tool output is extremely large (approximately 144,000 tokens before client-side truncation).
  3. The desktop UI terminates while rendering or ingesting the result.

Expected behavior

  • Reject or safely downsample unsupported large/multi-frame previews without terminating the app.
  • Do not persist and automatically restore a preview state that previously terminated the app.
  • Truncate, paginate, or virtualize oversized task/tool output before sending it to the renderer.
  • Allow the affected task to reopen in a safe mode that skips the problematic preview/output item.

Actual behavior

  • The entire Codex process terminates.
  • Apple diagnostics consistently report EXC_BREAKPOINT, signal SIGTRAP, faulting thread 0, thread name CrBrowserMain, queue com.apple.main-thread.
  • The same crash class reproduced before and after the app updated from build 7746 to build 7982.

Frequency and impact

  • 14 crashes were recorded during the reported period.
  • The crash loop can make the original task inaccessible even though the underlying task work is simple.
  • Work can be continued only by avoiding the affected task, avoiding built-in preview for the HEIC, and preventing oversized historical output from entering the UI.

Privacy note

This report intentionally excludes account details, email addresses, usernames, local user paths, file contents, task/conversation text, serial numbers, hardware UUIDs, vendor device identifiers, crash incident IDs, credentials, tokens, cookies, network configuration, and raw .ips files. No sensitive attachment is included.

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 reproducing both crash paths in the Codex Desktop preview panel and task UI, using the large multi-frame HEIC and oversized historical tool output described in the report. Trace how preview state and task/tool results reach the Chromium renderer, then verify that oversized content is handled without termination and that the affected task can reopen safely.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, rust
Domain
desktop, performance
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.