Desktop app: unbounded recursion in `review-file-source-tab` causes full UI freeze (stack overflow)
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)
- Open a chat whose turn renders a file in the file-source / code-review view (large files seem to trigger it).
- 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 anexperimentalFeature/listIPC call withdurationMs=20899(21s). Suggests main-thread work scaling with workspace-root count. - Logging bloat:
logs_2.sqlitereached 135 MB with ~51% free pages and only a_sqlx_migrationstable 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_