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: '!emitComp->opts.compReloc || memBase->IsIconHandle() || memBase->IsIntegralConst(0)' in 'nullsdarr:f()' during 'Linear scan register alloc' #32466

Closed
VincentBu opened this issue Feb 18, 2020 · 10 comments
Assignees
Labels
arch-x64 area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI os-windows
Milestone

Comments

@VincentBu
Copy link
Contributor

VincentBu commented Feb 18, 2020

Job:
runtime-coreclr outerloop 20200217.5

Related Tests:

JIT\\Directed\\coverage\\importer\\nullsdarr\\nullsdarr.cmd
JIT\\Directed\\coverage\\importer\\Desktop\\nullsdarr_il_d\\nullsdarr_il_d.cmd

Stack Trace:
at JIT_Directed._coverage_importer_nullsdarr_nullsdarr_._coverage_importer_nullsdarr_nullsdarr_cmd() in F:\workspace\_work\1\s\artifacts\tests\coreclr\Windows_NT.x86.Checked\TestWrappers\JIT.Directed\JIT.Directed.XUnitWrapper.cs:line 13914

Error Message:
\r\nAssert failure(PID 2032 [0x000007f0], Thread: 4532 [0x11b4]): Assertion failed '!emitComp->opts.compReloc || memBase->IsIconHandle() || memBase->IsIntegralConst(0)' in 'nullsdarr:f()' during 'Linear scan register alloc' (IL size 9)\r\n\r\n File: F:\workspace\_work\1\s\src\coreclr\src\jit\emitxarch.cpp Line: 2838\r\n Image: C:\h\w\A9590957\p\crossgen.exe\r\n\r\n\r\nReturn code: 1\r\nRaw output file: C:\h\w\A9590957\w\A8870974\e\JIT\Directed\Reports\JIT.Directed\coverage\importer\nullsdarr\nullsdarr.output.txt\r\nRaw output:\r\nBEGIN EXECUTION\r\n 1 file(s) copied.\r\n" "C:\h\w\A9590957\p\crossgen.exe" /Platform_Assemblies_Paths C:\h\w\A9590957\p;C:\h\w\A9590957\w\A8870974\e\JIT\Directed\coverage\importer\nullsdarr /in C:\h\w\A9590957\w\A8870974\e\JIT\Directed\coverage\importer\nullsdarr\nullsdarr.org /out C:\h\w\A9590957\w\A8870974\e\JIT\Directed\coverage\importer\nullsdarr\\nullsdarr.dll"\r\nMicrosoft (R) CoreCLR Native Image Generator - Version 4.5.30319.0\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nCrossgen failed with exitcode - -1073740286\r\nTest Harness Exitcode is : 1\r\nTo run the test:\r\n> set CORE_ROOT=C:\h\w\A9590957\p\r\n> C:\h\w\A9590957\w\A8870974\e\JIT\Directed\coverage\importer\nullsdarr\nullsdarr.cmd\r\nExpected: True\r\nActual: False

category:correctness
theme:testing
skill-level:beginner
cost:small

@VincentBu VincentBu added os-windows arch-x64 area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI labels Feb 18, 2020
@Dotnet-GitSync-Bot Dotnet-GitSync-Bot added the untriaged New issue has not been triaged by the area owner label Feb 18, 2020
@BruceForstall BruceForstall removed the untriaged New issue has not been triaged by the area owner label Feb 18, 2020
@BruceForstall BruceForstall added this to the 5.0 milestone Feb 18, 2020
@BruceForstall
Copy link
Member

@dotnet/jit-contrib

@BruceForstall
Copy link
Member

@briansull Can you please look at this?

@briansull
Copy link
Contributor

I will take a look

@v-haren
Copy link

v-haren commented Feb 24, 2020

failed again in job:
runtime-coreclr r2r

@BruceForstall
Copy link
Member

From @jaredpar originally in #32497

These assertions are causing the coreclr outerloop builds to fail at the moment. Looks to be 100% failure rate.

Failing tests are

  • JIT\\Directed\\coverage\\importer\\Desktop\\nullsdarr_il_d\\nullsdarr_il_d.cmd
  • JIT\\Directed\\coverage\\importer\\nullsdarr\\nullsdarr.cmd

Builds

Build Pull Request Test Failure Count
#533208 Rolling 2
#533291 Rolling 2
#533388 Rolling 2
#533425 Rolling 2
#533595 Rolling 2
#533653 Rolling 2
#533733 Rolling 2
#533816 Rolling 2
#533874 Rolling 2
#533988 Rolling 2

Configurations

  • R2R Windows_NT x86 Checked @ Windows.10.Amd64.Open
  • R2R Windows_NT x86 Checked no_tiered_compilation @ Windows.10.Amd64.Open

Helix Logs

