Double Esc backtrack causes stack overflow

Resolved 💬 2 comments Opened Oct 8, 2025 by alexx-ftw Closed Jan 10, 2026
💡 Likely answer: A maintainer (etraut-openai, contributor) responded on this thread — see the highlighted reply below.

Summary

  • double-pressing Esc in the main chat view (with an empty composer) triggers the backtrack preview
  • subsequent Esc events recurse through open_backtrack_preview → step_backtrack_and_highlight without advancing selection when there are no user messages to highlight
  • the loop never terminates, and the process crashes with hread 'main' has overflowed its stack

Reproduction Steps

  1. Start the TUI in a project with an existing conversation history (e.g., run codex resume --dangerously-bypass-approvals-and-sandbox)
  2. Ensure the composer is empty, then press Esc twice in quick succession
  3. Observe the stack overflow crash (STATUS_STACK_OVERFLOW on Windows)

Expected Behavior

  • the transcript overlay should highlight the latest user message or stop at the beginning of history without crashing

Actual Behavior

  • Esc triggers an infinite loop in backtrack preview, causing a stack overflow

Additional Context

  • Windows 11 (build 26100), PowerShell terminal
  • codex commit: b0e4fc29 (fix/paste-burst-newline branch)
  • running codex.exe resume --dangerously-bypass-approvals-and-sandbox
  • no prompt text in the composer; crash occurs even without interacting further.

View original on GitHub ↗

2 Comments

alexx-ftw · 10 months ago

Proposed fix in PR #4975: ignore repeat Esc events so backtrack only steps once per keypress and close the overlay early when there are no user messages left. That prevents the Esc loop from recursing until the stack blows up.

etraut-openai contributor · 7 months ago

Closing old issue.