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

Test failure JIT\\Regression\\JitBlue\\GitHub_35821\\GitHub_35821\\GitHub_35821.cmd #64972

Closed
VincentBu opened this issue Feb 8, 2022 · 10 comments · Fixed by #66411
Closed
Assignees
Labels
arch-arm64 area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI blocking-outerloop Blocking the 'runtime-coreclr outerloop' and 'runtime-libraries-coreclr outerloop' runs JitStress CLR JIT issues involving JIT internal stress modes os-linux Linux OS (any supported distro) os-mac-os-x macOS aka OSX os-windows
Milestone

Comments

@VincentBu
Copy link
Contributor

Run: runtime-coreclr jitstress-isas-arm 20220207.1

Failed test:

CoreCLR windows arm64 Checked jitstress_isas_nosimd @ Windows.10.Arm64v8.Open

- JIT\\Regression\\JitBlue\\GitHub_35821\\GitHub_35821\\GitHub_35821.cmd

CoreCLR windows arm64 Checked jitstress_isas_nohwintrinsic_nosimd @ Windows.10.Arm64v8.Open

- JIT\\Regression\\JitBlue\\GitHub_35821\\GitHub_35821\\GitHub_35821.cmd

CoreCLR OSX arm64 Checked jitstress_isas_nohwintrinsic @ OSX.1200.ARM64.Open

- JIT/Regression/JitBlue/GitHub_35821/GitHub_35821/GitHub_35821.sh

CoreCLR OSX arm64 Checked jitstress_isas_nohwintrinsic_nosimd @ OSX.1200.ARM64.Open

- JIT/Regression/JitBlue/GitHub_35821/GitHub_35821/GitHub_35821.sh

CoreCLR OSX arm64 Checked jitstress_isas_nosimd @ OSX.1200.ARM64.Open

- JIT/Regression/JitBlue/GitHub_35821/GitHub_35821/GitHub_35821.sh

CoreCLR Linux arm64 Checked jitstress_isas_nohwintrinsic_nosimd @ (Ubuntu.1804.Arm64.Open)Ubuntu.1804.Armarch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8-20210531091519-97d8652

- JIT/Regression/JitBlue/GitHub_35821/GitHub_35821/GitHub_35821.sh

CoreCLR Linux arm64 Checked jitstress_isas_nohwintrinsic @ (Ubuntu.1804.Arm64.Open)Ubuntu.1804.Armarch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8-20210531091519-97d8652

- JIT/Regression/JitBlue/GitHub_35821/GitHub_35821/GitHub_35821.sh

CoreCLR Linux arm64 Checked jitstress_isas_nosimd @ (Ubuntu.1804.Arm64.Open)Ubuntu.1804.Armarch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8-20210531091519-97d8652

- JIT/Regression/JitBlue/GitHub_35821/GitHub_35821/GitHub_35821.sh

Error message:

Assert failure(PID 13208 [0x00003398], Thread: 11352 [0x2c58]): Assertion failed '(allRegs(theInterval->registerType) & mask) != 0' in 'projs.GitHub_35821:Main(System.String[]):int' during 'Linear scan register alloc' (IL size 48)

File: D:\a\_work\1\s\src\coreclr\jit\lsrabuild.cpp Line: 596
Image: D:\h\w\B90F0A35\p\corerun.exe
Return code:      1
Raw output file:      D:\h\w\B90F0A35\w\B4BE09AB\uploads\Reports\JIT.Regression\JitBlue\GitHub_35821\GitHub_35821\GitHub_35821.output.txt
Raw output:
BEGIN EXECUTION
"D:\h\w\B90F0A35\p\corerun.exe" -p "System.Reflection.Metadata.MetadataUpdater.IsSupported=false"  GitHub_35821.dll
Expected: 100
Actual: -1073740286
END EXECUTION - FAILED
FAILED
Test Harness Exitcode is : 1
To run the test:

set CORE_ROOT=D:\h\w\B90F0A35\p
D:\h\w\B90F0A35\w\B4BE09AB\e\JIT\Regression\JitBlue\GitHub_35821\GitHub_35821\GitHub_35821.cmd
Expected: True
Actual:   False


