runtime: Assertion failed 'isGeneralRegister(reg3)' on R2R_CG2 linux-arm64 outerloop

Generate CORE_ROOT step of CoreCLR Pri1 Runtime Tests Run R2R_CG2 Linux arm64 checked leg failed this assertion https://dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_apis/build/builds/1597389/logs/1104:

  8 / 261 (2%, 1 failed): failed in 3497 msecs, exit code 134, expected 0: dotnet /__w/1/s/artifacts/bin/coreclr/Linux.arm64.Checked/x64/crossgen2/crossgen2.dll @/__w/1/s/artifacts/tests/coreclr/obj/Linux.arm64.Checked/crossgen.out/System.Security.Cryptography.dll.rsp
    /__w/1/s/src/coreclr/jit/emitarm64.cpp:6821
    Assertion failed 'isGeneralRegister(reg3)' in 'System.Security.Cryptography.X509Certificates.OpenSslX509ChainProcessor:FindChainViaAia(byref):Interop+Crypto+X509VerifyStatusCode:this' during 'Generate code' (IL size 473)
  10 / 261 (2%, 1 failed): launching: /__w/1/s/.dotnet/dotnet /__w/1/s/artifacts/bin/coreclr/Linux.arm64.Checked/x64/crossgen2/crossgen2.dll @/__w/1/s/artifacts/tests/coreclr/obj/Linux.arm64.Checked/crossgen.out/System.Net.Http.dll.rsp

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Reactions: 1
  • Comments: 19 (19 by maintainers)

Commits related to this issue

Most upvoted comments


*************** Starting PHASE Forward Substitution


===> BB01
    [000002]:  not asg (single-use lcl)
    [000006]:  not asg (single-use lcl)
    [000337]:  not asg (single-use lcl)
    [000347]:  not asg (single-use lcl)


===> BB02


===> BB03
    [000029]:  not asg (single-use lcl)
    [000357]:  no next stmt use
    [000359]:  [000354] is only use of [000358] (V30)  -- fwd subbing [000031]; new next stmt is
STMT00009 ( 0x028[E-] ... ??? )
               [000037] ----G-------              *  JTRUE     void  
               [000036] ----G-------              \--*  NE        int   
               [000034] ----G-------                 +--*  CAST      int <- bool <- int
               [000355] ----G-------                 |  \--*  EQ        int   
               [000351] ------------                 |     +--*  LCL_VAR   long   V29 tmp11        
               [000031] ------------                 |     \--*  LCL_VAR   long   V02 loc0         
               [000035] ------------                 \--*  CNS_INT   int    0

removing useless STMT00080 ( 0x028[E-] ... ??? )
               [000359] -A----------              *  ASG       long  
               [000358] D------N----              +--*  LCL_VAR   long   V30 tmp12        
               [000031] ------------              \--*  LCL_VAR   long   V02 loc0         
 from BB03
    [000357]:  [000351] is only use of [000356] (V29)  -- fwd subbing [000030]; new next stmt is
STMT00009 ( 0x028[E-] ... ??? )
               [000037] ----G-------              *  JTRUE     void  
               [000036] ----G-------              \--*  NE        int   
               [000034] ----G-------                 +--*  CAST      int <- bool <- int
               [000355] ----G-------                 |  \--*  EQ        int   
               [000030] ------------                 |     +--*  LCL_VAR   long   V06 loc4         
               [000031] ------------                 |     \--*  LCL_VAR   long   V02 loc0         
               [000035] ------------                 \--*  CNS_INT   int    0

removing useless STMT00079 ( 0x028[E-] ... ??? )
               [000357] -A----------              *  ASG       long  
               [000356] D------N----              +--*  LCL_VAR   long   V29 tmp11        
               [000030] ------------              \--*  LCL_VAR   long   V06 loc4         
 from BB03
    [000029]:  not asg (single-use lcl)


===> BB05
    [000040]:  not asg (single-use lcl)
    [000046]:  [000047] is only use of [000044] (V19)  potentially interacting effects
    [000050]:  not asg (single-use lcl)


===> BB07
    [000063]:  [000071] is only use of [000061] (V20)  [marking V32 as multi-reg-ret] -- fwd subbing [000058]; new next stmt is
STMT00085 ( ??? ... ??? )
               [000386] -ACXG-------              *  ASG       struct (copy)
               [000384] M------N----              +--*  LCL_VAR   struct<System.ReadOnlyMemory`1[System.Byte], 16> V32 tmp14        
               [000058] --CXG-------              \--*  CALL r2r_ind struct System.ReadOnlyMemory`1.op_Implicit
               [000060] n----------- arg0            \--*  OBJ       struct<System.ArraySegment`1[System.Byte], 16>
               [000059] ------------                    \--*  ADDR      byref 
               [000057] -------N----                       \--*  LCL_VAR   struct<System.ArraySegment`1[System.Byte], 16>(AX) V07 loc5         

removing useless STMT00014 ( 0x052[E-] ... 0x064 )
               [000063] -ACXG-------              *  ASG       struct (copy)
               [000061] M------N----              +--*  LCL_VAR   struct<System.ReadOnlyMemory`1[System.Byte], 16> V20 tmp2         
               [000058] --CXG-------              \--*  CALL r2r_ind struct System.ReadOnlyMemory`1.op_Implicit
               [000060] n----------- arg0            \--*  OBJ       struct<System.ArraySegment`1[System.Byte], 16>
               [000059] ------------                    \--*  ADDR      byref 
               [000057] -------N----                       \--*  LCL_VAR   struct<System.ArraySegment`1[System.Byte], 16>(AX) V07 loc5         
 from BB07
    [000386]:  no next stmt use
    [000389]:  no next stmt use
    [000367]:  not asg (single-use lcl)


