-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Assertion failed 'unreached' in '<ToString_TestData>d__71:MoveNext():bool:this' during 'Do value numbering' (IL size 6679; hash 0x288e6df7; Tier1) #69047
Comments
Tagging subscribers to this area: @JulieLeeMSFT Issue DetailsBuild: https://dev.azure.com/dnceng/public/_build/results?buildId=1759044&view=results Assert failure(PID 26 [0x0000001a], Thread: 100 [0x0064]): Assertion failed 'unreached' in '<ToString_TestData>d__71:MoveNext():bool:this' during 'Do value numbering' (IL size 6679; hash 0x288e6df7; Tier1)
File: /__w/1/s/src/coreclr/jit/valuenum.cpp Line: 1905
Image: /root/helix/work/correlation/dotnet This only failed on Alpine, although that may tiering related.
|
There is an unfortunate mismatch between PR validation and rolling validation: on PRs we build libraries tests in debug while in rolling validation we build them in release. I'm not sure why we have this mismatch, two failures (including this one) made it into main last week because of it. cc @agocke, maybe something we need to reconsider? Also @dotnet/area-infrastructure-libraries |
This does not seem to repro with MSVC. It also does not repro under |
The mismatch in configurations is intentional as we don't have enough resources to test all configurations on PR runs. With the mixed matrix we make sure that all configurations are tested. |
The problem is in runtime/src/coreclr/jit/valuenum.cpp Line 9627 in f8fa9f6
@SingleAccretion do you want to submit the fix? |
@jakobbotsch thank you for diagnosing this! Yes, will submit the fix shortly. |
I wonder if we should reconsider the matrix. Running the JIT over all libraries tests in debug vs in release is a very significant difference. Achieving our goal of 95% pass rate seems difficult if we intentionally have large discrepancies like this. What do you think about getting the checked coreclr x debug tests coverage as part of weekly runs instead of in PRs? Then for PRs with coreclr changes we would instead run checked coreclr x release tests, the same as rolling builds. |
@jkotas @danmoseley regarding changing the configuration matrix in PRs vs rolling builds. |
For PRs, we want to maximize coverage variety while minimizing costs. We have checked CoreCLR + Debug libraries tests for many platforms in the PR mix, but no checked CoreCLR + Release libraries tests. I think we should change checked CoreCLR + Debug libraries for subset of platforms to checked CoreCLR + Release libraries to increase the variety. |
When a PR fails a test, the debug callstacks and the
Is it? I feel like .NET developers expect that JIT and R2R make functionally equivalent outputs. Changes in the CLR might invalidate that, so checked CLR + runtime libraries is an interesting bucket for PRs that have changes to those areas (or, if that's hard, "for PRs that change either CoreCLR or the mono runtime") |
PR's today seem to include 3 variations for Linux coreclr x64:
The last one could change to checked/release -- would we lose important coverage? |
I always look at the whole matrix. We still have |
Sounds good to me. I'll try to work on that this week.
Agreed, for libraries changes it makes sense to run libraries tests in debug. However in this case, when we have coreclr changes (e.g. changes in a JIT optimization pass), we run checked coreclr + debug libraries tests. This does not exercise the JIT changes to nearly the same degree as if the libraries tests are compiled in release. |
Build: https://dev.azure.com/dnceng/public/_build/results?buildId=1759044&view=results
Leg: Libraries Test Run checked coreclr Linux_musl x64 Release
Log: https://helixre8s23ayyeko0k025g8.blob.core.windows.net/dotnet-runtime-refs-heads-main-5e336d55e08940948e/System.Runtime.Tests/1/console.80904107.log?helixlogtype=result
This only failed on Alpine, although that may tiering related.
cc @SingleAccretion
The text was updated successfully, but these errors were encountered: