runtime icon indicating copy to clipboard operation
runtime copied to clipboard

`JIT/Methodical/tailcall/deep_gc_d` failing with assert `dwILOffsetWalk == dwILOffsetDebugInterface` with JitStress

Open amanasifkhalid opened this issue 6 months ago • 6 comments

Config:

export DOTNET_TieredCompilation=0
export DOTNET_EnableAVX2=0
export DOTNET_JitStress=1

Example run. cc @dotnet/jit-contrib

Build Information

Build: https://dev.azure.com/dnceng-public/public/_build/results?buildId=1092416&view=results Build error leg or test failing:

Error Message

Fill the error message using step by step known issues guidance.

{
  "ErrorMessage": "dwILOffsetWalk == dwILOffsetDebugInterface",
  "BuildRetry": false,
  "ExcludeConsoleLog": false
}

Known issue validation

Build: :mag_right: https://dev.azure.com/dnceng-public/public/_build/results?buildId=1092416 Error message validated: [dwILOffsetWalk == dwILOffsetDebugInterface] Result validation: :white_check_mark: Known issue matched with the provided build. Validation performed at: 7/11/2025 9:24:57 PM UTC

Report

Summary

24-Hour Hit Count 7-Day Hit Count 1-Month Count
0 0 0

amanasifkhalid avatar Jul 11 '25 21:07 amanasifkhalid

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch See info in area-owners.md if you want to be subscribed.

This assert was added in #116031. cc @davidwrighton

Assert failure(PID 6448 [0x00001930], Thread: 9400 [0x24b8]): dwILOffsetWalk == dwILOffsetDebugInterface

CORECLR! ValidateILOffset + 0x1DF (0x00007ffa`5089f80f)
CORECLR! ValidateILOffsets + 0x70D (0x00007ffa`508a000d)
CORECLR! UnsafeJitFunctionWorker + 0x374 (0x00007ffa`509491d4)
CORECLR! UnsafeJitFunction + 0x484 (0x00007ffa`50948c94)
CORECLR! MethodDesc::JitCompileCodeLocked + 0x1EC (0x00007ffa`50a1e6cc)
CORECLR! MethodDesc::JitCompileCodeLockedEventWrapper + 0x534 (0x00007ffa`50a1ef64)
CORECLR! MethodDesc::JitCompileCode + 0x4DE (0x00007ffa`50a1e3de)
CORECLR! MethodDesc::PrepareILBasedCode + 0x50C (0x00007ffa`50a20c9c)
CORECLR! MethodDesc::PrepareCode + 0xF3 (0x00007ffa`50a20733)
CORECLR! CodeVersionManager::PublishVersionableCodeIfNecessary + 0x4CF (0x00007ffa`508915af)
    File: D:\a\_work\1\s\src\coreclr\vm\debugdebugger.cpp:1394
    Image: C:\h\w\A8A00938\p\corerun.exe

Mismatch in IL offsets for 00007FF9F27E9018 at IP 00007FF9F25CA35C Native Offset 220:
  Debug Interface IL Offset: 0
  Walk IL Offsets IL Offset: 30
IL Offset: -2, Native Offset: 0, STACK_EMPTY 
IL Offset: -1, Native Offset: 68, STACK_EMPTY 
IL Offset: 0, Native Offset: 82, STACK_EMPTY 
IL Offset: 12, Native Offset: 146, CALL_INSTRUCTION 
IL Offset: 17, Native Offset: 156, 
IL Offset: 22, Native Offset: 170, CALL_INSTRUCTION 
IL Offset: 27, Native Offset: 180, 
IL Offset: -3, Native Offset: 184, STACK_EMPTY 
IL Offset: 30, Native Offset: 220, CALL_INSTRUCTION 
IL Offset: -3, Native Offset: 261, STACK_EMPTY 
IL Offset: -1, Native Offset: -1, 
App Exit Code: -1073740286
Expected: 100
Actual: -1073740286
END EXECUTION - FAILED
FAILED

jakobbotsch avatar Jul 14 '25 16:07 jakobbotsch

Tagging subscribers to this area: @steveisok, @dotnet/dotnet-diag See info in area-owners.md if you want to be subscribed.

This is not a significant issue. If this is the only failure in the stress suites we're seeing, you could consider disabling the call to the validation method on the stack.

davidwrighton avatar Jul 14 '25 22:07 davidwrighton

I looked briefly and it looks like the old logic considers the last range of the IL mappings to be [184, 220) while the new logic considers the last range to be [184,261). Hence the old logic finds no mapping while the new logic does.

It's quite convoluted, but I get the impression that the intention of the old code is to ignore the CALL_INSTRUCTION mapping completely and that the new code is actually implementing the intention of the old code more properly.

I will do what @davidwrighton suggested and disable the validation for now since this is failing all our jitstress runs.

jakobbotsch avatar Jul 18 '25 11:07 jakobbotsch

I marked this as disabled-test since the validation was disabled due to this issue.

jakobbotsch avatar Jul 21 '25 13:07 jakobbotsch