===> BB09


===> BB10


===> BB11
    [000392]:  not asg (single-use lcl)
    [000074]:  not asg (single-use lcl)
    [000412]:  no next stmt use
    [000398]:  mismatched types (assignment)


===> BB17


===> BB18
    [000116]:  not asg (single-use lcl)


===> BB19
    [000430]:  no next stmt use
    [000424]:  not asg (single-use lcl)
    [000435]:  not asg (single-use lcl)


===> BB21


===> BB22


===> BB24


===> BB25


===> BB30


===> BB31


===> BB32


===> BB33


===> BB34
    [000448]:  no next stmt use
    [000451]:  no next stmt use
    [000467]:  no next stmt use
    [000461]:  [000462] is only use of [000460] (V42)  -- fwd subbing [000471]; new next stmt is
STMT00034 ( 0x0C4[E-] ... ??? )
               [000144] ------------              *  JTRUE     void  
               [000143] ------------              \--*  EQ        int   
               [000141] ------------                 +--*  CAST      int <- bool <- int
               [000445] ------------                 |  \--*  CAST      int <- bool <- int
               [000464] ------------                 |     \--*  EQ        int   
               [000471] ------------                 |        +--*  LCL_VAR   int    V48 tmp30        
               [000475] ------------                 |        \--*  LCL_VAR   int    V50 tmp32        
               [000142] ------------                 \--*  CNS_INT   int    0

removing useless STMT00103 ( INL10 @ 0x000[E-] ... ??? ) <- INL09 @ 0x000[E-] <- INLRT @ 0x0C4[E-]
               [000461] -A----------              *  ASG       int   
               [000460] D------N----              +--*  LCL_VAR   int    V42 tmp24        
               [000471] ------------              \--*  LCL_VAR   int    V48 tmp30        
 from BB34
    [000467]:  no next stmt use


===> BB35


===> BB36


===> BB37
    [000160]:  not asg (single-use lcl)
    [000170]:  not asg (single-use lcl)
    [000177]:  [000178] is only use of [000175] (V13)  V22 is address exposed
    [000181]:  not asg (single-use lcl)
    [000184]:  not asg (single-use lcl)


===> BB38
    [000322]:  [000323] is only use of [000320] (V27)  potentially interacting effects


===> BB39
    [000197]:  not asg (single-use lcl)
    [000202]:  not asg (single-use lcl)
    [000209]:  no next stmt use
    [000216]:  [000217] is only use of [000214] (V24)  potentially interacting effects


===> BB40


===> BB41
    [000246]:  [000247] is only use of [000245] (V25)  -- fwd subbing [000241]; new next stmt is
STMT00056 ( ??? ... ??? )
               [000249] -ACXG-------              *  ASG       long  
               [000248] *--X---N----              +--*  IND       long  
               [000241] ---X--------              |  \--*  COMMA     byref 
               [000235] ---X--------              |     +--*  BOUNDS_CHECK_Rng void  
               [000230] ------------              |     |  +--*  LCL_VAR   int    V15 loc13        
               [000234] ------------              |     |  \--*  LCL_FLD   int    V11 loc9         [+8] Fseq[_length]
               [000240] ------------              |     \--*  ADD       byref 
               [000239] ------------              |        +--*  LCL_FLD   byref  V11 loc9         [+0] Fseq[_pointer]
               [000238] ------------              |        \--*  MUL       long  
               [000236] ---------U--              |           +--*  CAST      long <- uint
               [000231] ------------              |           |  \--*  LCL_VAR   int    V15 loc13        
               [000237] ------------              |           \--*  CNS_INT   long   8
               [000244] --CXG-------              \--*  CALL r2r_ind long   Crypto.GetX509StackField
               [000242] ------------ arg0            +--*  LCL_VAR   ref    V09 loc7         
               [000243] ------------ arg1            \--*  LCL_VAR   int    V15 loc13        

removing useless STMT00055 ( 0x14F[E-] ... 0x161 )
               [000246] -A-X--------              *  ASG       byref 
               [000245] D------N----              +--*  LCL_VAR   byref  V25 tmp7         
               [000241] ---X--------              \--*  COMMA     byref 
               [000235] ---X--------                 +--*  BOUNDS_CHECK_Rng void  
               [000230] ------------                 |  +--*  LCL_VAR   int    V15 loc13        
               [000234] ------------                 |  \--*  LCL_FLD   int    V11 loc9         [+8] Fseq[_length]
               [000240] ------------                 \--*  ADD       byref 
               [000239] ------------                    +--*  LCL_FLD   byref  V11 loc9         [+0] Fseq[_pointer]
               [000238] ------------                    \--*  MUL       long  
               [000236] ---------U--                       +--*  CAST      long <- uint
               [000231] ------------                       |  \--*  LCL_VAR   int    V15 loc13        
               [000237] ------------                       \--*  CNS_INT   long   8
 from BB41


===> BB42


===> BB43


===> BB44
    [000271]:  not asg (single-use lcl)
    [000277]:  no next stmt use


===> BB45


===> BB46


===> BB47


===> BB48


===> BB49


===> BB50


===> BB51
    [000495]:  not asg (single-use lcl)


===> BB53
    [000513]:  no next stmt use


===> BB55


===> BB59


===> BB60


===> BB62


===> BB63


===> BB64


===> BB65

*************** Finishing PHASE Forward Substitution