Skip to content

JIT: Assertion failed '!compIsForInlining()' during 'Morph - Inlining' in jit64_2 tests #112363

Closed

Description

@amanasifkhalid

Build Information

Build: https://dev.azure.com/dnceng-public/public/_build/results?buildId=945874&view=results
Build error leg or test failing:

Error Message

Fill the error message using step by step known issues guidance.

{
  "ErrorMessage": "Assertion failed '!compIsForInlining()'",
  "BuildRetry": false,
  "ExcludeConsoleLog": false
}

Configuration:

set DOTNET_TieredCompilation=0
set DOTNET_JitStress=1a7

Example log. cc @dotnet/jit-contrib

Known issue validation

Build: 🔎 https://dev.azure.com/dnceng-public/public/_build/results?buildId=945874
Error message validated: [Assertion failed '!compIsForInlining()']
Result validation: ✅ Known issue matched with the provided build.
Validation performed at: 2/10/2025 7:39:24 PM UTC

Report

Build Definition Test Pull Request
945874 dotnet/runtime jit64_2.WorkItemExecution

Summary

24-Hour Hit Count 7-Day Hit Count 1-Month Count
0 1 1

Activity

  1. added
    area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
    Known Build ErrorUse this to report build issues in the .NET Helix tab
    on Feb 10, 2025
  2. added this to the 10.0.0 milestone on Feb 10, 2025
  3. dotnet-policy-service commented on Feb 10, 2025

    @dotnet-policy-service
    Contributor

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

  4. EgorBo commented on Feb 10, 2025

    @EgorBo
    Member

    Looks like the assert complains that a function with varargs was attempted to be inlined

  5. EgorBo commented on Feb 10, 2025

    @EgorBo
    Member

    Curious if it could be inliner-related changes in #111782 or #111948

  6. JulieLeeMSFT commented on Feb 10, 2025

    @JulieLeeMSFT
    Member

    CC @hez2010 if he can take a quick look at it and guess what might have caused this failure.

  7. hez2010 commented on Feb 11, 2025

    @hez2010
    Contributor

    It seems to be unrelated to my change.
    The assertion here is to assert any callee of a method that being inlined cannot be vararg, which seems to be incorrect.
    Here we are inlining:

    [000030] I-C-G------                         *  CALL      int    MCCTest.MyClass:Main():int (exactContextHandle=0x00007FFB4FC2AEC1)
    

    which makes perfect sense, but then in the body of MCCTest.MyClass:Main we have a

                   [000193] --CXG------                         *  CALL ind  struct
                   [000192] ----------- calli tgt               \--*  FTN_ADDR  long   MCCTest.MyClass:Sum(double,int,long,float,short,double):MCCTest.VType3
    

    which is vararg, so the assertion triggers while importing MCCTest.MyClass:Sum during inlining MCCTest.MyClass:Main.

    I don't think we have any way to detect whether a method call inside an inlinee is vararg or not before actually import it, so this check seems wrong to me. Maybe we should simply remove this check and instead block inlining vararg calls.

  8. hez2010 commented on Feb 11, 2025

    @hez2010
    Contributor

    Here is the test binary: jit64_2.zip
    To repro, set environment vairables

    DOTNET_TieredCompilation=0
    DOTNET_JitStress=1a7
    

    and run jit64_2.dll with corerun.

  9. EgorBo commented on Feb 11, 2025

    @EgorBo
    Member

    @hez2010 was it just exposed by your changes (.e.g. we know inline what we did not) ?

  10. hez2010 commented on Feb 11, 2025

    @hez2010
    Contributor

    @hez2010 was it just exposed by your changes (.e.g. we know inline what we did not) ?

    Yeah, it seems to be a new valid inlinee that we didn't inline before. The actual issue should already exist in the JIT before my change.

  11. self-assigned this
    on Feb 12, 2025
  12. AndyAyersMS commented on Feb 12, 2025

    @AndyAyersMS
    Member

    I have a Jan 22 build lying around that also fails this way. Could just be random inline stress working its magic.

  13. added a commit that references this issue on Feb 12, 2025
    8735e85
  14. added
    in-prThere is an active PR which will close this issue when it is merged
    on Feb 12, 2025
  15. added a commit that references this issue on Feb 12, 2025
    fc7fcb7
  16. locked and limited conversation to collaborators on Mar 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Known Build ErrorUse this to report build issues in the .NET Helix tabarea-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIblocking-clean-ci-optionalBlocking optional rolling runsin-prThere is an active PR which will close this issue when it is merged

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions