Repository navigation
Cancel mapper requests before waiting for host shutdown - #65492
Merged
Jake Bailey (jakebailey) merged 1 commit intoNov 14, 2026
Merged
Jake Bailey (jakebailey) merged 1 commit into
Jake Bailey (jakebailey) merged 1 commit into
Conversation
A pending mapper RPC holds the lifecycle read lock while waiting for the host context. Closing the host must cancel that context before waiting for readers, otherwise an unresponsive mapper prevents Close from completing.
Jake Bailey (jakebailey)
requested review from
Andrew Branch (andrewbranch)
and
a balanced review from Copilot
November 14, 2026 00:00
Andrew Branch (andrewbranch)
approved these changes
Nov 14, 2026
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
No active review issues were identified for the content-mapper shutdown change.
No open issues 🎉
What changed in this PR
Fixes a content-mapper shutdown deadlock by cancelling pending requests before waiting for the lifecycle lock, allowing host shutdown to complete when a mapper is unresponsive.
Changes:
- Moves context cancellation ahead of lifecycle-lock acquisition in
Close. - Adds deterministic regression tests for blocked initialize, open-project, transform, and close-project requests.
| File | Description |
|---|---|
tsc/internal/contentmapper/hostimpl.go |
Cancels pending mapper requests before waiting for shutdown access. |
tsc/internal/contentmapper/host_test.go |
Generalizes the blocking mapper helper and tests shutdown with pending requests. |
Review effort: Balanced
Jake Bailey (jakebailey)
enabled auto-merge
November 14, 2026 00:05
Jake Bailey (jakebailey)
deleted the
compiler-fixes/content-mapper-close
branch
November 14, 2026 00:46
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A pending mapper RPC holds the lifecycle read lock while waiting for the host context. Closing the host must cancel that context before waiting for readers, otherwise an unresponsive mapper prevents Close from completing.
Caught in an audit.