Skip to content

Regression: "e is not iterable" at POe.setItems causes repeated extension host crashes (copilot-chat 0.43.0) #308869

@spidey99

Description

@spidey99

Summary

TypeError: e is not iterable at POe.setItems in github.copilot-chat-0.43.0 crashes the extension host repeatedly. This appears to be a regression of microsoft/vscode-copilot-release#7993 (same call site: setItems_computeFn_recomputerecomputeInitiallyAndOnChange).

Environment

  • Copilot Chat Extension Version: 0.43.0 (stable)
  • VS Code Version: 1.100+ (stable channel)
  • OS: Windows 11

Stack Trace

TypeError: e is not iterable
    at POe.setItems (github.copilot-chat-0.43.0/dist/extension.js:1162:19962)
    at Yd._computeFn (github.copilot-chat-0.43.0/dist/extension.js:1162:19701)
    at Yd._recompute (github.copilot-chat-0.43.0/dist/extension.js:1162:11920)
    at Yd.get (github.copilot-chat-0.43.0/dist/extension.js:1162:11254)
    at Yd.reportChanges (github.copilot-chat-0.43.0/dist/extension.js:1162:497)
    at DOe.endUpdate (github.copilot-chat-0.43.0/dist/extension.js:1162:19460)
    at abn (github.copilot-chat-0.43.0/dist/extension.js:1162:19178)
    at Yd.recomputeInitiallyAndOnChange (github.copilot-chat-0.43.0/dist/extension.js:1162:1092)

Compare with vscode-copilot-release#7993 (0.27.2025041701):

at EX.setItems (...extension.js:419:27542)
at Ba._computeFn (...extension.js:419:27274)
at Ba._recompute (...extension.js:419:21114)

Same code path, different minified symbols.

Impact

  • 21 extension host restarts in a single VS Code session (one day of work)
  • Each restart kills all extensions, not just Copilot Chat — Python language server, ESLint, GitLens, etc. all restart
  • Extension host process consuming ~4 GB memory before crashes

Reproduction

Occurs during normal Copilot Chat agent-mode usage (multi-turn conversations with tool calls). Not tied to a specific action — happens intermittently during chat sessions.

Bisect

  • 0.42.3: No crashes. Stable over multiple days of heavy usage.
  • 0.43.0: Crashes repeatedly (installed 2026-04-08, crashes started immediately).

Rolling back to 0.42.3 eliminates the issue.

Secondary Errors (likely consequence, not cause)

After the primary crash, the GitHub PR extension sometimes hits API timeouts during recovery, producing a secondary TypeError: Converting circular structure to JSON when trying to serialize a TLSSocket error object. This appears to be the PR extension failing to handle its own error gracefully during extension host restart, not the root cause.

Notes

In vscode-copilot-release#7993, @hediet identified the probable cause: setItems receives an undefined argument. The original reporter updated their extension and it resolved, so no root-cause fix was confirmed. This regression suggests the underlying issue was masked rather than fixed.

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