Skip to content

[Desktop] Fatal renderer error: "Stale read from <Show>" when opening a project folder #39991

Description

@PaysNatal

Environment

  • App: OpenCode Desktop 1.18.10 (packaged, oc://renderer/)
  • OS: macOS, arm64
  • Runtime (from debug bundle manifest): Electron 42.3.3, Chrome 148.0.7778.218, Node 24.15.0

Error

Logged as fatal renderer error in renderer.log (url: oc://renderer/index.html, platform: desktop):

Error: Stale read from <Show>.
    at castError (oc://renderer/assets/main-DX5ErpZp.js:735:10)
    at handleError (oc://renderer/assets/main-DX5ErpZp.js:748:18)
    at runComputation (oc://renderer/assets/main-DX5ErpZp.js:501:12)
    at updateComputation (oc://renderer/assets/main-DX5ErpZp.js:470:3)
    at runTop (oc://renderer/assets/main-DX5ErpZp.js:566:7)
    at runQueue (oc://renderer/assets/main-DX5ErpZp.js:638:45)
    at completeUpdates (oc://renderer/assets/main-DX5ErpZp.js:594:5)
    at runUpdates (oc://renderer/assets/main-DX5ErpZp.js:584:5)
    at oc://renderer/assets/main-DX5ErpZp.js:473:7

Repro context

Triggered when opening/switching to a project folder in the desktop app.

Timeline from the debug bundle session logs:

[2026-08-01 10:18:32.859] [error] ResizeObserver loop completed with undelivered notifications.
[2026-08-01 10:18:32.885] [error] ResizeObserver loop completed with undelivered notifications.
[2026-08-01 10:18:47.937] [error] (renderer)   fatal renderer error { ... }

The renderer.log for the failing session is very short (only these lines) — the renderer appears to die during initial/first-screen render after the project switch. Server layer kept running normally (no server-side errors in server.log).

Observations

  • Intermittent: several earlier sessions (previous day and same day) were completely clean — no renderer errors. Only this one session hit the fatal error.
  • Renderer-only failure: the underlying server/agent layer was unaffected.
  • The app auto-generated a debug bundle (opencode-debug-20260801T021852) containing renderer.log, main.log, server.log, crash.log, network logs and manifest.json — available if you need more details.

Initial assessment (not a diagnosis)

Looks like a SolidJS stale-signal race in the renderer: <Show> read a signal that had already been disposed/replaced during a batched update run triggered by the project switch (stack goes through runUpdates -> runQueue -> completeUpdates). The two ResizeObserver loop warnings right before it suggest layout churn around the same moment, possibly related.

Happy to share the full debug bundle or run extra logging on request — otherwise leaving the deep diagnosis to you.

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