Skip to content

Pmi run on some test dll-s hits some jit asserts. #39556

Closed
@sandreenko

Description

@sandreenko

I was running PMI on test using a command like this:

jit-diff.bat  diff  -b "D:\Sergey\git\runtime\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root"  --output D:\Sergey\diffs --core_root D:\Sergey\git\runtime\artifacts\tests\coreclr\Windows_NT.x64.Release\Tests\Core_Root --pmi --tests --test_root D:\Sergey\git\runtime\artifacts\tests\coreclr\Windows_NT.x64.Checked

and has hit many failures: Warning: Failures detected generating asm: 36, for example,
corerun pmi.dll PrepAll runtime\artifacts\tests\coreclr\Windows_NT.x64.Checked\JIT\Regression\CLR-x86-JIT\V1.2-Beta1\b210352\csharpgenerictypes\csharpgenerictypes.dll fails with:

PREPALL type# 1 method# 56 GenericClass`1[[System.Object, System.Private.CoreLib, Version=5.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]::StaticGenericMethodUsesClassTypeParam

Assert failure(PID 28340 [0x00006eb4], Thread: 68064 [0x109e0]): Assertion failed 'typeClass != nullptr' in 'ILStubClass:IL_STUB_InstantiatingStub(System.Object,System.Numerics.Vector`1[Single],System.Type):System.Numerics.Vector`1[Single]' during 'Importation' (IL size 27)

    File: D:\Sergey\git\runtime\src\coreclr\src\jit\compiler.hpp Line: 704
    Image: D:\Sergey\git\runtime\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CoreRun.exe

with stack like:

>	clrjit.dll!Compiler::VarTypeIsMultiByteAndCanEnreg(var_types type, CORINFO_CLASS_STRUCT_ * typeClass, unsigned int * typeSize, bool forReturn, bool isVarArg) Line 705	C++
 	clrjit.dll!Compiler::impTailCallRetTypeCompatible(var_types callerRetType, CORINFO_CLASS_STRUCT_ * callerRetTypeClass, var_types calleeRetType, CORINFO_CLASS_STRUCT_ * calleeRetTypeClass) Line 7388	C++
 	clrjit.dll!Compiler::impImportCall(opcode_t opcode, CORINFO_RESOLVED_TOKEN * pResolvedToken, CORINFO_RESOLVED_TOKEN * pConstrainedResolvedToken, GenTree * newobjThis, int prefixFlags, CORINFO_CALL_INFO * callInfo, unsigned int rawILOffset) Line 8578	C++

Has anybody seen this behaviour? Is it expected or jit or pmi issue? @dotnet/jit-contrib

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