fix(mcp): reset AsyncExitStack after cleanup for reconnect (#618)#2882
fix(mcp): reset AsyncExitStack after cleanup for reconnect (#618)#2882Abdeltoto wants to merge 1 commit intoopenai:mainfrom
Conversation
AsyncExitStack cannot be reused after aclose(). Second connect()/reconnect() must use a fresh stack. Clear server_initialize_result on teardown. Add regression test for connect->cleanup->connect->cleanup. Made-with: Cursor
|
I think we should be a bit more careful about resetting
If Could we keep the existing stack on cancellation, and only create a fresh |
|
This PR is stale because it has been open for 10 days with no activity. |
Problem
\AsyncExitStack\ cannot be reused after \�close(). After \cleanup(), a second \connect()\ (e.g. \MCPServerManager.reconnect()) would call \enter_async_context\ on a closed stack, which is invalid and can contribute to resource leaks / shutdown warnings (see #618).
Change
Testing
uff check\ on touched files: OK.
Fixes Resource tracker warning (leaked semaphores) with MCPServerStdio #618
Made with Cursor