You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Bug]: OpenCode abort timeout does not enable Force stop #30987
I searched existing issues and did not find a duplicate.
I included enough detail to reproduce or investigate the problem.
Area
apps/server
Steps to reproduce
Code-derived reproduction, not executed:
Start an OpenCode turn and wait until prompt admission has completed.
Keep the turn active and withhold terminal events.
Configure client.session.abort to remain pending until its request is cancelled.
Request Stop and allow the adapter’s 10-second abort timeout to expire.
Keep the same behavior for subsequent interrupt attempts.
Expected behavior
A timed-out abort should mark Stop unresponsive and offer Force stop.
Actual behavior
The adapter’s timeout fails before the session manager’s 15-second timeout. While the turn remains unfinalized, the adapter resets turn.interrupted and wraps the failure in ProviderAdapterInterruptError.
ProviderTurnControlService does not classify that error as unresponsive. The interrupt effect follows generic failure/retry handling, rather than enabling Force stop.
Impact
Minor bug or occasional failure
A provider that never answers abort can leave Stop unresolved without offering the intended Force stop recovery action. It needs a provider that doesn't confirm the stop (or the timing described above), so it is occasional rather than constant.
Found by reading the code while porting the Stop / Force stop changes (6b1245c, 5f2c27e) into a fork. Derived from the code at 9e85538; not reproduced at runtime.
Activity