Skip to content

everything: Streamable HTTP SIGINT handler never closes a session (for...in over a Map) #4983

Closed

Description

@cliffhall

Problem

The shutdown handler in transports/streamableHttp.ts iterates the session Map with for...in, which yields no entries for a Map. On Ctrl-C the process logs and exits 0 without closing any transport, so open sessions are never cleaned up.

Where it is pinned

src/everything/__tests__/streamable-http.test.ts: "shutdown: logs and exits 0 without closing any session", added in #4978 (Wave 1 of #4857). Each of these tests carries a KNOWN BUG marker: it asserts the current, wrong behavior, so the fix has to change it.

Expected

Shutdown closes every open transport (iterate with for...of over the map's values) before exiting.

Done when

  • The behavior above is fixed, in the legacy-era (2025-11-25) server on SDK 1.x.
  • The pinning tests assert the correct behavior, and their KNOWN BUG markers are gone.
  • The per-file 90% coverage gate still passes.

Activity

  1. added this to the v2.0.0 milestone on Oct 4, 2026
  2. added
    bugSomething isn't working
    server-everythingReference implementation for the Everything MCP server - src/everything
    on Oct 4, 2026
  3. self-assigned this
    on Oct 4, 2026
  4. cliffhall commented on Oct 5, 2026

    @cliffhall
    MemberAuthor

    Fixed by #5006, merged into v2/main (Wave 1 of #5004).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingserver-everythingReference implementation for the Everything MCP server - src/everythingv2

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions