Skip to content

LSRA assert when running PMI on xunit.performance.execution.dll #39221

Closed
@erozenfeld

Description

@erozenfeld

Repro steps:

  1. Build release x64 core_root and set release_core_root to its location.
  2. Copy checked clrjit.dll to %release_core_root%.
  3. Build pmi.dll in http://github.com/dotnet/jitutils
  4. set COMPlus_TieredCompilation=0
  5. %release_core_root% pmi.dll PREPALL_QUIET %release_core_root%\xunit.performance.execution.dll

This will fail. The assert won't be printed to the console because this is using a release coreclr.dll. In the debugger the assert can be seen:

<GetIterations>d__17:MoveNext():bool:this - Assertion failed (F:\runtime1\src\coreclr\src\jit\lsra.cpp:2262 - !foundDiff) during Linear scan register alloc

This failure happens when running our standard jit-diffs --pmi --frameworks with release core_root and a checked clrjit.dll. Note that it's essential that release System.Private.CoreLib.dll is used. The assert doesn't repro with checked System.Private.CoreLib.dll. Because of that, checked coreclr.dll can't be used to repro either.

Metadata

Metadata

Assignees

Labels

area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIbug

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions