AntFleet

Disagreement · c9663187-anthropic-3

`close()` swallows exceptions from EXIT signal then awaits platform_task that may never exit

solo Opus
repo 193af03f·PR #2·reviewed 1 week ago

Opus finding

`close()` swallows exceptions from EXIT signal then awaits platform_task that may never exit

mediumbugmedium
  • backend/wonderwall/environment/env.py:266-279
`write_to_receive_queue` puts onto an asyncio queue and is extremely unlikely to raise based on what kind of token is being sent. The try/except is a misleading dispatcher: in practice, the first call always succeeds, and `BasePlatform.running` compares `action.value if hasattr(action, "value") else action` against the string "exit", which works for the enum (whose .value is 'exit'). So the fallback branch is dead. However, if `ActionType.EXIT.value != 'exit'`, BasePlatform.running will not exit and `await self.platform_task` will hang forever, never raising. The comment also implies a dual-protocol that doesn’t exist.

Recommendation

Send the literal string `"exit"` directly for BasePlatform-derived platforms; or have BasePlatform.running explicitly recognize ActionType.EXIT.

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 →