Skip to content

CoreCLR Interpreter - fix all coreclr test issues with DOTNET_InterpMode=3 #120904

@janvorli

Description

@janvorli

This issue tracks all the issues occurring when running all coreclr Pri-1 tests interpreted (using the src\tests\run.cmd interpreter) with DOTNET_InterpMode=3.

Disabled tests that crashed the whole suites

Assert thunkData

  • Interop\PInvoke\IEnumerator

This test runs forever with the interpreter

  • JIT\Directed\Convert\out_of_range_fp_to_int_conversions
  • JIT\Performance\CodeQuality\SIMD\ConsoleMandel
  • JIT\Regression\JitBlue\GitHub_19438
  • JIT\SIMD\Sums.cs
  • JIT\jit64\opt\rngchk\RngchkStress3

AV when running with the interpreter

  • JIT\Methodical\tailcall\reference_i_d
  • JIT\Methodical\tailcall\reference_i_r
  • JIT\Regression\CLR-x86-JIT\v2.1\b609988\Desktop\b609988_Desktop
  • JIT\Regression\CLR-x86-JIT\v2.1\b609988\b609988

Intermittent AVs

  • baseservices\threading\generics\WaitCallback\thread01..thread30

Failures out of the disabled tests

baseservices

System.InvalidProgramException: Common Language Runtime detected an invalid program.
at Program.NonblittableFunctionPointers()

  • baseservices\callconvs\TestCallingConventions

Unhandled exception. System.InvalidProgramException: Common Language Runtime detected an invalid program.
at NoPIATest.Program.Main(String[] args) - #121147

  • baseservices\typeequivalence\signatures\nopiatestil

baseservices-exceptions

The test fails its checks - #121332

  • baseservices\exceptions\generics\try-filter-finally01
  • baseservices\exceptions\generics\try-filter-finally02

AV in baseservices\exceptions\generics\try-filter-struct02 - #121332

  • baseservices\exceptions\generics\try-filter-struct02

Exit code 0xC0000005, expected 0xC00000FD or 0x800703E9

  • baseservices\exceptions\stackoverflow

Wrong exit code 0xE0434352, expected 0xC0000005 - #121397

  • baseservices\exceptions\unhandled

baseservices.threading.threading_group1

Didn't find stack limits in the memory ranges dump

  • baseservices\threading\commitstackonlyasneeded\DefaultStackCommit

GC.GC

Test for GC.Collect() failed!

  • GC\API\GC\Collect

ObjectTest Failed!, arrayTest Failed!

  • GC\API\GC\GetGeneration

Interop.Interop

Assert failure: thunkData

  • Interop\COM\NativeClients\DefaultInterfaces
  • Interop\COM\NativeClients\Dispatch
  • Interop\COM\NativeClients\Events
  • Interop\COM\NativeClients\Licensing
  • Interop\COM\NativeClients\MiscTypes
  • Interop\COM\NativeClients\Primitives
  • Interop\COM\NETClients\Aggregation\NETClientAggregation
  • Interop\COM\NETClients\ConsumeNETServer\ConsumeNETServer
  • Interop\COM\NETClients\Events\NETClientEvents
  • Interop\COM\NETClients\Licensing\NETClientLicense
  • Interop\COM\NETClients\Lifetime\NETClientLifetime
  • Interop\COM\NETClients\Primitives\NETClientPrimitives
  • Interop\COM\NETClients\Primitives\NETClientPrimitivesInALC

System.InvalidProgramException: Common Language Runtime detected an invalid program

  • Interop\COM\NETClients\MiscTypes\NetClientMiscTypes
  • Interop\IJW\NativeVarargs\NativeVarargsTest

Expected: 100
Actual: -2146233082

  • Interop\UnmanagedCallersOnly\UnmanagedCallersOnlyTest

JIT.Directed.Directed_1

