Skip to content

Test Failure: JIT/Methodical/tailcall_v4/hijacking/hijacking.dll & JIT/opt/Tailcall/TailcallVerifyWithPrefix/TailcallVerifyWithPrefix.dll #123867

Closed

Description

@shimingsg

Failed in: runtime-coreclr pgostress 20260130.1

Failed tests:

coreclr linux arm64 Checked fullpgo @ AzureLinux.3.Arm64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
coreclr linux arm64 Checked syntheticpgo @ AzureLinux.3.Arm64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
coreclr linux arm64 Checked fullpgo_random_gdv @ AzureLinux.3.Arm64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
coreclr linux arm64 Checked syntheticpgo_blend @ AzureLinux.3.Arm64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
coreclr linux arm64 Checked fullpgo_methodprofiling @ AzureLinux.3.Arm64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
coreclr linux arm64 Checked fullpgo_random_gdv_methodprofiling_only @ AzureLinux.3.Arm64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
coreclr linux arm64 Checked fullpgo_random_gdv_edge @ AzureLinux.3.Arm64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
coreclr linux arm64 Checked fullpgo_methodprofiling_always_optimized @ AzureLinux.3.Arm64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
coreclr linux x64 Checked fullpgo @ AzureLinux.3.Amd64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
coreclr linux x64 Checked fullpgo_methodprofiling @ AzureLinux.3.Amd64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
coreclr linux x64 Checked syntheticpgo @ AzureLinux.3.Amd64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
coreclr linux x64 Checked syntheticpgo_blend @ AzureLinux.3.Amd64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
coreclr linux x64 Checked fullpgo_methodprofiling_always_optimized @ AzureLinux.3.Amd64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
coreclr linux x64 Checked fullpgo_random_gdv @ AzureLinux.3.Amd64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
coreclr linux x64 Checked fullpgo_random_gdv_edge @ AzureLinux.3.Amd64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
coreclr linux x64 Checked fullpgo_random_gdv_methodprofiling_only @ AzureLinux.3.Amd64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
coreclr osx arm64 Checked fullpgo @ OSX.26.Arm64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
coreclr osx arm64 Checked syntheticpgo @ OSX.26.Arm64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
coreclr osx arm64 Checked fullpgo_random_gdv_edge @ OSX.26.Arm64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
coreclr osx arm64 Checked fullpgo_methodprofiling_always_optimized @ OSX.26.Arm64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
coreclr osx arm64 Checked fullpgo_methodprofiling @ OSX.26.Arm64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
coreclr osx arm64 Checked syntheticpgo_blend @ OSX.26.Arm64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
coreclr osx arm64 Checked fullpgo_random_gdv @ OSX.26.Arm64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
coreclr osx arm64 Checked fullpgo_random_gdv_methodprofiling_only @ OSX.26.Arm64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
coreclr windows x64 Checked fullpgo @ Windows.10.Amd64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
- JIT/opt/Tailcall/TailcallVerifyWithPrefix/TailcallVerifyWithPrefix.dll
coreclr windows x64 Checked fullpgo_random_gdv_edge @ Windows.10.Amd64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
- JIT/opt/Tailcall/TailcallVerifyWithPrefix/TailcallVerifyWithPrefix.dll
coreclr windows x64 Checked fullpgo_methodprofiling @ Windows.10.Amd64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
- JIT/opt/Tailcall/TailcallVerifyWithPrefix/TailcallVerifyWithPrefix.dll
coreclr windows x64 Checked fullpgo_random_gdv @ Windows.10.Amd64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
- JIT/opt/Tailcall/TailcallVerifyWithPrefix/TailcallVerifyWithPrefix.dll
coreclr windows x64 Checked fullpgo_methodprofiling_always_optimized @ Windows.10.Amd64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
- JIT/opt/Tailcall/TailcallVerifyWithPrefix/TailcallVerifyWithPrefix.dll
coreclr windows x64 Checked syntheticpgo_blend @ Windows.10.Amd64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
- JIT/opt/Tailcall/TailcallVerifyWithPrefix/TailcallVerifyWithPrefix.dll
coreclr windows x64 Checked syntheticpgo @ Windows.10.Amd64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
- JIT/opt/Tailcall/TailcallVerifyWithPrefix/TailcallVerifyWithPrefix.dll
coreclr windows x64 Checked instrument_if_optimizing @ Windows.10.Amd64.Open
- JIT/opt/Tailcall/TailcallVerifyWithPrefix/TailcallVerifyWithPrefix.dll
coreclr windows x64 Checked fullpgo_random_gdv_methodprofiling_only @ Windows.10.Amd64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
- JIT/opt/Tailcall/TailcallVerifyWithPrefix/TailcallVerifyWithPrefix.dll
coreclr windows arm64 Checked fullpgo @ Windows.11.Arm64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
- JIT/opt/Tailcall/TailcallVerifyWithPrefix/TailcallVerifyWithPrefix.dll
coreclr windows arm64 Checked fullpgo_random_gdv_edge @ Windows.11.Arm64.Open
- JIT/Methodical/tailcall_v4/hijacking/hijacking.dll
- JIT/opt/Tailcall/TailcallVerifyWithPrefix/TailcallVerifyWithPrefix.dll

