Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

ImportTypeBeforeInstanceTest: instance read-back after import missed once (60 s) — suspected type-binding race

Closed
#6,759 1 comment 0 reactions 0 assignees View on GitHub

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
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
csharp
Domain
backend

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

bug sev:M

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Systemorph/MeshWeaver

All issues in Systemorph/MeshWeaver

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.