System.InvalidProgramException: Common Language Runtime detected an invalid program

  • JIT\Directed\coverage\importer\byrefsubbyref1
  • JIT\Directed\coverage\importer\Desktop\byrefsubbyref1_r

JIT.Directed.Directed_2

jmp - opcode not supported yet - #121130

  • JIT\Directed\perffix\primitivevt\callconv3_d
  • JIT\Directed\perffix\primitivevt\callconv3_r

JIT.Directed.Directed_3

System.InvalidProgramException: Common Language Runtime detected an invalid program
Most of these fixed by #121144

  • JIT\Directed\refbyref\byref2iu_d
  • JIT\Directed\refbyref\byref2iu_r
  • JIT\Directed\refbyref\byrefconvert_d
  • JIT\Directed\refbyref\byrefconvert_r
  • JIT\Directed\leave\catch1_d
  • JIT\Directed\leave\catch1_r
  • JIT\Directed\leave\catch2_d
  • JIT\Directed\leave\catch2_r
  • JIT\Directed\leave\filter1_d
  • JIT\Directed\leave\filter1_r
  • JIT\Directed\leave\filter2_d
  • JIT\Directed\leave\filter2_r
  • JIT\Directed\refbyref\ref2iu_d
  • JIT\Directed\refbyref\ref2iu_r
  • JIT\Directed\refbyref\refpinned2iu_d
  • JIT\Directed\refbyref\refpinned2iu_r
  • JIT\Directed\aliasing_retbuf\aliasing_retbuf
  • JIT\Directed\pinvoke\tail_pinvoke

jmp - opcode not supported yet - #121130

  • JIT\Directed\zeroinit\tail_zeroinit
  • JIT\Directed\pinvoke\jump

TwoStringInt: isString: System.NullReferenceException: Object reference not set to an instance of an object.
at Program.Test8() in D:\git\runtime9\src\tests\JIT\Directed\zeroinit\Dev10_863995.il:line 64 isInt: -2102178960

  • JIT\Directed\zeroinit\Dev10_863995

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

  • JIT\Directed\Convert\implicitConv

System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.

  • JIT\Directed\newarr

Failed to throw IndexOutOfRange when storing null
Failed to throw IndexOutOfRange when storing object
Failed to throw IndexOutOfRange when accessing element
The problem is that we don't handle the case when the array index is nint instead of int

  • JIT\Directed\Arrays\nintindexoutofrange

Expected: 100
Actual: -1073741819

  • JIT\Directed\callconv\CdeclMemberFunction\CdeclMemberFunctionTest
  • JIT\Directed\callconv\PlatformDefaultMemberFunction\PlatformDefaultMemberFunctionTest
  • JIT\Directed\callconv\StdCallMemberFunction\StdCallMemberFunctionTest
  • JIT\Directed\callconv\ThisCall\ThisCallTest
  • JIT\Directed\tailcall\more_tailcalls

FAIL: thiscall fptr with no args should have failed

  • JIT\Directed\callconv\ThisCall\EmptyThisCallTest

Validation failed: expected mappings at IL offsets 000, 006, 00e, 012, 01a, 01c, 024, 028, 02c, 034

  • JIT\Directed\debugging\debuginfo\tester

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

  • JIT\Directed\debugging\poisoning\poison

Expected: 100
Actual: -1073741801

  • JIT\Directed\pinvoke\calli_excep

JIT.IL_Conformance.IL_Conformance

jmp - opcode not supported yet - #121130

  • JIT\IL_Conformance\Old\Base\jmp

Assert.Equal() Failure: Values differ

  • JIT\IL_Conformance\Old\Conformance_Base\ldarga_i

Common Language Runtime detected an invalid program

  • JIT\IL_Conformance\Old\directed\ldloca_s_i1
  • JIT\IL_Conformance\Old\directed\ldloca_s_i2
  • JIT\IL_Conformance\Old\directed\ldloca_s_r4
  • JIT\IL_Conformance\Old\directed\ldloca_s_r8

