Skip to content

Unexpected JIT helper in TreatAsHasRetBufArg #69612

@AndyAyersMS

Description

@AndyAyersMS

I have a customer case that fails on 6.0 with checked CLR assert:

Assert failure(PID 20024 [0x00004e38], Thread: 21576 [0x5448]): Assertion failed '!"Unexpected JIT helper in TreatAsHasRetBufArg"' in 'Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference' during 'Morph - Global' (IL size 1175)

    File: C:\repos\runtime1\runtime6\src\coreclr\jit\gentree.cpp Line: 1025
    Image: C:\repos\runtime1\runtime6\artifacts\tests\coreclr\windows.x64.checked\Tests\Core_Root\corerun.exe

looking at the dump, we have the following tree

[000504] --CXG+------              *  RETURN    struct
[001448] --CXG+------              \--*  CALL help struct HELPER.CORINFO_HELP_PINVOKE_CALLI
[001436] -----+------ arg2 in rcx     +--*  CAST      long <- int
[001435] -----+------                 |  \--*  LCL_VAR   int    V114 tmp88       
[003159] -----+------ arg0 in r10     +--*  CNS_INT   long   0x7ff98ffb0b2c
[001449] H----+-N---- arg1 in r11     \--*  CNS_INT(h) long   0x1fa2d976648 pinvoke

and the code in TreatAsHasRetBufArg is not expecting to see this helper.

I'll see if I can come up with a simple repro. Seems like in release we'll do the right thing as the default case is to return false.

Metadata

Metadata

Assignees

Labels

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

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions