Skip to content
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 'child->isContained()' #60330

Closed
BruceForstall opened this issue Oct 13, 2021 · 9 comments · Fixed by #62883
Closed

Assertion failed 'child->isContained()' #60330

BruceForstall opened this issue Oct 13, 2021 · 9 comments · Fixed by #62883
Assignees
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI blocking-outerloop Blocking the 'runtime-coreclr outerloop' and 'runtime-libraries-coreclr outerloop' runs JitStress CLR JIT issues involving JIT internal stress modes
Milestone

Comments

@BruceForstall
Copy link
Member

Linux x64 with various JitStressRegs modes fails with:

Assert failure(PID 27796 [0x00006c94], Thread: 27810 [0x6ca2]): Assertion failed 'child->isContained()' in 'System.Numerics.Tests.Vector4Tests:Vector4ZeroTest():this' during 'Linear scan register alloc' (IL size 39)

    File: /__w/2/s/src/coreclr/jit/lsraxarch.cpp Line: 490
    Image: /datadisks/disk1/work/AE07095B/p/dotnet

https://dev.azure.com/dnceng/public/_build/results?buildId=1412342&view=ms.vss-test-web.build-test-results-tab&runId=40943234&resultId=183443&paneView=dotnet-dnceng.dnceng-build-release-tasks.helix-test-information-tab

@kunalspathak @dotnet/jit-contrib

@BruceForstall BruceForstall added JitStress CLR JIT issues involving JIT internal stress modes area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI blocking-outerloop Blocking the 'runtime-coreclr outerloop' and 'runtime-libraries-coreclr outerloop' runs labels Oct 13, 2021
@BruceForstall BruceForstall added this to the 7.0.0 milestone Oct 13, 2021
@dotnet-issue-labeler dotnet-issue-labeler bot added the untriaged New issue has not been triaged by the area owner label Oct 13, 2021
@ghost
Copy link

ghost commented Oct 13, 2021

Tagging subscribers to this area: @JulieLeeMSFT
See info in area-owners.md if you want to be subscribed.

Issue Details

Linux x64 with various JitStressRegs modes fails with:

Assert failure(PID 27796 [0x00006c94], Thread: 27810 [0x6ca2]): Assertion failed 'child->isContained()' in 'System.Numerics.Tests.Vector4Tests:Vector4ZeroTest():this' during 'Linear scan register alloc' (IL size 39)

    File: /__w/2/s/src/coreclr/jit/lsraxarch.cpp Line: 490
    Image: /datadisks/disk1/work/AE07095B/p/dotnet

https://dev.azure.com/dnceng/public/_build/results?buildId=1412342&view=ms.vss-test-web.build-test-results-tab&runId=40943234&resultId=183443&paneView=dotnet-dnceng.dnceng-build-release-tasks.helix-test-information-tab

@kunalspathak @dotnet/jit-contrib

Author: BruceForstall
Assignees: -
Labels:

JitStress, area-CodeGen-coreclr, blocking-outerloop

Milestone: 7.0.0

@kunalspathak
Copy link
Member

I will take a look.

@kunalspathak
Copy link
Member

This was introduced in #55875 where we started substituting the parameter less HWIntrinsic nodes like Vector128/Vector256.get_Zero during inlining.

@kunalspathak
Copy link
Member

@BruceForstall - I searched for Vector3ZeroTest method in libraries_tests.mch but I couldn't find it which means we are not collecting SPMI for it...any possible reason? I saw the logs and we do copy System.Numerics.Vectors.Test.dll that contains this method.

@kunalspathak
Copy link
Member

@EgorBo - can you take a look?

@kunalspathak kunalspathak removed their assignment Dec 15, 2021
@BruceForstall
Copy link
Member Author

@BruceForstall - I searched for Vector3ZeroTest method in libraries_tests.mch but I couldn't find it which means we are not collecting SPMI for it...any possible reason? I saw the logs and we do copy System.Numerics.Vectors.Test.dll that contains this method.

Don't know. If the IL matches another test, we'll drop it during de-duplication. Or, if PMI fails for some reason or the JIT fails during PMI, it won't be included. Actually, I'm not sure how well PMI handles Vector cases; maybe that's it?

@kunalspathak
Copy link
Member

maybe that's it?

I do see other methods from that class, so not sure if that is the case.

@EgorBo
Copy link
Member

EgorBo commented Dec 15, 2021

@EgorBo - can you take a look?

Sure, thanks for the investigation!

@ghost ghost added the in-pr There is an active PR which will close this issue when it is merged label Dec 16, 2021
@ghost ghost removed the in-pr There is an active PR which will close this issue when it is merged label Dec 17, 2021
@ghost ghost locked as resolved and limited conversation to collaborators Jan 16, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI blocking-outerloop Blocking the 'runtime-coreclr outerloop' and 'runtime-libraries-coreclr outerloop' runs JitStress CLR JIT issues involving JIT internal stress modes
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants