Skip to content

TUI hangs in infinite render loop after auto-resume abort fails with session ID parse error #29868

Closed as not planned

Description

@nodakai

Description

OpenCode 1.15.12 hangs in an infinite TUI rendering loop after the auto-resume mechanism fails to abort a stuck subagent. The main thread spins indefinitely in renderer.CliRenderer.prepareRenderFrame -> buffer.OptimizedBuffer.setCellWithAlphaBlendingCell.

Reproduction

Not fully deterministic, but the trigger appears to be:

  1. A parent session spawns a subagent that gets stuck
  2. Auto-resume triggers abort+resume after ~16s idle
  3. The abort hits a session-ID parse error: Expected a string starting with "ses", got "%7Bid%7D"
  4. The TUI renderer then enters a tight spin loop (~40% CPU sustained), never recovering

Evidence

Log excerpt (09:53:36)

ERROR service=server ref=err_688474cc error="Expected a string starting with \"ses\", got \"%7Bid%7D\""

%7Bid%7D is URL-encoded {id} — a template literal that was not interpolated before being passed as a session ID.

Stack sample (main thread saturated)

renderer.CliRenderer.prepareRenderFrame
  buffer.OptimizedBuffer.setCellWithAlphaBlendingCell
    buffer.OptimizedBuffer.set

The process stays in S+ state with ~22% CPU for 30+ minutes until killed.

Environment

  • OpenCode version: 1.15.12
  • Platform: macOS (Darwin)
  • Installed via: mise
  • Terminal: ttys016

Activity

  1. github-actions commented on Jul 29, 2026

    @github-actions
    Contributor

    To stay organized issues are automatically closed after 60 days of no activity. If the issue is still relevant please open a new one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions