Repository navigation
Description
Bug Report
Version: 1.17.15 (Electron 42.3.3 / Chrome 148)
OS: Windows 11 (x64)
Channel: latest (auto-update from 1.17.8 → 1.17.14 → 1.17.15 on 2026-07-07)
Description
The renderer process becomes completely unresponsive within 41–90 seconds of app startup — before any user interaction. This blocks the main JS thread indefinitely, making the Electron window unresponsive.
The issue occurs on first launch after each system reboot. After closing and relaunching without rebooting, the freeze takes longer to appear (or may not appear immediately), suggesting a race condition triggered by OS-level initialization.
Not a diff-computation bug
This is different from the existing execEditLength / LineDiff freeze tracked in issues #32046, #33106, etc. The call stacks below show Solid.js reactive signal system deadlocks, not diff computation blocking.
Root Cause (from debug logs)
Two distinct but related call stacks appear in window.log — both are Solid.js reactive loop deadlocks:
Sample 1 — lookUpstream signal recursion:
at lookUpstream (main-ClUtJP2v.js) at Object.getTextValue at Object.getSectionChildren at Object.buildNodes at Object.lookUpstream [6+ levels deep, recursive] at Object.getSectionChildren at Object.buildNodes
Sample 2 — getOwnPropertyDescriptor Proxy trap loop:
at Object.getOwnPropertyDescriptor (main-ClUtJP2v.js:943:27) at Object.keys at Object.ownKeys at Object.keys at Object.keys at Object.getOwnPropertyDescriptor [repeated] at AccordionTrigger at ButtonRoot at CollapsibleTrigger at TooltipTrigger at Object.get [repeated many levels]
Manifest uptime: ~47s — freeze occurred before 1-minute mark (first sample at ~41s after startup).
Reproduction
- Reboot Windows
- Launch OpenCode 1.17.15
- App appears to load normally
- Within 41–90 seconds, renderer becomes unresponsive
Attempted fixes that did NOT resolve the issue:
- Cleared all renderer caches (Cache, GPUCache, Code Cache, DawnGraphiteCache, DawnWebGPUCache, blob_storage, Local Storage, Session Storage, Network)
- Problem persists after cache wipe — freeze occurred at ~41s vs ~87s (even faster)
- Problem also occurs on 1.17.8 and 1.17.14 — not new to 1.17.15
Affects multiple versions
Confirmed affected: 1.17.8, 1.17.14, 1.17.15 (all Windows x64).
Similar Solid.js signal loops reported on macOS arm64 in v1.17.11 (issue #34421).
Debug Logs
Full debug bundles:
- opencode-debug-20260708T112701.zip — first occurrence (~87s freeze)
- opencode-debug-20260708T113552.zip — after cache clear (~41s freeze, faster)
Both contain manifest.json, main.log, window.log with full unresponsive samples.
Suggested fix direction
The freeze is triggered during initial UI render (Accordion, Button, Collapsible components) when Solid.js reactive dependency tracking enters a circular loop:
- Add cycle detection in lookUpstream / signal graph traversal
- Ensure component props are stable references (avoid triggering Proxy traps on object spread)
- Add a renderer freeze watchdog that breaks out of long synchronous computations
- Defer non-critical UI rendering on startup
Activity
aniro2022-netizen commentedon Jul 8, 2026
Debug logs (session 1 — freeze at ~87s after startup):
opencode-debug-20260708T112701.zip
Debug logs (session 2 — freeze at ~41s after startup, after cache clear):
opencode-debug-20260708T113552.zip
github-actions commentedon Jul 8, 2026
This issue might be a duplicate of existing issues. Please check:
ListCollection.registerItem(v1.17.11, macOS arm64) #34421: Renderer hangs with infinite Solid.js signal loop (v1.17.11, macOS arm64) — same Solid.js reactive signal deadlock pattern, also involvinglookUpstream,getTextValue,getSectionChildren, and component trees (Accordion/Button/Collapsible). Issue author explicitly referenced this issue.findDOMIndexinfinite loop (v1.16.2, macOS arm64) — same underlying Solid.js reactivity hang viaregisterItem→findDOMIndex→setValue→completeLoadcall stack.If your issue is distinct (e.g. specific to Windows or the
lookUpstream/Proxy trap variant not covered by those issues), feel free to keep this open and clarify the difference.aniro2022-netizen commentedon Jul 8, 2026
opencode-debug-20260708T112701.zip
opencode-debug-20260708T113552.zip
aklajnert commentedon Jul 9, 2026
I think I am also affected by this issue - the desktop version is basically unusable now.
github-actions commentedon Sep 8, 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.