Skip to content

docs(known-issues): note recent CI hits for SymbolIndexStore race#74

Merged
Mx-Iris merged 1 commit intomainfrom
docs/known-issues-ci-note
Apr 19, 2026
Merged

docs(known-issues): note recent CI hits for SymbolIndexStore race#74
Mx-Iris merged 1 commit intomainfrom
docs/known-issues-ci-note

Conversation

@Mx-Iris
Copy link
Copy Markdown
Member

@Mx-Iris Mx-Iris commented Apr 19, 2026

Summary

Record that the previously documented SymbolIndexStore.demangledNode(for:in:) data race (KNOWN_ISSUES.md § Concurrency) was reproduced on two recent main-push CI runs under .github/workflows/macOS.yml:

  • Merge of docs/readme-0.9.1 — debug-mode swift test step crashed with signal 11 (run 24628302034).
  • Merge of release/0.10.0 — release-mode swift test step crashed the same way (run 24633097766).

The matching PR-branch runs for the same commits passed (e.g. run 24633093885 on release/0.10.0), reinforcing the parallel-harness-only nature of the race.

No code change — documentation only.

Test plan

  • Single-line edit under the existing entry — no build required

Record that the documented SymbolIndexStore.demangledNode data race has
been reproduced on two recent main-push CI runs (debug step after 0.9.1
docs merge, release step after 0.10.0 merge), while the matching
PR-branch runs for the same commits pass. Makes the flaky,
parallel-harness-only nature easier to spot for future triage.
Copilot AI review requested due to automatic review settings April 19, 2026 16:28
@Mx-Iris Mx-Iris merged commit 64ff0fb into main Apr 19, 2026
1 check failed
@Mx-Iris Mx-Iris deleted the docs/known-issues-ci-note branch April 19, 2026 16:28
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates KNOWN_ISSUES.md to include details about recent CI failures on the main branch caused by a known race condition in the parallel test harness. The review feedback points out a minor capitalization inconsistency in the new entry to match the existing style of the document.

Comment thread KNOWN_ISSUES.md
- **Why deferred:** Running individual sub-suites (for example `--filter SwiftInterfaceBuilderTestSuite.MachOFileTests`) passes reliably, and end-to-end tests (`SymbolTestsCoreE2ETests`, `MachOSymbolsTests`, `DemanglingTests`) also pass. Only the parallel-suite harness configuration exposes the race, so ordinary CLI workflows are unaffected.
- **Potential fix:** Either (a) guard `demangledNodeBySymbol` with the same `SharedCache` mutex that already wraps `Storage` access, (b) make `setDemangledNode`/`demangledNodeBySymbol` itself thread-safe with an internal lock, or (c) pre-populate `demangledNodeBySymbol` completely during `buildStorageImpl` so `demangledNode(for:in:)` becomes read-only at query time.
- **Tracking:** Observed during PR #61 review-follow-up testing.
- **Recent CI hits:** reproduced on `main` push runs under `.github/workflows/macOS.yml` — after merging `docs/readme-0.9.1` the debug-mode `swift test` step crashed with signal 11 (run 24628302034), and after merging `release/0.10.0` the release-mode step crashed the same way (run 24633097766). Both commits passed on their matching PR-branch runs (e.g. run 24633093885 for `release/0.10.0`), reinforcing the parallel-harness-only nature of the race.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The description following the bold label should start with a capital letter to maintain consistency with the existing entries in this file (e.g., lines 22, 24, and 26).

Suggested change
- **Recent CI hits:** reproduced on `main` push runs under `.github/workflows/macOS.yml` — after merging `docs/readme-0.9.1` the debug-mode `swift test` step crashed with signal 11 (run 24628302034), and after merging `release/0.10.0` the release-mode step crashed the same way (run 24633097766). Both commits passed on their matching PR-branch runs (e.g. run 24633093885 for `release/0.10.0`), reinforcing the parallel-harness-only nature of the race.
- **Recent CI hits:** Reproduced on `main` push runs under `.github/workflows/macOS.yml` — after merging `docs/readme-0.9.1` the debug-mode `swift test` step crashed with signal 11 (run 24628302034), and after merging `release/0.10.0` the release-mode step crashed the same way (run 24633097766). Both commits passed on their matching PR-branch runs (e.g. run 24633093885 for `release/0.10.0`), reinforcing the parallel-harness-only nature of the race.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the project’s known-issues documentation to record two recent CI crashes that reproduce the already-documented SymbolIndexStore.demangledNode(for:in:) parallel-test data race, helping correlate the issue with specific main push runs.

Changes:

  • Add a “Recent CI hits” bullet under the existing SymbolIndexStore.demangledNode(for:in:) race entry.
  • Capture the affected CI workflow, test mode (debug vs release), and run IDs where the crash occurred.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread KNOWN_ISSUES.md
- **Why deferred:** Running individual sub-suites (for example `--filter SwiftInterfaceBuilderTestSuite.MachOFileTests`) passes reliably, and end-to-end tests (`SymbolTestsCoreE2ETests`, `MachOSymbolsTests`, `DemanglingTests`) also pass. Only the parallel-suite harness configuration exposes the race, so ordinary CLI workflows are unaffected.
- **Potential fix:** Either (a) guard `demangledNodeBySymbol` with the same `SharedCache` mutex that already wraps `Storage` access, (b) make `setDemangledNode`/`demangledNodeBySymbol` itself thread-safe with an internal lock, or (c) pre-populate `demangledNodeBySymbol` completely during `buildStorageImpl` so `demangledNode(for:in:)` becomes read-only at query time.
- **Tracking:** Observed during PR #61 review-follow-up testing.
- **Recent CI hits:** reproduced on `main` push runs under `.github/workflows/macOS.yml` — after merging `docs/readme-0.9.1` the debug-mode `swift test` step crashed with signal 11 (run 24628302034), and after merging `release/0.10.0` the release-mode step crashed the same way (run 24633097766). Both commits passed on their matching PR-branch runs (e.g. run 24633093885 for `release/0.10.0`), reinforcing the parallel-harness-only nature of the race.
Copy link

Copilot AI Apr 19, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The value after Recent CI hits: starts with lowercase "reproduced"; consider capitalizing it to match the sentence-style formatting used in the other bullets (e.g., Tracking: Observed…, Raised…).

Suggested change
- **Recent CI hits:** reproduced on `main` push runs under `.github/workflows/macOS.yml` — after merging `docs/readme-0.9.1` the debug-mode `swift test` step crashed with signal 11 (run 24628302034), and after merging `release/0.10.0` the release-mode step crashed the same way (run 24633097766). Both commits passed on their matching PR-branch runs (e.g. run 24633093885 for `release/0.10.0`), reinforcing the parallel-harness-only nature of the race.
- **Recent CI hits:** Reproduced on `main` push runs under `.github/workflows/macOS.yml` — after merging `docs/readme-0.9.1` the debug-mode `swift test` step crashed with signal 11 (run 24628302034), and after merging `release/0.10.0` the release-mode step crashed the same way (run 24633097766). Both commits passed on their matching PR-branch runs (e.g. run 24633093885 for `release/0.10.0`), reinforcing the parallel-harness-only nature of the race.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants