Skip to content

Prevent build deadlocks on shared circular extends chains - #64835

Draft
Ryan Cavanaugh (RyanCavanaugh) with Copilot wants to merge 3 commits into
mainfrom
copilot/fix-circular-extends-hang
Draft

Ryan Cavanaugh (RyanCavanaugh) with Copilot wants to merge 3 commits into
mainfrom
copilot/fix-circular-extends-hang

Conversation

Copilot AI commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Concurrent projects entering a circular extends chain at different points can each hold a cache-entry lock while waiting for the other. The per-parser cycle check cannot detect this cross-goroutine deadlock.

  • Cache: Parse misses without holding locks, then publish completed entries with LoadOrStore. Concurrent misses may duplicate parsing.
  • Regression coverage: Synchronize two project parses entering the same cycle at different configs and require TS18000 from both.

Copilot AI and others added 2 commits October 15, 2026 19:35
Co-authored-by: RyanCavanaugh <6685088+RyanCavanaugh@users.noreply.github.com>
Co-authored-by: RyanCavanaugh <6685088+RyanCavanaugh@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix hang issue with tsc -b on circular extends Prevent build deadlocks on shared circular extends chains Oct 15, 2026

This branch has not been deployed

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

Labels

Author: Team For Uncommitted Bug PR for untriaged, rejected, closed or missing bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

tsc -b can hang when two referenced projects extend into one circular extends chain

2 participants