Repository navigation
CollectionsMarshal.AsSpan assertion failure in System.Text.Json tests #96876
Copy link
Copy link
Closed
Labels
Known Build ErrorUse this to report build issues in the .NET Helix tabUse this to report build issues in the .NET Helix tabarea-VM-coreclrblocking-clean-ciBlocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms'Blocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms'
Milestone
Description
Build Information
Build: https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_build/results?buildId=524311
Build error leg or test failing: System.Text.Json.Tests.WorkItemExecution
Pull request: #96870
Error Message
Fill the error message using step by step known issues guidance.
{
"ErrorMessage": "Implementation depends on List<T> always using a T[] and not U[] where U : T.",
"ErrorPattern": "",
"BuildRetry": false,
"ExcludeConsoleLog": false
}Known issue validation
Build: 🔎 https://dev.azure.com/dnceng-public/public/_build/results?buildId=524311
Error message validated: Implementation depends on List<T> always using a T[] and not U[] where U : T.
Result validation: ✅ Known issue matched with the provided build.
Validation performed at: 1/12/2024 1:31:48 AM UTC
Report
Summary
| 24-Hour Hit Count | 7-Day Hit Count | 1-Month Count |
|---|---|---|
| 0 | 43 | 43 |
Metadata
Metadata
Assignees
Labels
Known Build ErrorUse this to report build issues in the .NET Helix tabUse this to report build issues in the .NET Helix tabarea-VM-coreclrblocking-clean-ciBlocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms'Blocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms'
Activity
jkotas commentedon Jan 12, 2024
cc @stephentoub
stephentoub commentedon Jan 12, 2024
bleh, the change is flawed. will revert and rethink.
jkotas commentedon Jan 12, 2024
Where is the flaw?
stephentoub commentedon Jan 12, 2024
Hmm, I was thinking for a moment it would still need to check and actually throw, but with lists being invariant, it shouldn't be possible to specify a T and pass in a List of a derived type. So now I don't know what's going on and will need to look at what the failing test is doing, but I'm away from my computer through the weekend.
10 remaining items
EgorBo commentedon Jan 13, 2024
Minimal repro:
Reproduces without PGO, seems like the bug is in
gtFoldTypeCompareEgorBo commentedon Jan 13, 2024
This is the current culprit:
same VM call in .NET 8.0 (where bug is not manifested) returns
Mayjakobbotsch commentedon Jan 13, 2024
From a bisection, the regression seems to have been introduced in range 82ac648...23a93aa.
EgorBo commentedon Jan 13, 2024
cc @davidwrighton @jkotas Could it be #96466 ?
TLDR: it seems that JIT-EE
compareTypesForEquality(string[], _Canon[])returnsMustNotnow.jkotas commentedon Jan 13, 2024
Yes, that change included a fix in
HasSameTypeDefAsthat broke implementation ofcompareTypesForEquality. Thank you for tracking it down!Fix compareTypesForEquality
Fix compareTypesForEquality (dotnet#97062)
Fix compareTypesForEquality (dotnet#97062)