You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Renderer process crashes (exitCode 5) when connecting to remote server — infinite recursion in constructMessageRows #28984
The desktop app crashes consistently when connecting to a remote server. The renderer process hangs (becomes unresponsive), then exits with exitCode: 5 (killed by OS). This has happened across multiple app sessions today (v1.15.10).
Environment
OpenCode version: 1.15.10
Platform: macOS 26.3 (arm64)
Electron: 41.2.1
Node: 24.14.1
Steps to Reproduce
Open OpenCode Desktop
Connect to a remote server (SSH/remote workspace)
The app loads the previous session's message history (fetchOlderMessages)
Renderer becomes unresponsive → crashes
Expected Behavior
App connects to the remote server and displays message history without crashing.
The crash is not a network issue. The window.log captures the renderer unresponsive stack trace, which shows an infinite recursion in SolidJS's reactive system triggered by loading old session messages:
at fetchOlderMessages (session-DrMr1Tk2.js:28817)
└─ at loadMessages (main-BftoHaU0.js:66068)
└─ at constructMessageRows (session-DrMr1Tk2.js:20903)
└─ at createMemo → readSignal → runUpdates → runQueue
└─ at cleanNode (styles-CNvLU9FN.js:691)
└─ at cleanNode (styles-CNvLU9FN.js:710) ← recursive call
└─ at cleanNode ... (infinite loop)
constructMessageRows creates a SolidJS memo that triggers a reactive update cycle. The cleanNode function calls itself recursively through the dependency graph, locking the renderer thread until the OS kills it.
Full unresponsive sample from window.log:
at Object.constructMessageRows (session-DrMr1Tk2.js:20903:55)
at Object.fn (session-DrMr1Tk2.js:21360:29)
at runComputation (styles-CNvLU9FN.js:486:22)
...
at cleanNode (styles-CNvLU9FN.js:691:5)
at cleanNode (styles-CNvLU9FN.js:710:50) ← recursive
...
at async fetchOlderMessages (session-DrMr1Tk2.js:28817:7)
Frequency
Reproducible on every connection attempt to the remote server. Occurred in sessions:
20260523T133235 — crash
20260523T133533 — crash
20260523T134641 — crash
Workaround
Starting a new session instead of loading existing remote session history avoids the crash.
Attachments
Debug log bundle exported from the app (Help → Export Debug Logs) is available — contains window.log with full stack traces and 5 crashpad .dmp files.
Plugins
No response
OpenCode version
1.15.10
Steps to reproduce
Open OpenCode Desktop
Connect to a remote server (SSH/remote workspace)
The app loads the previous session's message history (fetchOlderMessages)
Activity
github-actions commentedon May 23, 2026
This issue might be a duplicate of existing issues. Please check:
constructMessageRowstriggers an infinite SolidJS reactive computation loop, causing the renderer to hang and be killed by the OS. That issue also involvesfetchOlderMessages/ loading session message history. The main difference is that Desktop app renderer hangs indefinitely on sessions with large message counts #28844 was triggered by sessions with very large part counts, while this issue is triggered by connecting to a remote server and loading existing session history.If your issue is distinct (e.g. the crash occurs with small sessions or without an unusually large message history), please clarify in a comment.
sduygun commentedon May 23, 2026
There is already open bug report
github-actions commentedon Jul 23, 2026
To stay organized issues are automatically closed after 60 days of no activity. If the issue is still relevant please open a new one.