Closed
Description
Run any program with
DOTNET_AltJitName=clrjit_universal_arm64_x64.dll
DOTNET_AltJit=Main
Expected: clean result
Actual:
Assert failure(PID 42160 [0x0000a4b0], Thread: 22388 [0x5774]): reserveUnwindInfo() can only be called before allocMem(), but allocMem() has already been called. This may indicate the JIT has hit a NO_WAY assert after calling allocMem(), and is re-JITting. Set DOTNET_JitBreakOnBadCode=1 and rerun to get the real error.
CORECLR! CEEJitInfo::reserveUnwindInfo + 0x161 (0x00007ff9`96b3fbf1)
CLRJIT! Compiler::eeReserveUnwindInfo + 0x7D (0x00007ff9`8b359d9d)
CLRJIT! Compiler::unwindReserve + 0x107 (0x00007ff9`8b647c47)
CLRJIT! CodeGen::genEmitMachineCode + 0x7A (0x00007ff9`8b32e65a)
CLRJIT! CodeGenPhase::DoPhase + 0x12 (0x00007ff9`8b32b382)
CLRJIT! Phase::Run + 0x76 (0x00007ff9`8b53cfd6)
CLRJIT! CodeGen::genGenerateCode + 0xD9 (0x00007ff9`8b330c59)
CLRJIT! Compiler::compCompile + 0x221F (0x00007ff9`8b349fef)
CLRJIT! Compiler::compCompileHelper + 0x9FE (0x00007ff9`8b34c11e)
CLRJIT! Compiler::compCompile + 0x978 (0x00007ff9`8b34aef8)
File: C:\dev\dotnet\runtime4\src\coreclr\vm\jitinterface.cpp:11396
Image: C:\dev\dotnet\runtime4\artifacts\tests\coreclr\windows.x64.Checked\Tests\Core_Root\corerun.exe
Introduced in commit range 13ec54f...b378823. Most likely culprit seems to be #112985, cc @janvorli
cc @dotnet/jit-contrib