AntFleet

Disagreement · d9ae4fa5-anthropic-3

Watchdog AbortController is created per-provider but never cleaned on fallback; composite signal not torn down

solo Opus
repo 56f59a0d·PR #3·reviewed 4 days ago

Opus finding

Watchdog AbortController is created per-provider but never cleaned on fallback; composite signal not torn down

lowbugmedium
  • src/providers/orchestrator.ts:340-365
AbortSignal.any creates a derived signal that listens on options.signal. When the per-provider attempt finishes and we fall back, that derived signal still holds a listener on options.signal. Over many fallbacks per long-lived caller signal, listener counts grow until the original signal is GC'd. This compounds with the retry-listener leak above.

Recommendation

Scope watchdogController + composite signal usage carefully or use AbortSignal.timeout(); ensure cleanup or document constraints.

Other reviewer

The other reviewer flagged nothing in this file/line range.

Why this didn't post

This finding didn't meet AntFleet's unanimous agreement threshold. Both frontier models review every PR independently; only findings they both flag with the same severity and category are posted to the PR. This one fell through.

read the methodology →