Repository navigation
Record W0 SQLite pool race and tested upstream correction - #145
Merged
Merged
Conversation
Preserve the published-package reproducer, upstream patch and regression test for W0-F1. Record the negative control, 800,000 corrected stress opens, upstream SQLite suite results and immutable diagnostic artifact identities. Keep DataLinq on its unchanged official dependency and leave W0-F1 open until upstream integration, corrected package adoption and affected baseline evidence are complete.
Link upstream issue 39008 and PR 39009, preserve the requested GPT-6 Astra on Extra High disclosure, and record the pending personal CLA response. Keep the tested patch and sealed evidence unchanged, and leave W0-F1 open until a corrected official driver is adopted and verified.
Record the explicit user-approved exception for internal async contracts and controllable-provider tests. Keep native SQLite acceptance, baseline closeout and release approval gated on a corrected official dependency and recaptured evidence. Record the user-posted CLA acceptance without claiming upstream approval or changing the sealed evidence.
This was referenced Sep 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
W0-F1 intermittently failed with SQLite error 1,
cannot start a transaction within a transaction. Investigation reproduced the exact error using published Microsoft.Data.Sqlite 10.0.11 alone: two distinct, still-open connections receive the same pooled native handle.The driver's activation method publishes its active flag before its weak owner. A concurrent checkout can misclassify that intermediate state as a leaked connection and lend it to another owner. Reversing the two writes fixes the reproduced interleaving without disabling pooling, adding locks, or retrying transactions.
Changes
This PR changes no DataLinq runtime code or package references. The upstream patch is a reviewable artifact, not an installed dependency. Upstream submission is complete: issue dotnet/efcore#39008 and fix PR dotnet/efcore#39009. Both disclose that this fix was found, reproduced and posted with GPT-6 Astra on Extra High, with the repository owner's authorization. The contributor has personally posted CLA acceptance. Upstream review and a corrected package release remain pending. W0-F1 remains open.
The user has now explicitly approved a limited sequencing exception: internal W1 async contracts and controllable-provider tests may proceed on v0.10. SQLite integration acceptance, W0-F1 closeout, final provider feasibility/public API freeze and release approval remain blocked. No runtime workaround, dependency change or evidence relabeling is included.
This targets master because the defect affects current consumers. The eventual corrected-package adoption should land on master and merge forward to v0.10 under the accepted workflow. W0 capture is recorded separately in #144.
Validation
category=failingexclusion. This is not the full EF Core matrix.docs/dev-plans/**is excluded from the website.Raw evidence remains local; only the report, patch and standalone reproducer are committed. A passing stress run is not proof that all possible races are absent, and no passing run retroactively changes the original W0 failure.