Build Pull Request Console Core Test Results
#533208 Rolling console.631fcabd.log testResults.xml
#533208 Rolling console.ec2ae37f.log testResults.xml
#533291 Rolling console.d78744e6.log testResults.xml
#533291 Rolling console.9e7bcd5e.log testResults.xml
#533388 Rolling console.d63a346b.log testResults.xml
#533388 Rolling console.f5eced47.log testResults.xml
#533425 Rolling console.d7e2b330.log testResults.xml
#533425 Rolling console.25399d3a.log testResults.xml
#533595 Rolling console.4784fa7d.log testResults.xml
#533595 Rolling console.5ee21537.log testResults.xml
#533653 Rolling console.9fd14001.log testResults.xml
#533653 Rolling console.06e72e7f.log testResults.xml
#533733 Rolling console.c01c7f97.log testResults.xml
#533733 Rolling console.5418f9d6.log testResults.xml
#533816 Rolling console.ed8549db.log testResults.xml
#533816 Rolling console.54eff531.log testResults.xml
#533874 Rolling console.b1584d07.log testResults.xml
#533874 Rolling console.8e360259.log testResults.xml
#533988 Rolling console.55f6f535.log testResults.xml
#533988 Rolling console.c27d3af3.log testResults.xml

@briansull
Copy link
Contributor

Only occurs on x86 checked (or debug) with ReadyToRun codegen.

The assertion fires when readyToRun crossgen is used on the test case:

@briansull
Copy link
Contributor

Introduced with PR #32085

        // It is not the best place to do such simple arithmetic optimizations,
        // but it allows us to avoid `LEA(addr, 0)` nodes and doing that in morph
        // requires more changes. Delete that part if we get an expression optimizer.
        if (op2->IsIntegralConst(0))
        {
            JITDUMP("Lower: optimize val + 0: ");

@briansull
Copy link
Contributor

Proposed fix for this issue:

169c24e

briansull added a commit to briansull/runtime that referenced this issue Feb 25, 2020
Fixes outerloop leg: R2R Windows_NT x86 Checked no_tiered_compilation @ Windows.10.Amd64.Open
@VincentBu
Copy link
Contributor Author

Failed again in runtime-coreclr outerloop 20200225.6

Related tests:
JIT\Directed\coverage\importer\Desktop\nullsdarr_il_d\nullsdarr_il_d.cmd
JIT\Directed\coverage\importer\nullsdarr\nullsdarr.cmd

Error message:
\r\nAssert failure(PID 2068 [0x00000814], Thread: 6880 [0x1ae0]): Assertion failed '!emitComp->opts.compReloc || memBase->IsIconHandle() || memBase->IsIntegralConst(0)' in 'nullsdarr:f()' during 'Linear scan register alloc' (IL size 9)\r\n\r\n File: F:\workspace\_work\1\s\src\coreclr\src\jit\emitxarch.cpp Line: 2838\r\n Image: C:\h\w\B71409D5\p\crossgen.exe\r\n\r\n\r\nReturn code: 1\r\nRaw output file: C:\h\w\B71409D5\w\9A66088B\e\JIT\Directed\Reports\JIT.Directed\coverage\importer\nullsdarr\nullsdarr.output.txt\r\nRaw output:\r\nBEGIN EXECUTION\r\n 1 file(s) copied.\r\n" "C:\h\w\B71409D5\p\crossgen.exe" /Platform_Assemblies_Paths C:\h\w\B71409D5\p;C:\h\w\B71409D5\w\9A66088B\e\JIT\Directed\coverage\importer\nullsdarr /in C:\h\w\B71409D5\w\9A66088B\e\JIT\Directed\coverage\importer\nullsdarr\nullsdarr.org /out C:\h\w\B71409D5\w\9A66088B\e\JIT\Directed\coverage\importer\nullsdarr\\nullsdarr.dll"\r\nMicrosoft (R) CoreCLR Native Image Generator - Version 4.5.30319.0\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nCrossgen failed with exitcode - -1073740286\r\nTest Harness Exitcode is : 1\r\nTo run the test:\r\n> set CORE_ROOT=C:\h\w\B71409D5\p\r\n> C:\h\w\B71409D5\w\9A66088B\e\JIT\Directed\coverage\importer\nullsdarr\nullsdarr.cmd\r\nExpected: True\r\nActual: False

briansull added a commit that referenced this issue Feb 26, 2020
* Fix issue #32466

Fixes outerloop leg: R2R Windows_NT x86 Checked no_tiered_compilation @ Windows.10.Amd64.Open

* Updated the comment associated with this assert
@briansull
Copy link
Contributor

Fixed with #32804

@ghost ghost locked as resolved and limited conversation to collaborators Dec 10, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-x64 area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI os-windows
Projects
None yet
Development

No branches or pull requests

5 participants