Stack trace
   at JIT_Regression._JitBlue_GitHub_35821_GitHub_35821_GitHub_35821_._JitBlue_GitHub_35821_GitHub_35821_GitHub_35821_cmd()
@VincentBu VincentBu added arch-arm64 os-linux Linux OS (any supported distro) os-mac-os-x macOS aka OSX os-windows JitStress CLR JIT issues involving JIT internal stress modes labels Feb 8, 2022
@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 Feb 8, 2022
@ghost
Copy link

ghost commented Feb 8, 2022

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

Issue Details

Run: runtime-coreclr jitstress-isas-arm 20220207.1

Failed test:

CoreCLR windows arm64 Checked jitstress_isas_nosimd @ Windows.10.Arm64v8.Open

- JIT\\Regression\\JitBlue\\GitHub_35821\\GitHub_35821\\GitHub_35821.cmd

CoreCLR windows arm64 Checked jitstress_isas_nohwintrinsic_nosimd @ Windows.10.Arm64v8.Open

- JIT\\Regression\\JitBlue\\GitHub_35821\\GitHub_35821\\GitHub_35821.cmd

CoreCLR OSX arm64 Checked jitstress_isas_nohwintrinsic @ OSX.1200.ARM64.Open

- JIT/Regression/JitBlue/GitHub_35821/GitHub_35821/GitHub_35821.sh

CoreCLR OSX arm64 Checked jitstress_isas_nohwintrinsic_nosimd @ OSX.1200.ARM64.Open

- JIT/Regression/JitBlue/GitHub_35821/GitHub_35821/GitHub_35821.sh

CoreCLR OSX arm64 Checked jitstress_isas_nosimd @ OSX.1200.ARM64.Open

- JIT/Regression/JitBlue/GitHub_35821/GitHub_35821/GitHub_35821.sh

CoreCLR Linux arm64 Checked jitstress_isas_nohwintrinsic_nosimd @ (Ubuntu.1804.Arm64.Open)Ubuntu.1804.Armarch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8-20210531091519-97d8652

- JIT/Regression/JitBlue/GitHub_35821/GitHub_35821/GitHub_35821.sh

CoreCLR Linux arm64 Checked jitstress_isas_nohwintrinsic @ (Ubuntu.1804.Arm64.Open)Ubuntu.1804.Armarch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8-20210531091519-97d8652

- JIT/Regression/JitBlue/GitHub_35821/GitHub_35821/GitHub_35821.sh

CoreCLR Linux arm64 Checked jitstress_isas_nosimd @ (Ubuntu.1804.Arm64.Open)Ubuntu.1804.Armarch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8-20210531091519-97d8652

- JIT/Regression/JitBlue/GitHub_35821/GitHub_35821/GitHub_35821.sh

Error message:

Assert failure(PID 13208 [0x00003398], Thread: 11352 [0x2c58]): Assertion failed '(allRegs(theInterval->registerType) & mask) != 0' in 'projs.GitHub_35821:Main(System.String[]):int' during 'Linear scan register alloc' (IL size 48)

File: D:\a\_work\1\s\src\coreclr\jit\lsrabuild.cpp Line: 596
Image: D:\h\w\B90F0A35\p\corerun.exe
Return code:      1
Raw output file:      D:\h\w\B90F0A35\w\B4BE09AB\uploads\Reports\JIT.Regression\JitBlue\GitHub_35821\GitHub_35821\GitHub_35821.output.txt
Raw output:
BEGIN EXECUTION
"D:\h\w\B90F0A35\p\corerun.exe" -p "System.Reflection.Metadata.MetadataUpdater.IsSupported=false"  GitHub_35821.dll
Expected: 100
Actual: -1073740286
END EXECUTION - FAILED
FAILED
Test Harness Exitcode is : 1
To run the test:

set CORE_ROOT=D:\h\w\B90F0A35\p
D:\h\w\B90F0A35\w\B4BE09AB\e\JIT\Regression\JitBlue\GitHub_35821\GitHub_35821\GitHub_35821.cmd
Expected: True
Actual:   False


