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

Assertion failed 'IsCompatibleType(cseLclVarTyp, expTyp)' #36587

Closed
BruceForstall opened this issue May 15, 2020 · 4 comments
Closed

Assertion failed 'IsCompatibleType(cseLclVarTyp, expTyp)' #36587

BruceForstall opened this issue May 15, 2020 · 4 comments
Assignees
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Milestone

Comments

@BruceForstall
Copy link
Member

Failure in libraries System.Numerics.Vectors.Tests: release libraries, checked coreclr with:

set COMPlus_JitStress=1
set COMPlus_TieredCompilation=0

Windows x64

E.g.,

build -s libs+libs.tests -runtimeConfiguration checked -c Release -arch x64 /p:ArchiveTests=true

(the /p:ArchiveTests=true is required to build the RunTests.cmd wrapper scripts)

C:\gh\runtime\artifacts\bin\System.Numerics.Vectors.Tests\net5.0-Release>call .\RunTests.cmd -r C:\gh\runtime\artifacts\bin\testhost\net5.0-Windows_NT-Release-x64
Assert failure(PID 42620 [0x0000a67c], Thread: 42556 [0xa63c]): Assertion failed 'IsCompatibleType(cseLclVarTyp, expTyp)' in 'System.Numerics.Tests.Matrix3x2Tests:Matrix3x2CreateRotationCenterTest():this' during 'Optimize Valnum CSEs' (IL size 118)

    File: C:\gh\runtime\src\coreclr\src\jit\optcse.cpp Line: 2768
    Image: C:\gh\runtime\artifacts\bin\testhost\net5.0-Windows_NT-Release-x64\dotnet.exe

@briansull @tannergooding @CarolEidt @echesakovMSFT

@BruceForstall BruceForstall added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label May 15, 2020
@BruceForstall BruceForstall added this to the 5.0 milestone May 15, 2020
@Dotnet-GitSync-Bot Dotnet-GitSync-Bot added the untriaged New issue has not been triaged by the area owner label May 15, 2020
@BruceForstall BruceForstall removed the untriaged New issue has not been triaged by the area owner label May 18, 2020
BruceForstall added a commit to BruceForstall/runtime that referenced this issue Jun 11, 2020
```
src/libraries/System.Numerics.Vectors/tests/Matrix3x2Tests.cs
dotnet#36587
Matrix3x2CreateRotationCenterTest()

dotnet#36587
Matrix3x2CreateScaleCenterTest1()

dotnet#36587
Matrix3x2CreateScaleCenterTest3()

src/libraries/System.Numerics.Vectors/tests/Matrix4x4Tests.cs
dotnet#36586
Matrix4x4CreateFromAxisAngleTest()
```
BruceForstall added a commit that referenced this issue Jun 16, 2020
* Add JIT stress mode testing using libraries tests

There are three separate pipelines, with different sets of JIT
stress modes enabled for each:

- libraries-jitstress.yml
- libraries-jitstress2-jitstressregs.yml
- libraries-jitstressregs.yml

The live built Release libraries are used with a Checked CoreCLR.

The non-stress configuration is tested during normal PR testing.

The libraries `sendtohelix.proj` file is changed to take an optional
list of CoreCLR stress scenarios to run. If given, a set of environment
setting scripts is created and added to the Helix correlation payload.
Then, an auxiliary `sendtohelixhelp.proj` file is invoked for each
scenario (or just the default, empty scenario) to create and run the
Helix tasks.

* Remove remnants of old corefx-on-coreclr test run infrastructure

* Rename corefx-*.yml to libraries-*.yml

* Disable tests

```
src/libraries/System.Numerics.Vectors/tests/Matrix3x2Tests.cs
#36587
Matrix3x2CreateRotationCenterTest()

#36587
Matrix3x2CreateScaleCenterTest1()

#36587
Matrix3x2CreateScaleCenterTest3()

src/libraries/System.Numerics.Vectors/tests/Matrix4x4Tests.cs
#36586
Matrix4x4CreateFromAxisAngleTest()
```

* Fix run-test-job.yml

* Fix BuildAllConfigurations case
@briansull
Copy link
Contributor

I did:

build -s libs+libs.tests -runtimeConfiguration checked -c Release -arch x64 /p:ArchiveTests=true
_<takes a long time>_
cd artifacts\bin\System.Numerics.Vectors.Tests\net5.0-Release
call .\RunTests.cmd -r D:\gh\runtime\artifacts\bin\testhost\net5.0-Windows_NT-Release-x64
<this uses the release runtime located here:> artifacts\bin\testhost\net5.0-Windows_NT-Release-x64\shared\Microsoft.NETCore.App\5.0.0
I then copied the artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\clrjit.dll into this directory

@briansull
Copy link
Contributor

I also edited src\libraries\System.Numerics.Vectors\Tests\Matrix3x2Tests.cs
and removed this line that was disabling the test case.

[SkipOnCoreClr("https://github.com/dotnet/runtime/issues/36587", RuntimeTestModes.JitStress)]

@briansull
Copy link
Contributor

It didn't repro for me and I gathered a dump of the method which shows the random JitStress was active

@BruceForstall
Copy link
Member Author

@briansull If you can't repro, you could submit a PR to re-enable the test, then trigger this pipeline on your PR to verify: https://dev.azure.com/dnceng/public/_build?definitionId=833.

@ghost ghost locked as resolved and limited conversation to collaborators Dec 9, 2020
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

No branches or pull requests

3 participants