ImportTypeBeforeInstanceTest: instance read-back after import missed once (60 s) — suspected type-binding race
Maintainers usually reply within 1 day
A pull request for this has already been merged.
- #6805 by @rbuergi — merged
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 18/100
Research direction
Start with the ImportTypeBeforeInstanceTest class, specifically the InstanceEnumeratedBeforeItsType_StillLandsInOnePass test and the read of the Inst node around line 113. The open question is how an instance read waits on a type binding that lands after the first read subscribed, so trace the import and type-binding path in the graph code. Done means a deterministic repro that forces the type to bind late, plus a passing assertion that the read still converges.
Written by the indexing model from the issue text.
Description
MeshWeaver.Graph.Test.ImportTypeBeforeInstanceTest.InstanceEnumeratedBeforeItsType_StillLandsInOnePass failed once in CI on PR #6686 (shard 4). The import reported Imported (14 nodes, 0 failed), then the test's read of the Inst node did not see it within 60 s (line 113).
Not caused by #6686's diff: that PR changes only how a bare path in a type's sources resolves, and this test's type declares no sources. The test passed 2/2 locally on main, and 2/2 on #6686 merged with main. It has never failed on main.
Hypothesis (unverified): a race reading an instance back right after an import that enumerated it before its type, e.g. the instance's read waits on a type binding that lands after the first read subscribed. No deterministic repro yet.
Next step: a test that forces the type to bind after the instance's first read subscribes, and asserts the read still converges.
Refs #6686
- Dominant language
- C#
- Stars
- 12
- Forks
- 5
- Avg merge
- 5h 44m
- Merged PRs (30d)
- 968
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Systemorph/MeshWeaver
-
bug sev:M
Difficulty 4/5 3-5 days Newbie friendliness 12/100
Systemorph/MeshWeaver#6857 · 1 comment ·
Maintainers usually reply within 1 day
-
bug sev:M
Difficulty 4/5 3-5 days Newbie friendliness 25/100
Systemorph/MeshWeaver#6856 ·
Maintainers usually reply within 1 day
-
bug sev:M
Difficulty 4/5 3-5 days Newbie friendliness 18/100
Systemorph/MeshWeaver#6853 · 3 comments ·
Maintainers usually reply within 1 day
-
bug sev:H
Difficulty 4/5 3-5 days Newbie friendliness 18/100
Systemorph/MeshWeaver#6850 ·
Maintainers usually reply within 1 day
-
bug cli-publish-failure feature:release-promotion sev:M
Difficulty 3/5 1-3 hours Newbie friendliness 12/100
Systemorph/MeshWeaver#6845 ·
Maintainers usually reply within 1 day
All issues in Systemorph/MeshWeaver
Similar issues
-
needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
7.0
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
unoplatform/uno.extensions#3253 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Sector-Vestige/Sector-Vestige#476 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
PowerShell/platyPS#868 ·
-
S: Untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Trauma-Station/Trauma-Station#5058 ·
Maintainers usually reply within 1 day