Stack trace
   at JIT_Regression._JitBlue_GitHub_35821_GitHub_35821_GitHub_35821_._JitBlue_GitHub_35821_GitHub_35821_GitHub_35821_cmd()
Author: VincentBu
Assignees: -
Labels:

arch-arm64, os-linux, os-mac-os-x, os-windows, JitStress, area-CodeGen-coreclr, untriaged

Milestone: -

@BruceForstall BruceForstall removed the untriaged New issue has not been triaged by the area owner label Feb 8, 2022
@BruceForstall BruceForstall added this to the 7.0.0 milestone Feb 8, 2022
@BruceForstall BruceForstall added the blocking-outerloop Blocking the 'runtime-coreclr outerloop' and 'runtime-libraries-coreclr outerloop' runs label Feb 19, 2022
@VincentBu
Copy link
Contributor Author

Failed again in: runtime-coreclr jitstress-isas-arm 20220219.1

Failed test:

CoreCLR windows arm64 Checked jitstress_isas_nosimd @ Windows.10.Arm64v8.Open

- JIT\\Regression\\JitBlue\\GitHub_35821\\GitHub_35821\\GitHub_35821.cmd

CoreCLR windows arm64 Checked jitstress_isas_nohwintrinsic_nosimd @ Windows.10.Arm64v8.Open

- JIT\\Regression\\JitBlue\\GitHub_35821\\GitHub_35821\\GitHub_35821.cmd

CoreCLR windows arm64 Checked jitstress_isas_nohwintrinsic @ Windows.10.Arm64v8.Open

- JIT\\Regression\\JitBlue\\GitHub_35821\\GitHub_35821\\GitHub_35821.cmd
CoreCLR OSX arm64 Checked jitstress_isas_nohwintrinsic_nosimd @ OSX.1200.ARM64.Open

- JIT/Regression/JitBlue/GitHub_35821/GitHub_35821/GitHub_35821.sh

CoreCLR OSX arm64 Checked jitstress_isas_nosimd @ OSX.1200.ARM64.Open

- JIT/Regression/JitBlue/GitHub_35821/GitHub_35821/GitHub_35821.sh

CoreCLR Linux arm64 Checked jitstress_isas_nohwintrinsic_nosimd @ (Ubuntu.1804.Arm64.Open)Ubuntu.1804.Armarch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8-20210531091519-97d8652

- JIT/Regression/JitBlue/GitHub_35821/GitHub_35821/GitHub_35821.sh

CoreCLR Linux arm64 Checked jitstress_isas_nohwintrinsic @ (Ubuntu.1804.Arm64.Open)Ubuntu.1804.Armarch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8-20210531091519-97d8652

- JIT/Regression/JitBlue/GitHub_35821/GitHub_35821/GitHub_35821.sh

CoreCLR OSX arm64 Checked jitstress_isas_nohwintrinsic @ OSX.1200.ARM64.Open

- JIT/Regression/JitBlue/GitHub_35821/GitHub_35821/GitHub_35821.sh

CoreCLR Linux arm64 Checked jitstress_isas_nosimd @ (Ubuntu.1804.Arm64.Open)Ubuntu.1804.Armarch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8-20210531091519-97d8652

- JIT/Regression/JitBlue/GitHub_35821/GitHub_35821/GitHub_35821.sh

Error message:

Assert failure(PID 10736 [0x000029f0], Thread: 9764 [0x2624]): Assertion failed '(allRegs(theInterval->registerType) & mask) != 0' in 'projs.GitHub_35821:Main(System.String[]):int' during 'Linear scan register alloc' (IL size 48)