Wrong result in DynamicConvertFromSystem.DoubleToSystem.UInt161Opconv.u2
Wrong result in DynamicConvertFromSystem.DoubleToSystem.UInt1665535Opconv.u2

  • JIT\IL_Conformance\Convert\TestConvertFromIntegral

JIT.jit64.jit64_2

System.InvalidProgramException: Common Language Runtime detected an invalid program.

  • JIT\jit64\mcc\interop\mcc_i00
  • JIT\jit64\mcc\interop\mcc_i01
  • JIT\jit64\mcc\interop\mcc_i02
  • JIT\jit64\mcc\interop\mcc_i03
  • JIT\jit64\mcc\interop\mcc_i07
  • JIT\jit64\mcc\interop\mcc_i10
  • JIT\jit64\mcc\interop\mcc_i11
  • JIT\jit64\mcc\interop\mcc_i12
  • JIT\jit64\mcc\interop\mcc_i13
  • JIT\jit64\mcc\interop\mcc_i17
  • JIT\jit64\mcc\interop\mcc_i30
  • JIT\jit64\mcc\interop\mcc_i31
  • JIT\jit64\mcc\interop\mcc_i32
  • JIT\jit64\mcc\interop\mcc_i33
  • JIT\jit64\mcc\interop\mcc_i37
  • JIT\jit64\mcc\interop\mcc_i50
  • JIT\jit64\mcc\interop\mcc_i51
  • JIT\jit64\mcc\interop\mcc_i52
  • JIT\jit64\mcc\interop\mcc_i53
  • JIT\jit64\mcc\interop\mcc_i57
  • JIT\jit64\mcc\interop\mcc_i60
  • JIT\jit64\mcc\interop\mcc_i61
  • JIT\jit64\mcc\interop\mcc_i62
  • JIT\jit64\mcc\interop\mcc_i63
  • JIT\jit64\mcc\interop\mcc_i67
  • JIT\jit64\mcc\interop\mcc_i70
  • JIT\jit64\mcc\interop\mcc_i71
  • JIT\jit64\mcc\interop\mcc_i72
  • JIT\jit64\mcc\interop\mcc_i73
  • JIT\jit64\mcc\interop\mcc_i77
  • JIT\jit64\mcc\interop\mcc_i80
  • JIT\jit64\mcc\interop\mcc_i81
  • JIT\jit64\mcc\interop\mcc_i82
  • JIT\jit64\mcc\interop\mcc_i83
  • JIT\jit64\mcc\interop\mcc_i87

JIT.jit64.jit64_3

Assert.Equal() Failure: Values differ

  • JIT\jit64\opt\regress\vswhidbey\481244\foo2_d
  • JIT\jit64\opt\regress\vswhidbey\481244\foo2_r

jmp - opcode not supported yet - #121130

  • JIT\jit64\opt\cg\il\jmp_d
  • JIT\jit64\opt\cg\il\jmp_do
  • JIT\jit64\opt\cg\il\jmp_impl

JIT.jit64.jit64_5

jmp - opcode not supported yet - #121130

  • JIT\jit64\localloc\call\call05_dynamic
  • JIT\jit64\localloc\call\call05_large
  • JIT\jit64\localloc\call\call05_small
  • JIT\jit64\localloc\call\call07_dynamic
  • JIT\jit64\localloc\call\call07_small

Assert.Equal() Failure: Values differ - #121113_
Expected: 100
Actual: 1

  • JIT\jit64\localloc\ehverify\eh05_dynamic_il
  • JIT\jit64\localloc\ehverify\eh05_large_il
  • JIT\jit64\localloc\ehverify\eh05_small_il
  • JIT\jit64\localloc\ehverify\eh06_dynamic
  • JIT\jit64\localloc\ehverify\eh06_large
  • JIT\jit64\localloc\ehverify\eh06_small
  • JIT\jit64\localloc\ehverify\eh07_dynamic
  • JIT\jit64\localloc\ehverify\eh07_small
  • JIT\jit64\localloc\ehverify\eh08_dynamic
  • JIT\jit64\localloc\ehverify\eh08_large
  • JIT\jit64\localloc\ehverify\eh08_small