Error message:

Assert.Equal() Failure: Values differ
Expected: 100
Actual:   101

Stack trace:

   at Xunit.Assert.Equal[T](T expected, T actual, IEqualityComparer`1 comparer) in /_/src/arcade/src/Microsoft.DotNet.XUnitAssert/src/EqualityAsserts.cs:line 174
   at Program.<<Main>$>g__TestExecutor76|2_77(StreamWriter tempLogSw, StreamWriter statsCsvSw, <>c__DisplayClass2_0&)

Activity

  1. added
    area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
    on Feb 2, 2026
  2. dotnet-policy-service commented on Feb 2, 2026

    @dotnet-policy-service
    Contributor

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

  3. MihuBot commented on Feb 2, 2026

    @MihuBot
  4. jakobbotsch commented on Feb 2, 2026

    @jakobbotsch
    Member

    Oddly I see this failing with even old coreruns from many months ago.

  5. jakobbotsch commented on Feb 2, 2026

    @jakobbotsch
    Member

    Looks like these started to run with #123248, cc @jkoritzinsky, presumably not intended? Before:

    07:50:34.389 Running test: JIT/Methodical/tailcall_v4/hijacking/hijacking.cmd
    
    Return code:      0
    Raw output file:      C:\h\w\B86C09EB\w\A6910896\uploads\tailcall_v4\hijacking\output.txt
    Raw output:
    BEGIN EXECUTION
    SKIPPING EXECUTION BECAUSE DOTNET_TieredCompilation has not been disabled and this test is marked JitOptimizationSensitive
    Test Harness Exitcode is : 0
    To run the test:
    Set up CORE_ROOT and run.
    > C:\h\w\B86C09EB\w\A6910896\e\JIT\Methodical\Methodical_others\../tailcall_v4/hijacking/hijacking.cmd
    

    Still, I think there is something to investigate here.

  6. removed
    untriagedNew issue has not been triaged by the area owner
    on Feb 2, 2026
  7. added this to the 11.0.0 milestone on Feb 2, 2026
  8. jkoritzinsky commented on Feb 2, 2026

    @jkoritzinsky
    Member

    Yeah these running in new pipelines is not intended. I guess I need to fix the AnyJITStress handling. I'll have a PR up soon.

  9. jkoritzinsky commented on Feb 2, 2026

    @jkoritzinsky
    Member

    Looks like I used the wrong suppression mode actually, so should be an easy fix.

  10. jakobbotsch commented on Feb 4, 2026

    @jakobbotsch
    Member

    I want to take a closer look at this still.

  11. jakobbotsch commented on Feb 6, 2026

    @jakobbotsch
    Member

    The hijacking test is not compatible with OSR -- it is verifying that the address of an implicit byref does not change anymore after the 3rd tailcall, but when an OSR transition happens inside DispatchTailCalls it changes. This manifests with DOTNET_ReadyToRun=0 and TieredCompilation=1.

    The TailcallVerifyWithPrefix test is not compatible with TieredCompilation=1 since it tries to validate some opportunistic tailcalls by checking for stack frames not being present.

    So doesn't look like there is any bug here.

  12. locked and limited conversation to collaborators on Mar 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIblocking-clean-ci-optionalBlocking optional rolling runs

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions