opencode icon indicating copy to clipboard operation
opencode copied to clipboard

Memory leak: ACP session event streams never aborted

Open sauerdaniel opened this issue 17 hours ago • 1 comments

Problem

In the ACP (Agent Communication Protocol) module, sessions and their event streams are not properly cleaned up:

  1. Session Map Growth - Sessions are stored in a Map but never removed when completed
  2. Event Stream Leaks - Event streams created via session.stream() are never aborted when sessions end
  3. No Disposal Mechanism - No dispose() method exists to clean up session resources

Code Location

  • packages/opencode/src/acp/agent.ts
  • packages/opencode/src/acp/session.ts
  • packages/opencode/src/acp/types.ts

Impact

  • Memory grows with each session that completes
  • Event stream listeners accumulate
  • No way to explicitly clean up session resources

Relates to #5363

Expected Behavior

  • Sessions should be removed from Map when completed
  • Event streams should be aborted when session ends
  • A dispose() method should be available for explicit cleanup

sauerdaniel avatar Jan 17 '26 23:01 sauerdaniel