System.InvalidProgramException: Common Language Runtime detected an invalid program.

  • JIT\jit64\regress\vsw\102754\test1_102754
  • JIT\jit64\gc\misc\funclet

JIT.JIT_others

SuperPMI collection and playback - FAILED

  • JIT\superpmi\superpmicollect\xprecise1_cs_do

JIT.Regression.Regression_1

System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.

  • JIT\Regression\CLR-x86-JIT\V1.2-M02\b00719

System.InvalidProgramException: Common Language Runtime detected an invalid program.

  • JIT\Regression\CLR-x86-JIT\V1.2-M02\b102962\b102962a
  • JIT\Regression\CLR-x86-JIT\V1.2-M02\b102962\b102962b
  • JIT\Regression\CLR-x86-JIT\V1.2-M02\b115932\b115932a
  • JIT\Regression\CLR-x86-JIT\V1.2-M02\b115932\b115932b
  • JIT\Regression\CLR-x86-JIT\V1-QFE\b147814
  • JIT\Regression\CLR-x86-JIT\V1.2-M01\b18049
  • JIT\Regression\CLR-x86-EJIT\V1-M12-Beta2\b26323\b26323
  • JIT\Regression\CLR-x86-JIT\V2.0-RTM\b471305
  • JIT\Regression\CLR-x86-JIT\V1-M13-RTM\b88793
  • JIT\Regression\CLR-x86-JIT\V1-M13-RTM\b91248
  • JIT\Regression\CLR-x86-JIT\V2.0-Beta2\b409748

JIT.Regression.Regression_2

Assert.Equal() Failure: Values differ
Expected: 1600094603
Actual: 1600094604

  • JIT\Regression\JitBlue\Runtime_106338

Fail, expected S.s_i0 == 0, got 1254428496, expected r == 720, got 720

  • JIT\Regression\JitBlue\Runtime_33529

Assert.Equal() Failure: Values differ

  • JIT\Regression\JitBlue\Runtime_34587
  • JIT\Regression\JitBlue\Runtime_68568
  • JIT\Regression\JitBlue\Runtime_74635

System.InvalidProgramException: Common Language Runtime detected an invalid program.

  • JIT\Regression\JitBlue\Runtime_57606
  • JIT\Regression\JitBlue\Runtime_58259
  • JIT\Regression\JitBlue\Runtime_72133

jmp - opcode not supported yet - #121130

  • JIT\Regression\JitBlue\Runtime_80731

JIT.Regression.Regression_3

jmp - opcode not supported yet - #121130

  • JIT\Regression\JitBlue\DevDiv_279829
  • JIT\Regression\JitBlue\GitHub_23147
  • JIT\Regression\JitBlue\GitHub_27678

Test Result = -2147483647

  • JIT\Regression\JitBlue\DevDiv_545500

Assert.Equal() Failure: Values differ

  • JIT\Regression\JitBlue\GitHub_13501
  • JIT\Regression\JitBlue\GitHub_13822

System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.

  • JIT\Regression\JitBlue\GitHub_14116

System.InvalidProgramException: Common Language Runtime detected an invalid program.

  • JIT\Regression\JitBlue\GitHub_23950
  • JIT\Regression\JitBlue\GitHub_35384

JIT.Regression.Regression_4

System.ArithmeticException: Overflow or underflow in the arithmetic operation

  • JIT\Regression\VS-ia64-JIT\M00\b108366

jmp - opcode not supported yet - #121130

  • JIT\Regression\VS-ia64-JIT\V1.2-M01\b14324

JIT.Regression.Regression_5

jmp - opcode not supported yet - #121130

  • JIT\Regression\Dev11\External\dev11_132534\CSharpPart_132534