File: D:\a\_work\1\s\src\coreclr\jit\lsrabuild.cpp Line: 596
Image: D:\h\w\ACE20919\p\corerun.exe
Return code:      1
Raw output file:      D:\h\w\ACE20919\w\ABFA09D8\uploads\Reports\JIT.Regression\JitBlue\GitHub_35821\GitHub_35821\GitHub_35821.output.txt
Raw output:
BEGIN EXECUTION
"D:\h\w\ACE20919\p\corerun.exe" -p "System.Reflection.Metadata.MetadataUpdater.IsSupported=false"  GitHub_35821.dll
Expected: 100
Actual: -1073740286
END EXECUTION - FAILED
FAILED
Test Harness Exitcode is : 1
To run the test:

set CORE_ROOT=D:\h\w\ACE20919\p
D:\h\w\ACE20919\w\ABFA09D8\e\JIT\Regression\JitBlue\GitHub_35821\GitHub_35821\GitHub_35821.cmd
Expected: True
Actual:   False


Stack trace
   at JIT_Regression._JitBlue_GitHub_35821_GitHub_35821_GitHub_35821_._JitBlue_GitHub_35821_GitHub_35821_GitHub_35821_cmd()

@BruceForstall
Copy link
Member

@BruceForstall
Copy link
Member

@kunalspathak

@VincentBu
Copy link
Contributor Author

Failed again in: runtime-coreclr jitstress-isas-arm 20220305.1

Failed test:

CoreCLR Linux arm64 Checked jitstress_isas_nosimd @ (Ubuntu.1804.Arm64.Open)Ubuntu.1804.Armarch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8-20210531091519-97d8652

- JIT/Regression/JitBlue/GitHub_35821/GitHub_35821/GitHub_35821.sh

CoreCLR OSX arm64 Checked jitstress_isas_nohwintrinsic_nosimd @ OSX.1200.ARM64.Open

- JIT/Regression/JitBlue/GitHub_35821/GitHub_35821/GitHub_35821.sh

CoreCLR OSX arm64 Checked jitstress_isas_nohwintrinsic @ OSX.1200.ARM64.Open

- JIT/Regression/JitBlue/GitHub_35821/GitHub_35821/GitHub_35821.sh

CoreCLR OSX arm64 Checked jitstress_isas_nosimd @ OSX.1200.ARM64.Open

- JIT/Regression/JitBlue/GitHub_35821/GitHub_35821/GitHub_35821.sh

Error message:

Assert failure(PID 1737 [0x000006c9], Thread: 1737 [0x06c9]): Assertion failed '(allRegs(theInterval->registerType) & mask) != 0' in 'projs.GitHub_35821:Main(System.String[]):int' during 'Linear scan register alloc' (IL size 48; hash 0x3767a9b9; FullOpts)

File: /__w/1/s/src/coreclr/jit/lsrabuild.cpp Line: 596
Image: /root/helix/work/correlation/corerun
apply_reg_state: ip and cfa unchanged; stopping here (ip=0x7f87e6e198)
apply_reg_state: ip and cfa unchanged; stopping here (ip=0x7f87e6e198)
apply_reg_state: ip and cfa unchanged; stopping here (ip=0x7f87e63210)
/root/helix/work/workitem/e/JIT/Regression/JitBlue/GitHub_35821/GitHub_35821/GitHub_35821.sh: line 370:  1737 Aborted                 (core dumped) $LAUNCHER $ExePath "${CLRTestExecutionArguments[@]}"

Return code:      1
Raw output file:      /root/helix/work/workitem/uploads/Reports/JIT.Regression/JitBlue/GitHub_35821/GitHub_35821/GitHub_35821.output.txt
Raw output:
BEGIN EXECUTION
/root/helix/work/correlation/corerun -p System.Reflection.Metadata.MetadataUpdater.IsSupported=false GitHub_35821.dll ''
Gathering state for process 1737 corerun
Crashing thread 000006c9 signal 00000006
Writing minidump with heap to file /home/helixbot/dotnetbuild/dumps/coredump.1737.dmp
Written 54874112 bytes (13397 pages) to core file
Dump successfully written
Expected: 100
Actual: 134
END EXECUTION - FAILED
Test Harness Exitcode is : 1
To run the test:

set CORE_ROOT=/root/helix/work/correlation
/root/helix/work/workitem/e/JIT/Regression/JitBlue/GitHub_35821/GitHub_35821/GitHub_35821.sh
Expected: True
Actual:   False


