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

Libraries jitstress: Assertion failed 'target->hasProfileWeight()' #109657

Closed
AndyAyersMS opened this issue Nov 8, 2024 · 1 comment · Fixed by #109714
Closed

Libraries jitstress: Assertion failed 'target->hasProfileWeight()' #109657

AndyAyersMS opened this issue Nov 8, 2024 · 1 comment · Fixed by #109714
Assignees
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI in-pr There is an active PR which will close this issue when it is merged JitStress CLR JIT issues involving JIT internal stress modes
Milestone

Comments

@AndyAyersMS
Copy link
Member

Many tests failing with

Assert failure(PID 4380 [0x0000111c], Thread: 944 [0x03b0]): Assertion failed 'target->hasProfileWeight()' in 'System.Security.Cryptography.X509Certificates.Tests.X509CertificateLoaderTests:LoadCertificate_WithTrailingData():this' during 'Morph - Inlining' (IL size 143; hash 0x69436fb7; FullOpts)

    File: D:\a\_work\1\s\src\coreclr\jit\fginline.cpp:675
    Image: C:\h\w\B576099D\p\dotnet.exe

https://dev.azure.com/dnceng-public/public/_build/results?buildId=864401&view=ms.vss-test-web.build-test-results-tab

@AndyAyersMS AndyAyersMS added area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI JitStress CLR JIT issues involving JIT internal stress modes labels Nov 8, 2024
@AndyAyersMS AndyAyersMS added this to the 10.0.0 milestone Nov 8, 2024
@AndyAyersMS AndyAyersMS self-assigned this Nov 8, 2024
Copy link
Contributor

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

@dotnet-policy-service dotnet-policy-service bot added the in-pr There is an active PR which will close this issue when it is merged label Nov 12, 2024
AndyAyersMS added a commit that referenced this issue Nov 13, 2024
It's possible for the JIT to inline a profiled inlinee into an unprofiled context, and then have a subsequent inline fold a profiled branch. If so we may see a case where the folded edges don't have profile information.

Tolerate this.

Fixes #109657

Re-morphing of a statement during early-prop may mistakenly believe it has altered the flow graph and so invalidates DFS. Value numbering is not set up to handle this and crashes. Since this seems like a rare occurrence, have morph detect if it has really changed the flowgraph and avoid invalidating the DFS when it hasn't.

Fixes #109730
mikelle-rogers pushed a commit to mikelle-rogers/runtime that referenced this issue Dec 10, 2024
It's possible for the JIT to inline a profiled inlinee into an unprofiled context, and then have a subsequent inline fold a profiled branch. If so we may see a case where the folded edges don't have profile information.

Tolerate this.

Fixes dotnet#109657

Re-morphing of a statement during early-prop may mistakenly believe it has altered the flow graph and so invalidates DFS. Value numbering is not set up to handle this and crashes. Since this seems like a rare occurrence, have morph detect if it has really changed the flowgraph and avoid invalidating the DFS when it hasn't.

Fixes dotnet#109730
@github-actions github-actions bot locked and limited conversation to collaborators Dec 14, 2024
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 in-pr There is an active PR which will close this issue when it is merged JitStress CLR JIT issues involving JIT internal stress modes
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant