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

[arm32] Assertion failed 'genIsValidIntReg(dstReg)' #10451

Closed
echesakov opened this issue Jun 5, 2018 · 3 comments
Closed

[arm32] Assertion failed 'genIsValidIntReg(dstReg)' #10451

echesakov opened this issue Jun 5, 2018 · 3 comments
Assignees
Labels
arch-arm32 area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI bug
Milestone

Comments

@echesakov
Copy link
Contributor

It seems that this has been broken for a while. I recently caught this during PR dotnet/coreclr#18289 testing
But the regression was introduced earlier - sometime between Build dotnet/coreclr#18 (May 17, 2018 4:32:43 AM) and Build dotnet/coreclr#19 (May 24, 2018 4:27:51 AM)

----- start 23:20:10 =============== To repro directly: =====================================================
pushd .
#!/usr/bin/env bash
chmod +x /ssd/j/workspace/dotnet_coreclr/master/jitstress/arm_cross_checked_ubuntu_corefx_baseline_tst_prtest/_/fx/bin/testhost/netcoreapp-Linux-Release-arm/dotnet
/ssd/j/workspace/dotnet_coreclr/master/jitstress/arm_cross_checked_ubuntu_corefx_baseline_tst_prtest/_/fx/bin/testhost/netcoreapp-Linux-Release-arm/dotnet xunit.console.netcore.exe System.Dynamic.Runtime.Tests.dll  -xml testResults.xml -notrait Benchmark=true -notrait category=nonnetcoreapptests -notrait category=nonlinuxtests  -notrait category=IgnoreForCI -notrait category=OuterLoop -notrait category=failing
popd
===========================================================================================================
/ssd/j/workspace/dotnet_coreclr/master/jitstress/arm_cross_checked_ubuntu_corefx_baseline_tst_prtest/_/fx/bin/tests/System.Dynamic.Runtime.Tests/netcoreapp-Linux-Release-arm /ssd/j/workspace/dotnet_coreclr/master/jitstress/arm_cross_checked_ubuntu_corefx_baseline_tst_prtest/_/fx/bin/tests/System.Dynamic.Runtime.Tests/netcoreapp-Linux-Release-arm
xUnit.net console test runner (32-bit .NET Core)
Copyright (C) 2014 Outercurve Foundation.

Discovering: System.Dynamic.Runtime.Tests
Discovered:  System.Dynamic.Runtime.Tests
Starting:    System.Dynamic.Runtime.Tests

Assert failure(PID 12372 [0x00003054], Thread: 12387 [0x3063]): Assertion failed 'genIsValidIntReg(dstReg)' in 'DynamicClass:CallSite.Target(ref,ref,ref,ref):ref' (IL size 143)

    File: /mnt/j/workspace/dotnet_coreclr/master/jitstress/arm_cross_checked_ubuntu_corefx_baseline_prtest/src/jit/codegenarmarch.cpp Line: 3406
    Image: /ssd/j/workspace/dotnet_coreclr/master/jitstress/arm_cross_checked_ubuntu_corefx_baseline_tst_prtest/_/fx/bin/testhost/netcoreapp-Linux-Release-arm/dotnet


Assert failure(PID 12372 [0x00003054], Thread: 12387 [0x3063]): Assertion failed 'genIsValidIntReg(dstReg)' in 'DynamicClass:CallSite.Target(ref,ref,ref,ref):ref' (IL size 143)

    File: /mnt/j/workspace/dotnet_coreclr/master/jitstress/arm_cross_checked_ubuntu_corefx_baseline_prtest/src/jit/codegenarmarch.cpp Line: 3406
    Image: /ssd/j/workspace/dotnet_coreclr/master/jitstress/arm_cross_checked_ubuntu_corefx_baseline_tst_prtest/_/fx/bin/testhost/netcoreapp-Linux-Release-arm/dotnet

./RunTests.sh: line 126: 12372 Aborted                 $RUNTIME_PATH/dotnet xunit.console.netcore.exe System.Dynamic.Runtime.Tests.dll -xml testResults.xml -notrait Benchmark=true -notrait category=nonnetcoreapptests -notrait category=nonlinuxtests -notrait category=IgnoreForCI -notrait category=OuterLoop -notrait category=failing
/ssd/j/workspace/dotnet_coreclr/master/jitstress/arm_cross_checked_ubuntu_corefx_baseline_tst_prtest/_/fx/bin/tests/System.Dynamic.Runtime.Tests/netcoreapp-Linux-Release-arm
----- end 23:22:29 ----- exit code 134 ----------------------------------------------------------

Update: The issue is also reproducible on Windows/ARM (e.g. https://ci.dot.net/job/dotnet_coreclr/job/master/view/arm/job/jitstress/job/arm_cross_checked_windows_nt_corefx_baseline_tst/21/consoleText)

When the issue is resolved enable back tests disabled in PR dotnet/coreclr#18347

@echesakov echesakov changed the title [Linux/arm] Assertion failed 'genIsValidIntReg(dstReg)' [ARM] Assertion failed 'genIsValidIntReg(dstReg)' Jun 7, 2018
@echesakov
Copy link
Contributor Author

@dotnet/jit-contrib

@echesakov echesakov changed the title [ARM] Assertion failed 'genIsValidIntReg(dstReg)' [arm32] Assertion failed 'genIsValidIntReg(dstReg)' Jun 7, 2018
@echesakov
Copy link
Contributor Author

Also reproducible on Windows/arm in System.Linq.Expressions.Tests under JitStress=2

===========================================================================================================

C:\Users\robox\j\workspace\arm_cross_che---0fb8fec2\_\fx\bin\tests\System.Linq.Expressions.Tests\netcoreapp-Windows_NT-Release-arm>set COMPlus_JitStress=2 

C:\Users\robox\j\workspace\arm_cross_che---0fb8fec2\_\fx\bin\tests\System.Linq.Expressions.Tests\netcoreapp-Windows_NT-Release-arm>call C:\Users\robox\j\workspace\arm_cross_che---0fb8fec2\_\fx\bin\testhost\netcoreapp-Windows_NT-Release-arm\dotnet.exe xunit.console.netcore.exe System.Linq.Expressions.Tests.dll  -xml testResults.xml -notrait Benchmark=true -notrait category=nonnetcoreapptests -notrait category=nonwindowstests  -notrait category=IgnoreForCI -notrait category=OuterLoop -notrait category=failing 
xUnit.net console test runner (32-bit .NET Core)
Copyright (C) 2014 Outercurve Foundation.

Discovering: System.Linq.Expressions.Tests
Discovered:  System.Linq.Expressions.Tests
Starting:    System.Linq.Expressions.Tests

Assert failure(PID 20140 [0x00004eac], Thread: 10168 [0x27b8]): Assertion failed 'genIsValidIntReg(dstReg)' in 'DynamicClass:lambda_method(ref):bool' (IL size 56)

    File: d:\j\workspace\arm_cross_che---f3754642\src\jit\codegenarmarch.cpp Line: 3395
    Image: C:\Users\robox\j\workspace\arm_cross_che---0fb8fec2\_\fx\bin\testhost\netcoreapp-Windows_NT-Release-arm\dotnet.exe

----- end 11:58:54.13 ----- exit code 123456789 ----------------------------------------------------------
COREFX TEST FAILED
Running: C:\Users\robox\j\workspace\arm_cross_che---0fb8fec2\_\fx\bin\tests\System.Linq.Parallel.Performance.Tests\netcoreapp-Windows_NT-Release-arm\RunTests.cmd C:\Users\robox\j\workspace\arm_cross_che---0fb8fec2\_\fx\bin\testhost\netcoreapp-Windows_NT-Release-arm
Using C:\Users\robox\j\workspace\arm_cross_che---0fb8fec2\_\fx\bin\testhost\netcoreapp-Windows_NT-Release-arm as the test runtime folder.
Executing in C:\Users\robox\j\workspace\arm_cross_che---0fb8fec2\_\fx\bin\tests\System.Linq.Parallel.Performance.Tests\netcoreapp-Windows_NT-Release-arm\ 
----- start 11:58:54.25 ===============  To repro directly: ===================================================== 

@CarolEidt CarolEidt self-assigned this Jun 13, 2018
CarolEidt referenced this issue in dotnet/coreclr Jun 20, 2018
* An UnusedValue still requires a target reg

The BuildSimple method wasn't creating a def for an unused value. Although (in this case) the code is dead, the code generator must still be able to generate code for it.

* Add test case for #18295 to arm/arm64 tests.lst
@CarolEidt
Copy link
Contributor

Confirmed that dotnet/coreclr#18561 fixes this on arm/linux

@msftgits msftgits transferred this issue from dotnet/coreclr Jan 31, 2020
@msftgits msftgits added this to the 3.0 milestone Jan 31, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Dec 16, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-arm32 area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI bug
Projects
None yet
Development

No branches or pull requests

3 participants