Stack trace
   at JIT_Regression._JitBlue_GitHub_35821_GitHub_35821_GitHub_35821_._JitBlue_GitHub_35821_GitHub_35821_GitHub_35821_sh()

@JulieLeeMSFT
Copy link
Member

@kunalspathak, it failed again today. Please prioritize to investigate this test.

@kunalspathak
Copy link
Member

kunalspathak commented Mar 9, 2022

We have a tree for Test1(Vector64.Create((ulong)23));:

              [000045] -A----------              *  ASG       long  
               [000044] D------N----              +--*  LCL_VAR   long   V06 tmp5         
               [000031] ------------              \--*  CNS_INT   long   23

               [000004] --CXG-------              *  CALL      void   projs.GitHub_35821.Test1
               [000043] n---G------- arg0         \--*  OBJ       simd8 <System.Runtime.Intrinsics.Vector64`1[UInt64]>
               [000047] ------------                 \--*  ADDR      byref 
               [000048] -------N----                    \--*  LCL_VAR   long   V06 tmp5  

which is later morphed into (note the d0 register)

               [000004] --CXG+------              *  CALL      void   projs.GitHub_35821.Test1
               [000048] -----+------ arg0 in d0   \--*  LCL_VAR   long   V06 tmp5 

and then after constant propagation:

N003 ( 15,  4) [000004] --CXG-------              *  CALL      void   projs.GitHub_35821.Test1 $VN.Void
               [000097] ------------ arg0 in d0   \--*  CNS_INT   long   23 $c0

While the type of node is TYP_LONG, the fixed register assigned continue to be a vector register d0 which is why the assert fails. May be, we miss updating the type somewhere in previous phases.

@kunalspathak
Copy link
Member

kunalspathak commented Mar 9, 2022

It seems that morphing should have taken care of updating the type to SIMD8, but that doesn't happen around here:

else if (genTypeSize(varDsc->TypeGet()) != genTypeSize(structBaseType))
{
// Not a promoted struct, so just swizzle the type by using GT_LCL_FLD
lvaSetVarDoNotEnregister(lclNum DEBUGARG(DoNotEnregisterReason::SwizzleArg));
argObj->ChangeOper(GT_LCL_FLD);
argObj->gtType = structBaseType;
}

Since ​V06​ is already ​TYP_LONG,​ not sure if we need a ​CAST​ node or something that will be like ​tmp1 = (double) V06​ and then ​Vector64.Create(tmp1)​?

@kunalspathak
Copy link
Member

@SingleAccretion - were there any changes done in this area lately?

@SingleAccretion
Copy link
Contributor

SingleAccretion commented Mar 9, 2022

@kunalspathak Nothing that I could think of, the code that folds OBJ into LCL_VAR is not new.

For reference, the reproduction for this issue is very simple:

[MethodImpl(MethodImplOptions.NoInlining)]
private static void Problem(long a)
{
    CallForVtor64(*(Vector64<int>*)&a);
}

[MethodImpl(MethodImplOptions.NoInlining)]
static void CallForVtor64(Vector64<int> value) { }

As an experiment, I downloaded the artifacts from this release/6.0 PR, and CGing the app did still fail:

Assertion failed '(allRegs(theInterval->registerType) & mask) != 0' in 'RyuJitReproduction.Program:Problem(long)' during 'Linear scan register alloc' (IL size 14)

@ghost ghost added the in-pr There is an active PR which will close this issue when it is merged label Mar 9, 2022
@ghost ghost removed the in-pr There is an active PR which will close this issue when it is merged label Mar 12, 2022
@ghost ghost locked as resolved and limited conversation to collaborators Apr 11, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-arm64 area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI blocking-outerloop Blocking the 'runtime-coreclr outerloop' and 'runtime-libraries-coreclr outerloop' runs JitStress CLR JIT issues involving JIT internal stress modes os-linux Linux OS (any supported distro) os-mac-os-x macOS aka OSX os-windows
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants