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
Call trigger-long-running-operation with duration 2 and steps 4.
Cancel the request after 400 ms.
Call echo on the same session.
Close the client with a 400 ms cleanup limit.
Observed
The operation timed out at about 403 ms and echo succeeded on the same session. Client cleanup then exceeded 400 ms.
This reproduced three times. Normal stdio cleanup passed when no operation was cancelled. The equivalent Streamable HTTP test also cleaned up normally.
The long-running tool waits on timers and does not check request cancellation, so the handler can continue after the client cancels it.
Expected
The demonstration operation should stop after cancellation so stdio shutdown is not delayed by the original timer loop.
Severity 2: trigger-long-running-operation ignores request cancellation and keeps its timer loop running after the client cancels, so pending timers can delay stdio shutdown; the demo should stop on the request's abort signal.
Urgency 2: wanted eventually
Bonuses: +1 bug label
Still present on v2 (checked by reading the current code).
Board: Servers V2 (#43), Status Incoming, awaiting maintainer review (no milestone yet). Part of the backlog triage in #4875.
They are being closed as part of the backlog triage in #4875, since the repository now takes issues rather than outside PRs and their diffs predate the v2 refactor. They stay readable and serve as prototypes for the fix here. Thank you to their authors.
Activity
cliffhall commentedon Oct 19, 2026
Triage: Priority Low (total 5)
buglabelStill present on v2 (checked by reading the current code).
Board: Servers V2 (#43), Status
Incoming, awaiting maintainer review (no milestone yet). Part of the backlog triage in #4875.cliffhall commentedon Oct 20, 2026
Prior work, from the PR backlog triage (#4877). These outside pull requests addressed this issue against the pre-refactor code:
They are being closed as part of the backlog triage in #4875, since the repository now takes issues rather than outside PRs and their diffs predate the v2 refactor. They stay readable and serve as prototypes for the fix here. Thank you to their authors.
fix(everything): stop a cancelled long-running operation