Desktop app: unbounded recursion in `review-file-source-tab` causes full UI freeze (stack overflow)

Open 💬 0 comments Opened Jun 6, 2026 by Dimasik007

What version of the Codex App are you using (From “About Codex” dialog)?

26.602.40724

What subscription do you have?

PRO

What platform is your computer?

windows 11

What issue are you seeing?

The Codex desktop app freezes completely (renderer at 100% CPU, window unresponsive) when a chat renders a file in the code-review / file-source view. The desktop renderer log contains hundreds of repeated, alternating stack frames between two functions in review-file-source-tab, consistent with unbounded recursion / stack overflow.

Environment

  • Desktop app build: 26.602.4764.0 (internal version string 26.602.40724, flavor prod)
  • Bundled engine: codex 0.130.0-alpha.5
  • OS: Windows 11 (x64), MSIX/Store install (package OpenAI.Codex_..._x64__...)

What steps can reproduce the bug?

Feedback ID: no-active-thread-019e9ebd-852c-7dc2-ae7e-18936e465b97

What is the expected behavior?

The two functions call each other with no apparent base case; the frame offsets cycle (…109116 ↔ …109418/109398/109186). A renderer process then sits at 100% CPU and the window must be killed via Task Manager. No native crash dump and no Windows "Application Hang" event are produced (JS-level freeze, not a native crash).

Steps to reproduce (observed conditions; exact trigger not isolated)

  1. Open a chat whose turn renders a file in the file-source / code-review view (large files seem to trigger it).
  2. The app becomes fully unresponsive.

Starting a brand-new chat avoids it.

Expected

Rendering a file in the review/source view should not recurse unboundedly; large/edge-case files should render or degrade gracefully.

Secondary findings (possibly a separate perf issue)

  • UI lag: typing in the composer freezes the UI 10–20s; switching chats too. Main process pegs a core at startup. Config: 5 workspace roots, 67 skills, 9 plugins, 3 MCP servers. Disabling all 9 plugins did not reduce CPU. Logs show a git-repo-watcher + git origin scans across all 5 roots, Skills/list cwdsCount=5, and an experimentalFeature/list IPC call with durationMs=20899 (21s). Suggests main-thread work scaling with workspace-root count.
  • Logging bloat: logs_2.sqlite reached 135 MB with ~51% free pages and only a _sqlx_migrations table visible (heavy churn, never VACUUMed). After deletion it regrew to ~9 MB within ~1 minute of use — logging volume looks excessive (possibly a debug level left enabled).

I can attach the full desktop log, config.toml, and DB stats on request.

Additional information

_No response_

View original on GitHub ↗