Skip to content

Runtime have a mutrec codegeneration issue. --- est failure: JIT/Directed/tailcall/mutual_recursion/mutual_recursion.cmd #17692

Open
@KevinRansom

Description

@KevinRansom

The original issue is: dotnet/runtime#106601 (comment)

Failed in: runtime-coreclr ilasm 20240817.1

Failed tests:

coreclr linux arm Checked ilasmroundtrip @ (Debian.12.Arm32.Open)Ubuntu.2004.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-12-helix-arm32v7
    - JIT/Directed/tailcall/mutual_recursion/mutual_recursion.cmd
coreclr osx x64 Checked ilasmroundtrip @ OSX.1200.Amd64.Open
    - JIT/Directed/tailcall/mutual_recursion/mutual_recursion.cmd
coreclr linux arm64 Checked ilasmroundtrip @ (Ubuntu.2004.Arm64.Open)Ubuntu.2004.Armarch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-20.04-helix-arm64v8
    - JIT/Directed/tailcall/mutual_recursion/mutual_recursion.cmd
coreclr osx arm64 Checked ilasmroundtrip @ OSX.1200.ARM64.Open
    - JIT/Directed/tailcall/mutual_recursion/mutual_recursion.cmd
coreclr windows x86 Checked ilasmroundtrip @ Windows.10.Amd64.Open
    - JIT/Directed/tailcall/mutual_recursion/mutual_recursion.cmd
coreclr windows x64 Checked ilasmroundtrip @ Windows.10.Amd64.Open
    - JIT/Directed/tailcall/mutual_recursion/mutual_recursion.cmd
coreclr linux x64 Checked ilasmroundtrip @ Ubuntu.2204.Amd64.Open
    - JIT/Directed/tailcall/mutual_recursion/mutual_recursion.cmd
coreclr windows arm64 Checked ilasmroundtrip @ Windows.11.Arm64.Open
    - JIT/Directed/tailcall/mutual_recursion/mutual_recursion.cmd

Error message:

 IL-RT/mutual_recursion.il(2418) : warning : Duplicate param name 'self@' in method '.ctor'
IL-RT/mutual_recursion.il(2935) : warning : Duplicate param name 'self@' in method '.ctor'
IL-RT/mutual_recursion.il(3399) : warning : Duplicate param name 'self@' in method '.ctor'
IL-RT/mutual_recursion.il(3863) : warning : Duplicate param name 'self@' in method '.ctor'
IL-RT/mutual_recursion.il(4327) : warning : Duplicate param name 'self@' in method '.ctor'
Unhandled exception. System.Exception: Incorrect method passed
   at Mutual_recursion.Driver.runMethodWithTiming@511.Invoke(String methodName, Boolean worksOnlyOnNetCore5, Int32 iterationCount, FSharpFunc`2 cb)
   at Mutual_recursion.Driver.Start()
   at Mutual_recursion.main(String[] argv)
waitpid() returned successfully (wstatus 00000000) WEXITSTATUS 0 WTERMSIG 0
/root/helix/work/workitem/e/JIT/Directed/Directed_3/../tailcall/mutual_recursion/mutual_recursion.sh: line 453:  5935 Aborted                 (core dumped) $LAUNCHER $ExePath "${CLRTestExecutionArguments[@]}"

Return code:      1
Raw output file:      /root/helix/work/workitem/uploads/tailcall/mutual_recursion/output.txt
Raw output:
BEGIN EXECUTION

.NET IL Assembler.  Version 9.0.0-ci
Copyright (c) Microsoft Corporation.  All rights reserved.
Assembling 'IL-RT/mutual_recursion.il'  to EXE --> 'mutual_recursion.dll'
Source file is UNICODE

Assembled method Mutual_recursion�Point2D::CompareTo
Assembled method Mutual_recursion�Point2D::CompareTo
Assembled method Mutual_recursion�Point2D::CompareTo
Assembled method Mutual_recursion�Point2D::GetHashCode
Assembled method Mutual_recursion�Point2D::GetHashCode
Assembled method Mutual_recursion�Point2D::Equals
Assembled method Mutual_recursion�Point2D::Equals
Assembled method Mutual_recursion�Point2D::.ctor
Assembled method Mutual_recursion�Point2D::get_X
Assembled method Mutual_recursion�Point2D::get_Y
Assembled method Mutual_recursion�Point2D::Equals
Assembled method Mutual_recursion�Point2D::Equals
Assembled method Mutual_recursion�callee@30::.ctor
Assembled method Mutual_recursion�callee@30::Invoke
Assembled method Mutual_recursion�callee@30::.cctor
Assembled method Mutual_recursion�secondCallee@44::.ctor
Assembled method Mutual_recursion�secondCallee@44::Invoke
Assembled method Mutual_recursion�secondCallee@44::.cctor
Assembled method Mutual_recursion�thirdCallee@66::.ctor
Assembled method Mutual_recursion�thirdCallee@66::Invoke
Assembled method Mutual_recursion�thirdCallee@66::.cctor
Assembled method Mutual_recursion�thirdCallee@66D::.ctor
Assembled method Mutual_recursion�thirdCallee@66D::Invoke
Assembled method Mutual_recursion�fourthMethodFirstCallee@101::.ctor
Assembled method Mutual_recursion�fourthMethodFirstCallee@101::Invoke
Assembled method Mutual_recursion�fourthMethodSecondCallee@117::.ctor
Assembled method Mutual_recursion�fourthMethodSecondCallee@117::Invoke
Assembled method Mutual_recursion�fifthMethodFirstCallee@147::.ctor
Assembled method Mutual_recursion�fifthMethodFirstCallee@147::Invoke
Assembled method Mutual_recursion�fifthMethodFirstCallee@147D::.ctor
Assembled method Mutual_recursion�fifthMethodFirstCallee@147D::Invoke
Assembled method Mutual_recursion�fifthMethodSecondCallee@165::.ctor
Assembled method Mutual_recursion�fifthMethodSecondCallee@165::Invoke
Assembled method Mutual_recursion�fifthMethodSecondCallee@165D::.ctor
Assembled method Mutual_recursion�fifthMethodSecondCallee@165D::Invoke
Assembled method Mutual_recursion�sixthMethodFirstCallee@198::.ctor
Assembled method Mutual_recursion�sixthMethodFirstCallee@198::Invoke
Assembled method Mutual_recursion�sixthMethodFirstCallee@198D::.ctor
Assembled method Mutual_recursion�sixthMethodFirstCallee@198D::Invoke
Assembled method Mutual_recursion�sixthMethodSecondCallee@216::.ctor
Assembled method Mutual_recursion�sixthMethodSecondCallee@216::Invoke
Assembled method Mutual_recursion�seventhMethodFirstCallee@247::.ctor
Assembled method Mutual_recursion�seventhMethodFirstCallee@247::Invoke
Assembled 

Stack trace:

   at Xunit.Assert.True(Nullable`1 condition, String userMessage) in /_/src/Microsoft.DotNet.XUnitAssert/src/BooleanAsserts.cs:line 146
   at TestLibrary.OutOfProcessTest.RunOutOfProcessTest(String assemblyPath, String testPathPrefix)
   at Program.<<Main>$>g__TestExecutor241|0_242(StreamWriter tempLogSw, StreamWriter statsCsvSw, <>c__DisplayClass0_0& A_2)

Metadata

Metadata

Assignees

Labels

Area-Compiler-CodeGenIlxGen, ilwrite and things at the backendBugImpact-High(Internal MS Team use only) Describes an issue with extreme impact on existing code.Regression

Type

Projects

Status

New

Relationships

None yet

Development

No branches or pull requests

Issue actions