Skip to content

JIT.Regression\JitBlue\Runtime_31615\Runtime_31615\Runtime_31615 fails #79170

Closed

Description

@EgorBo
      > C:\h\w\A3A508C1\w\B8E60A0B\e\JIT\Regression\JitBlue\Runtime_31615\Runtime_31615\Runtime_31615.cmd
      Expected: True
      Actual:   False
      Stack Trace:
           at JIT_Regression._JitBlue_Runtime_31615_Runtime_31615_Runtime_31615_._JitBlue_Runtime_31615_Runtime_31615_Runtime_31615_cmd()
           at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
           at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
      Output:
        
        Return code:      1

Failed in many PRs

Activity

  1. ghost added
    area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
    on Dec 2, 2022
  2. ghost added
    untriagedNew issue has not been triaged by the area owner
    on Dec 2, 2022
  3. added this to the 8.0.0 milestone on Dec 2, 2022
  4. removed
    untriagedNew issue has not been triaged by the area owner
    on Dec 2, 2022
  5. self-assigned this
    on Dec 2, 2022
  6. added
    blocking-outerloopBlocking the 'runtime-coreclr outerloop' and 'runtime-libraries-coreclr outerloop' runs
    and removed on Dec 5, 2022
  7. BruceForstall commented on Dec 5, 2022

    @BruceForstall
    Contributor

    Looks like failures are all Windows x86 R2R

  8. BruceForstall commented on Dec 5, 2022

    @BruceForstall
    Contributor

    First failure was https://dev.azure.com/dnceng-public/public/_build/results?buildId=93803&view=results (runtime-coreclr outerloop build 20221125.2)

  9. BruceForstall commented on Dec 5, 2022

    @BruceForstall
    Contributor

    Maybe due to #76491?

    cc @SingleAccretion @dotnet/jit-contrib

  10. SingleAccretion commented on Dec 5, 2022

    @SingleAccretion
    Contributor

    I will take a look tomorrow.

  11. BruceForstall commented on Dec 5, 2022

    @BruceForstall
    Contributor

    If I run the test using set RunCrossGen2=1 but without crossgen-ing the framework, I get:

    BEGIN EXECUTION
     "C:\gh\runtime3\artifacts\tests\coreclr\windows.x86.Checked\Tests\Core_Root\corerun.exe" -p "System.Reflection.Metadata.MetadataUpdater.IsSupported=false"  Runtime_31615.dll
    Check at line 235 failed; have (1.0842106E-19,-1.0842106E-19,-1.5845755E+29,1.0842106E-19); expected (10,20,30,40)
    Check at line 246 failed; have (-1.0842106E-19,1.0842106E-19,1.0842106E-19,-1.5845755E+29); expected (20,10,40,30)
    Check at line 313 failed; have (1.0842106E-19,-1.0842106E-19,-1.5845755E+29,1.0842106E-19); expected (10,20,30,40)
    Failed; 3 errors in 20 tests
    Expected: 100
    Actual: -1
    END EXECUTION - FAILED
    FAILED
    

    (this is the actual failure, not the "Actual: False")

  12. BruceForstall commented on Dec 6, 2022

    @BruceForstall
    Contributor

    Note: test has been disabled and must be re-enabled when this is fixed.

  13. removed
    blocking-outerloopBlocking the 'runtime-coreclr outerloop' and 'runtime-libraries-coreclr outerloop' runs
    on Dec 6, 2022
  14. SingleAccretion commented on Dec 7, 2022

    @SingleAccretion
    Contributor

    I investigated this a bit.

    #76491 (I assume) exposed a bug that manifests as us getting the address for insertps data wrong, they are one byte before (or 15 bytes after?) from where they should be:

    [MethodImpl(MethodImplOptions.NoInlining)]
    private static Vector4 Problem()
    {
        Vector4 r = new Vector4();
        r.X = 10f;
        r.Y = 20f;
        r.Z = 30f;
        r.W = 40f;
        return r;
    }
    --- C:\Users\Accretion\source\dotnet\RyuJit\RyuJitReproduction\Program.cs ------
                Vector4 r = new Vector4();
    5B7018A0  int         3  
    5B7018A1  ?? ?????? 
                Vector4 r = new Vector4();
    5B7018A2  cmp         ah,byte ptr [ecx]  
    5B7018A4  add         eax,offset RyuJitReproduction.Program.Problem()+0458Fh (5B705E2Fh)  
    5B7018A9  push        cs  
                r.Y = 20f;
    5B7018AA  insertps    xmm0,dword ptr [RyuJitReproduction.Program.Problem()+0459Fh (5B705E3Fh)],10h
                r.Z = 30f;                                                            ; Notice the misaligned address
    5B7018B4  insertps    xmm0,dword ptr [RyuJitReproduction.Program.Problem()+045AFh (5B705E4Fh)],20h  
                r.W = 40f;                                                            ; Notice the misaligned address
    5B7018BE  insertps    xmm0,dword ptr [RyuJitReproduction.Program.Problem()+045BFh (5B705E5Fh)],30h  
                return r;                                                             ; Notice the misaligned address
    5B7018C8  movups      xmmword ptr [ecx],xmm0  

    Notable: only reproduces without VEX encoding on x86 (hence the particular nature of failures).

    Not yet clear where the actual bug is or how the fix looks like.

  15. ghost added
    in-prThere is an active PR which will close this issue when it is merged
    on Dec 9, 2022
  16. added a commit that references this issue on Dec 13, 2022
    db36fc7
  17. ghost removed
    in-prThere is an active PR which will close this issue when it is merged
    on Dec 14, 2022
  18. ghost locked as resolved and limited conversation to collaborators on Jan 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

arch-x86area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIdisabled-testThe test is disabled in source code against the issueos-windows

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions