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

Number of jit tests failing with needLabel assert #61939

Closed
AndyAyersMS opened this issue Nov 22, 2021 · 2 comments · Fixed by #62025
Closed

Number of jit tests failing with needLabel assert #61939

AndyAyersMS opened this issue Nov 22, 2021 · 2 comments · Fixed by #62025
Assignees
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Milestone

Comments

@AndyAyersMS
Copy link
Member

Saw this first when testing OSR but it seems to be more widespread.

Eg from libraries-pgo run: https://dev.azure.com/dnceng/public/_build/results?buildId=1480057&view=ms.vss-test-web.build-test-results-tab

  Starting:    System.Text.RegularExpressions.Tests (parallel test collections = on, max threads = 4)

Assert failure(PID 27 [0x0000001b], Thread: 33 [0x0021]): Assertion failed 'needLabel' in '<>c__DisplayClass207_0:<TryGenerateSimplifiedGo>g__EmitSingleCharAtomicLoop|22(System.Text.RegularExpressions.RegexNode):this' during 'Generate code' (IL size 1706)

    File: /__w/1/s/src/coreclr/jit/codegenlinear.cpp Line: 348
    Image: /root/helix/work/correlation/dotnet

Underlying issue is that we end up deciding to put align padding before an unreachable block, and then assert that that block does not have a label.

cc @kunalspathak @dotnet/jit-contrib

@dotnet-issue-labeler dotnet-issue-labeler bot added area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI untriaged New issue has not been triaged by the area owner labels Nov 22, 2021
@ghost
Copy link

ghost commented Nov 22, 2021

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

Issue Details

Saw this first when testing OSR but it seems to be more widespread.

Eg from libraries-pgo run: https://dev.azure.com/dnceng/public/_build/results?buildId=1480057&view=ms.vss-test-web.build-test-results-tab

  Starting:    System.Text.RegularExpressions.Tests (parallel test collections = on, max threads = 4)

Assert failure(PID 27 [0x0000001b], Thread: 33 [0x0021]): Assertion failed 'needLabel' in '<>c__DisplayClass207_0:<TryGenerateSimplifiedGo>g__EmitSingleCharAtomicLoop|22(System.Text.RegularExpressions.RegexNode):this' during 'Generate code' (IL size 1706)

    File: /__w/1/s/src/coreclr/jit/codegenlinear.cpp Line: 348
    Image: /root/helix/work/correlation/dotnet

Underlying issue is that we end up deciding to put align padding before an unreachable block, and then assert that that block does not have a label.

cc @kunalspathak @dotnet/jit-contrib

Author: AndyAyersMS
Assignees: -
Labels:

area-CodeGen-coreclr, untriaged

Milestone: -

@JulieLeeMSFT JulieLeeMSFT removed the untriaged New issue has not been triaged by the area owner label Nov 22, 2021
@JulieLeeMSFT JulieLeeMSFT added this to the 7.0.0 milestone Nov 22, 2021
@kunalspathak
Copy link
Member

This is mostly causing because we sometimes can have back to back jumps as part of same IG. We might have an align instruction after the first jmp and then expect the next instruction (in this case a jmp) has its own label. #62025 will fix this and some other loop alignment related issues.

       E97AFFFFFF           jmp      G_M22669_IG12
       E9A0060000           jmp      G_M22669_IG78

@ghost ghost added the in-pr There is an active PR which will close this issue when it is merged label Nov 28, 2021
@ghost ghost removed the in-pr There is an active PR which will close this issue when it is merged label Dec 1, 2021
@ghost ghost locked as resolved and limited conversation to collaborators Dec 31, 2021
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
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants