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
Electron 渲染过程变得无响应,并在 window.log 中记录“渲染器无响应”。冻结持续~3秒;应用恢复了,但性能严重下降。 #40572
Desktop v1.18.13 — Renderer freezes (unresponsive) due to Solid.js computeTransform/computeStyle reactive dependency cycle, amplified by ResizeObserver thrashing + API rate-limit retry storms
The Electron renderer process becomes unresponsive and logs "renderer unresponsive" in window.log. The freeze lasts ~3 seconds; the app recovers but is severely degraded.
Plugins
No third-party plugins. Using MCP servers: github, memory, postgres (local), playwright, scheduler.
OpenCode version
v1.18.13 (packaged)
Steps to reproduce
Steps to reproduce
Use OpenCode Desktop v1.18.13 on Windows 11
Have multiple projects open (at least one session active)
Use a model provider that hits rate limits (e.g., sensenova with TPM/rpm limits)
Have multiple concurrent LLM streams active
Add a new project directory to the workspace while a session is active
After ~30 seconds of API retry storms, the renderer freezes for 3-5 seconds then recovers
Screenshot and/or share link
Not available at this time. Debug logs exported at the time of freeze are available.
These existing issues cover the same symptoms (renderer freeze, ResizeObserver thrashing, Solid.js reactive loops in the Desktop app). If your issue is distinct, please clarify what differentiates it from those reports.
at computeTransform (main-5RU9uMOP.js:141619:28)
at computeStyle (main-5RU9uMOP.js:141615:18)
at runComputation (main-5RU9uMOP.js:487:22)
at updateComputation (main-5RU9uMOP.js:470:3)
at runTop (main-5RU9uMOP.js:566:7)
at runUserEffects (main-5RU9uMOP.js:660:39)
at completeUpdates (main-5RU9uMOP.js:634:18)
at runUpdates (main-5RU9uMOP.js:584:5)
at batch (main-5RU9uMOP.js:265:10)
at setStore (main-5RU9uMOP.js:34534:5)
Thanks for the report! OpenCode 2.0 is now out and development is focused on V2, so we're closing issues filed against OpenCode 1. Please upgrade (opencode upgrade --major, details: https://anoma.ly/notes/opencode-2-0), and if this is still relevant on 2.0, reopen this issue or open a new one with your 2.0 version.
Activity
github-actions commentedon Aug 5, 2026
This issue might be a duplicate of existing issues. Please check:
These existing issues cover the same symptoms (renderer freeze, ResizeObserver thrashing, Solid.js reactive loops in the Desktop app). If your issue is distinct, please clarify what differentiates it from those reports.
FOURTEEN1416 commentedon Aug 5, 2026
详细日志分析(来自 debug 日志包 opencode-debug-20260804T173459.zip)
这是 v1.18.13 在 Windows 11 上的冻结事件日志分析。不是普通的 ResizeObserver 卡顿——有新的证据链。
完整时间线(北京时间 UTC+8)
关键证据 1:stack trace 精确卡死位置
window.log 在冻结时捕获的调用栈样本:
结论: setStore 触发了 SolidJS 的批量响应式更新,computeTransform->computeStyle 的依赖图太大,单次同步批处理占满主线程 3 秒。
关键证据 2:rpm exhausted 作为放大器
服务端日志显示在冻结前 2 分钟,sensenova/deepseek-v4-flash 连续触发 rpm exhausted 错误:
每次重试意味着新的流式 token 被推入 store,每次 setStore 触发一次响应式 cascade。API 限流错误 -> 重试 -> 更多 store 写入 -> 更大的响应式依赖图 -> 更长的冻结时间。
关键证据 3:布局抖动(layout thrash)的量化数据
renderer.log 中 ResizeObserver loop completed with undelivered notifications 的数量:
这是反复出现的慢性问题,每次会话都有,但严重程度在累积。
关键证据 4:异常大的 network.netlog(8.4 MB)
7 分钟会话产生 8.4 MB 网络日志,说明大量 IPC 流量涌入 UI(主要是流式 token + 工具结果逐 chunk 推入 store)。每次推送触发响应式更新,开销放大。
为什么这不是完全重复(与现有 issue 的区别)
本 issue 核心贡献: 首次用 stack trace 证据链证明 setStore->SolidJS 响应式重算->computeStyle 是冻结的直接原因,并量化了 rpm exhausted 重试风暴作为放大器。
建议修复路径
相关 issue
LYXverynb commentedon Aug 11, 2026
[Bug] 渲染进程卡死 + ResizeObserver loop + 间歇性崩溃(Windows)
版本:opencode desktop 1.18.15(崩溃)→ 1.18.16(卡死仍在,仅崩溃类型变化)
平台:Windows(win32),Electron 42.3.3
复现概率:每次启动后 1~60 秒内必然出现
renderer unresponsive;高频使用时会 OOM/崩溃问题现象
renderer unresponsive),持续几秒到几分钟后恢复,或直接崩溃。renderer.log反复出现ResizeObserver loop completed with undelivered notifications.render process gone { reason: 'oom', exitCode: -536870904 }(内存耗尽崩溃,多次)。renderer unresponsive,且出现render process gone { reason: 'crashed', exitCode: -1 }。日志证据
renderer.log(1.18.16)
window.log(1.18.15,OOM 崩溃)
window.log(1.18.16,崩溃类型变化)
补充信息
期望
thdxr commentedon Oct 11, 2026
Thanks for the report! OpenCode 2.0 is now out and development is focused on V2, so we're closing issues filed against OpenCode 1. Please upgrade (
opencode upgrade --major, details: https://anoma.ly/notes/opencode-2-0), and if this is still relevant on 2.0, reopen this issue or open a new one with your 2.0 version.— from 𝕺𝖕𝖊𝖓𝕮𝖔𝖉𝖊