You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
AlertReadFailureSurfaceTests.TheNewestFailuresFactsAreNeverABlendOfTwo fails when the writers finish before the reader's first check #4312
CI failed on #4292 at 92bcaa19, in the build job's "Run Darling tests" step, with one failure:
Darling.Tests.AlertReadFailureSurfaceTests.TheNewestFailuresFactsAreNeverABlendOfTwo: "the reader observed nothing, so its silence proves nothing" (Darling/Darling.Tests/AlertReadFailureSurfaceTests.cs, line 803).
#4292 does not touch this file or AlertReadFailureCounter.
Why it fails
The test starts five writer tasks with TaskCreationOptions.LongRunning. Then it reads on the test thread:
A while loop checks its condition before its first pass. If all five writers finish before the test thread first checks it, the body never runs, and observations stays 0. On a busy runner, the test thread can wait for a CPU while five dedicated writer threads run 200,000 iterations each.
The comment above the assert says that the seeded bucket makes one observation certain. The seed makes the first reading complete, but it does not make the loop run.
Activity
Seed both parts before writers start in UnderConcurrency_TheInstanceT…
Flaky test: the failure-facts reader always reads once before checkin…
erikdarlingdata commentedon Sep 25, 2026
Closed by the watcher: delivered in PR #4335, merged to dev.
erikdarlingdata commentedon Sep 25, 2026
Fixed by #4335, merged to dev (c48b696).