The double ctor call worked without generating an exception

  • JIT\Regression\Dev11\Dev11_468598\Test_HndIndex_10_Plain

JIT.Regression.Regression_6

System.InvalidProgramException: Common Language Runtime detected an invalid program.

  • JIT\Regression\CLR-x86-JIT\V1-M12-Beta2\b31746
  • JIT\Regression\CLR-x86-JIT\V1-M12-Beta2\b37646
  • JIT\Regression\CLR-x86-JIT\V1-M11-Beta1\b41391
  • JIT\Regression\CLR-x86-JIT\V1-M12-Beta2\b41852
  • JIT\Regression\CLR-x86-JIT\V1-M11-Beta1\b36472
  • JIT\Regression\CLR-x86-JIT\V1-M11-Beta1\b37598
  • JIT\Regression\CLR-x86-JIT\V1-M11-Beta1\b46867
  • JIT\Regression\CLR-x86-JIT\V1-M12-Beta2\b31745

Assert.Equal() Failure: Values differ

  • JIT\Regression\CLR-x86-JIT\V1-M11-Beta1\b39397
  • JIT\Regression\CLR-x86-JIT\V1-M12-Beta2\b70808
  • JIT\Regression\CLR-x86-JIT\V1-M12-Beta2\b71999

Expected: 100
Actual: -532462766

  • JIT\Regression\CLR-x86-JIT\V1-M11-Beta1\b35784

JIT.Regression.Regression_7

jmp - opcode not supported yet - #121130

  • JIT\Regression\CLR-x86-JIT\V1-M10\b05214
  • JIT\Regression\CLR-x86-JIT\V1-M09.5-PDC\b10897

System.InvalidProgramException: Common Language Runtime detected an invalid program.

  • JIT\Regression\CLR-x86-JIT\V1-M09.5-PDC\b16423
  • JIT\Regression\CLR-x86-JIT\V1-M09.5-PDC\b26324\b26324a
  • JIT\Regression\CLR-x86-JIT\V1-M09.5-PDC\b26324\b26324b
  • JIT\Regression\CLR-x86-JIT\V1-M09.5-PDC\b28901
  • JIT\Regression\CLR-x86-JIT\V1-M09.5-PDC\b30838
  • JIT\Regression\CLR-x86-JIT\V1-M09.5-PDC\b30864
  • JIT\Regression\CLR-x86-JIT\V1-M09.5-PDC\b32374

Assert.Equal() Failure: Values differ

  • JIT\Regression\CLR-x86-JIT\V1-M09.5-PDC\b27535

Loader.classloader.generics.LoaderClassloaderGeneric

System.InvalidProgramException: Cannot create boxed ByRef-like values

  • Loader\classloader\generics\ByRefLike\Validate

Test did not throw expected InvalidOperationException

  • Loader\classloader\generics\Instantiation\Negative\abstract01

Loader.classloader.regressions.LoaderClassloaderRegressions

Assert failure: pAssembly != nullptr

  • Loader\classloader\regressions\vsw529206\vsw529206ModuleCctor

profiler.profiler

Unhandled exception. System.Exception: Expected 1, got 0

  • profiler\dynamicoptimization\DynamicOptimization

Test failed: Profiler tests are expected to contain the text 'PROFILER TEST PASSES' in the console output of the profilee app to indicate a passing test.

  • profiler\elt\slowpatheltenter
  • profiler\elt\slowpatheltleave

ReJITProfiler::Shutdown - rejit count=0 expected rejit count=1

  • profiler\rejit\rejit

Test failed _failures=0 _pinvoke=false _reversePinvoke=false

  • profiler\transitions\transitions

Regressions.Regressions

AV in MethodDesc::GetMethodDescOfVirtualizedCode

  • Regressions\coreclr\GitHub_35000\test35000

tracing.tracing

==TEST FINISHED: FAILED!==

  • tracing\eventpipe\rundownvalidation\rundownvalidation

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions