dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
14.92k stars 4.64k forks source link

Test failure: JIT/Regression/JitBlue/Runtime_55107/Runtime_55107/Runtime_55107.cmd #102978

Closed v-wenyuxu closed 3 months ago

v-wenyuxu commented 3 months ago

Failed in: runtime-coreclr jitstress-isas-x86 20240601.1

Failed tests:

coreclr windows x86 Checked jitstress_isas_1_x86_nosse @ Windows.10.Amd64.Open
    - JIT/Regression/JitBlue/Runtime_55107/Runtime_55107/Runtime_55107.cmd
coreclr windows x86 Checked jitstress_isas_1_x86_nosse2 @ Windows.10.Amd64.Open
    - JIT/Regression/JitBlue/Runtime_55107/Runtime_55107/Runtime_55107.cmd

Error message:

 Fatal error. 0xC0000005
   at System.Reflection.RuntimeParameterInfo.GetParameters(System.IRuntimeMethodInfo, System.Reflection.MemberInfo, System.Signature, System.Reflection.ParameterInfo ByRef, Boolean)
   at System.Reflection.RuntimeConstructorInfo.GetParametersAsSpan()
   at System.RuntimeType.FilterApplyMethodBase(System.Reflection.MethodBase, System.Reflection.BindingFlags, System.Reflection.BindingFlags, System.Reflection.CallingConventions, System.Type[])
   at System.RuntimeType.GetConstructorCandidates(System.String, System.Reflection.BindingFlags, System.Reflection.CallingConventions, System.Type[], Boolean)
   at System.RuntimeType.GetConstructorImpl(System.Reflection.BindingFlags, System.Reflection.Binder, System.Reflection.CallingConventions, System.Type[], System.Reflection.ParameterModifier[])
   at System.RuntimeTypeHandle.CreateInstanceForAnotherGenericParameter(System.RuntimeType, System.RuntimeType)
   at System.Collections.Generic.ComparerHelpers.CreateDefaultEqualityComparer(System.Type)
   at System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]..cctor()
   at System.Diagnostics.Tracing.EventListener.Validate()
   at System.Diagnostics.Tracing.EventListener.AddEventSource(System.Diagnostics.Tracing.EventSource)
   at System.Diagnostics.Tracing.EventSource.Initialize(System.Guid, System.String, System.String[])
   at System.Diagnostics.Tracing.EventSource..ctor(System.Guid, System.String)
   at System.Diagnostics.Tracing.NativeRuntimeEventSource..ctor()
   at System.Diagnostics.Tracing.NativeRuntimeEventSource..cctor()
   at System.Diagnostics.Tracing.EventListener.get_EventListenersLock()
   at System.Diagnostics.Tracing.EventSource.Initialize(System.Guid, System.String, System.String[])
   at System.Buffers.ArrayPoolEventSource..cctor()
   at System.Buffers.SharedArrayPool`1[[System.Char, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Rent(Int32)
   at System.SR.InternalGetResourceString(System.String)
   at System.SR.GetResourceString(System.String)
   at System.AccessViolationException..ctor()
   at System.Resources.ResourceReader._ReadResources()
   at System.Resources.ResourceReader.ReadResources()
   at System.Resources.ResourceReader..ctor(System.IO.Stream, System.Collections.Generic.Dictionary`2<System.String,System.Resources.ResourceLocator>, Boolean)
   at System.Resources.RuntimeResourceSet..ctor(System.IO.Stream, Boolean)
   at System.Resources.ManifestBasedResourceGroveler.CreateResourceSet(System.IO.Stream, System.Reflection.Assembly)
   at System.Resources.ManifestBasedResourceGroveler.GrovelForResourceSet(System.Globalization.CultureInfo, System.Collections.Generic.Dictionary`2<System.String,System.Resources.ResourceSet>, Boolean, Boolean)
   at System.Resources.ResourceManager.InternalGetResourceSet(System.Globalization.CultureInfo, Boolean, Boolean)
   at System.Resources.ResourceManager.GetString(System.String, System.Globalization.CultureInfo)
   at System.SR.InternalGetResourceString(System.String)
   at System.SR.GetResourceString(System.String)
   at System.AccessViolationException..ctor()
   at System.Environment.InitializeCommandLineArgs(Char*, Int32, Char**)

Return code:      1
Raw output file:      C:hwB6DC09A8wB3DF09DFuploadsJitBlueRuntime_55107Runtime_55107output.txt
Raw output:
BEGIN EXECUTION
 "C:hwB6DC09A8pcorerun.exe" -p "System.Reflection.Metadata.MetadataUpdater.IsSupported=false" -p "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization=true"  Runtime_55107.dll 
Expected: 100
Actual: -1073741819
END EXECUTION - FAILED
FAILED
Test failed. Trying to see if dump file was created in C:cores since 6/1/2024 9:38:35 PM
Processing C:corescorerun.exe.6868.dmp
Invoking: C:Program Files (x86)Windows Kits10Debuggers†cdb.exe -c "$<C:hwB6DC09A8       mpxqns1j.tmp" -z "C:corescorerun.exe.6868.dmp"
stdout: 
Microsoft (R) Windows

Stack trace:

   at Xunit.Assert.True(Boolean condition, String userMessage) in /_/src/Microsoft.DotNet.XUnitAssert/src/BooleanAsserts.cs:line 128
   at TestLibrary.OutOfProcessTest.RunOutOfProcessTest(String assemblyPath, String testPathPrefix)
   at Program.<<Main>$>g__TestExecutor446|0_447(StreamWriter tempLogSw, StreamWriter statsCsvSw, <>c__DisplayClass0_0&)
Queued Pipeline Pipeline_Configuration OS Arch Test Outcome Properties BuildReason
2024-06-02T07:17:36.017Z runtime-coreclr crossgen2-composite gcstress Checked-gcstress0xc_disabler2r_jitstress2 osx.1200.arm64.open arm64 JIT/Regression/JitBlue/Runtime_55107/Runtime_55107/Runtime_55107.cmd Failed {"System.PhaseName":"run_test_p1_Composite_osx_arm64_checked","DefinitionName":"runtime-coreclr crossgen2-composite gcstress","System.StageName":"Build","System.JobAttempt":"1","System.JobName":"__default","configuration":"Checked-gcstress0xc_disabler2r_jitstress2","operatingSystem":"OSX.1200.ARM64.Open","BuildNumber":"20240601.1","architecture":"arm64","BuildId":"695081","Project":"public","Reason":"Schedule","System.StageAttempt":"1","CollectionUri":"https://dev.azure.com/dnceng-public/","AzurePipelinesTestRunId":"17270084","System.PhaseAttempt":"1","System.JobId":"4b5575ba-4f05-5198-bc88-a075c735caa5","DefinitionId":"141"} Schedule
2024-06-01T22:13:05.597Z runtime-coreclr gcstress-extra Checked-gcstress0xc_disabler2r_jitstress2 osx.1200.arm64.open arm64 JIT/Regression/JitBlue/Runtime_55107/Runtime_55107/Runtime_55107.cmd Failed {"System.StageName":"Build","DefinitionId":"113","System.PhaseName":"run_test_p1osx_arm64_checked","Project":"public","DefinitionName":"runtime-coreclr gcstress-extra","BuildNumber":"20240601.1","System.JobId":"765fd5e9-e47f-5cb0-4cbf-499eaaaee93e","System.PhaseAttempt":"1","Reason":"Schedule","AzurePipelinesTestRunId":"17268424","CollectionUri":"https://dev.azure.com/dnceng-public/","System.StageAttempt":"1","configuration":"Checked-gcstress0xc_disabler2r_jitstress2","operatingSystem":"OSX.1200.ARM64.Open","System.JobName":"default","BuildId":"695019","architecture":"arm64","System.JobAttempt":"1"} Schedule
dotnet-policy-service[bot] commented 3 months ago

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

JulieLeeMSFT commented 3 months ago

@tannergooding, is it something you can take a look?

v-wenyuxu commented 3 months ago

Failed in: runtime-coreclr gcstress-extra 20240602.1

Failed tests:

coreclr windows x86 Checked gcstress0xc_disabler2r_jitstress2 @ Windows.10.Amd64.Open
    - JIT/Regression/JitBlue/Runtime_55107/Runtime_55107/Runtime_55107.cmd

Error message:

 Fatal error. 0xC0000005
   at System.Reflection.RuntimeParameterInfo.GetParameters(System.IRuntimeMethodInfo, System.Reflection.MemberInfo, System.Signature, System.Reflection.ParameterInfo ByRef, Boolean)
   at System.Reflection.RuntimeParameterInfo.GetParameters(System.IRuntimeMethodInfo, System.Reflection.MemberInfo, System.Signature)
   at System.Reflection.RuntimeConstructorInfo.GetParametersAsSpan()
   at System.RuntimeType.FilterApplyMethodBase(System.Reflection.MethodBase, System.Reflection.BindingFlags, System.Reflection.BindingFlags, System.Reflection.CallingConventions, System.Type[])
   at System.RuntimeType.GetConstructorCandidates(System.String, System.Reflection.BindingFlags, System.Reflection.CallingConventions, System.Type[], Boolean)
   at System.RuntimeType.GetConstructorImpl(System.Reflection.BindingFlags, System.Reflection.Binder, System.Reflection.CallingConventions, System.Type[], System.Reflection.ParameterModifier[])
   at System.RuntimeTypeHandle.CreateInstanceForAnotherGenericParameter(System.RuntimeType, System.RuntimeType)
   at System.Collections.Generic.ComparerHelpers.CreateDefaultEqualityComparer(System.Type)
   at System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]..cctor()
   at System.Collections.Generic.EqualityComparer`1[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].get_Default()
   at System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Boolean, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]..ctor(Int32, System.Collections.Generic.IEqualityComparer`1<System.__Canon>)
   at System.Collections.Generic.Dictionary`2[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Boolean, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]..ctor()
   at System.Diagnostics.Tracing.EventListener.Validate()
   at System.Diagnostics.Tracing.EventListener.AddEventSource(System.Diagnostics.Tracing.EventSource)
   at System.Diagnostics.Tracing.EventSource.Initialize(System.Guid, System.String, System.String[])
   at System.Diagnostics.Tracing.EventSource..ctor(System.Guid, System.String)
   at System.Diagnostics.Tracing.NativeRuntimeEventSource..ctor()
   at System.Diagnostics.Tracing.NativeRuntimeEventSource..cctor()
   at System.Diagnostics.Tracing.EventListener.get_EventListenersLock()
   at System.Diagnostics.Tracing.EventSource.Initialize(System.Guid, System.String, System.String[])
   at System.Buffers.ArrayPoolEventSource..cctor()
   at System.Buffers.SharedArrayPool`1[[System.Char, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Rent(Int32)
   at System.SR.InternalGetResourceString(System.String)
   at System.SR.GetResourceString(System.String)
   at System.AccessViolationException..ctor()
   at System.Resources.ResourceReader._ReadResources()
   at System.Resources.ResourceReader.ReadResources()
   at System.Resources.RuntimeResourceSet..ctor(System.IO.Stream, Boolean)
   at System.Resources.ManifestBasedResourceGroveler.CreateResourceSet(System.IO.Stream, System.Reflection.Assembly)
   at System.Resources.ManifestBasedResourceGroveler.GrovelForResourceSet(System.Globalization.CultureInfo, System.Collections.Generic.Dictionary`2<System.String,System.Resources.ResourceSet>, Boolean, Boolean)
   at System.Resources.ResourceManager.InternalGetResourceSet(System.Globalization.CultureInfo, Boolean, Boolean)
   at System.Resources.ResourceManager.GetString(System.String, System.Globalization.CultureInfo)
   at System.SR.InternalGetResourceString(System.String)
   at System.SR.GetResourceString(System.String)
   at System.AccessViolationException..ctor()

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__TestExecutor446|0_447(StreamWriter tempLogSw, StreamWriter statsCsvSw, <>c__DisplayClass0_0&)
Queued Pipeline Pipeline_Configuration OS Arch Test Outcome Properties BuildReason
2024-06-03T07:26:50.643Z runtime-coreclr crossgen2-composite gcstress Checked-gcstress0xc_disabler2r_jitstress2 osx.1200.arm64.open arm64 JIT/Regression/JitBlue/Runtime_55107/Runtime_55107/Runtime_55107.cmd Failed {"System.JobName":"__default","CollectionUri":"https://dev.azure.com/dnceng-public/","DefinitionName":"runtime-coreclr crossgen2-composite gcstress","System.StageName":"Build","architecture":"arm64","BuildId":"695416","AzurePipelinesTestRunId":"17282404","System.PhaseName":"run_test_p1_Composite_osx_arm64_checked","System.PhaseAttempt":"1","BuildNumber":"20240602.1","DefinitionId":"141","System.JobAttempt":"1","System.StageAttempt":"1","Reason":"Schedule","Project":"public","System.JobId":"4b5575ba-4f05-5198-bc88-a075c735caa5","configuration":"Checked-gcstress0xc_disabler2r_jitstress2","operatingSystem":"OSX.1200.ARM64.Open"} Schedule
2024-06-02T22:20:05.962Z runtime-coreclr gcstress-extra Checked-gcstress0xc_disabler2r_jitstress2 osx.1200.arm64.open arm64 JIT/Regression/JitBlue/Runtime_55107/Runtime_55107/Runtime_55107.cmd Failed {"Reason":"Schedule","System.StageName":"Build","CollectionUri":"https://dev.azure.com/dnceng-public/","BuildNumber":"20240602.1","AzurePipelinesTestRunId":"17278540","System.JobAttempt":"1","System.JobId":"765fd5e9-e47f-5cb0-4cbf-499eaaaee93e","operatingSystem":"OSX.1200.ARM64.Open","BuildId":"695307","System.PhaseAttempt":"1","configuration":"Checked-gcstress0xc_disabler2r_jitstress2","System.JobName":"__default","Project":"public","DefinitionName":"runtime-coreclr gcstress-extra","System.StageAttempt":"1","architecture":"arm64","System.PhaseName":"run_test_p1__osx_arm64_checked","DefinitionId":"113"} Schedule
2024-06-02T07:17:36.017Z runtime-coreclr crossgen2-composite gcstress Checked-gcstress0xc_disabler2r_jitstress2 osx.1200.arm64.open arm64 JIT/Regression/JitBlue/Runtime_55107/Runtime_55107/Runtime_55107.cmd Failed {"System.PhaseName":"run_test_p1_Composite_osx_arm64_checked","DefinitionName":"runtime-coreclr crossgen2-composite gcstress","System.StageName":"Build","System.JobAttempt":"1","System.JobName":"__default","configuration":"Checked-gcstress0xc_disabler2r_jitstress2","operatingSystem":"OSX.1200.ARM64.Open","BuildNumber":"20240601.1","architecture":"arm64","BuildId":"695081","Project":"public","Reason":"Schedule","System.StageAttempt":"1","CollectionUri":"https://dev.azure.com/dnceng-public/","AzurePipelinesTestRunId":"17270084","System.PhaseAttempt":"1","System.JobId":"4b5575ba-4f05-5198-bc88-a075c735caa5","DefinitionId":"141"} Schedule
2024-06-01T22:13:05.597Z runtime-coreclr gcstress-extra Checked-gcstress0xc_disabler2r_jitstress2 osx.1200.arm64.open arm64 JIT/Regression/JitBlue/Runtime_55107/Runtime_55107/Runtime_55107.cmd Failed {"System.StageName":"Build","DefinitionId":"113","System.PhaseName":"run_test_p1osx_arm64_checked","Project":"public","DefinitionName":"runtime-coreclr gcstress-extra","BuildNumber":"20240601.1","System.JobId":"765fd5e9-e47f-5cb0-4cbf-499eaaaee93e","System.PhaseAttempt":"1","Reason":"Schedule","AzurePipelinesTestRunId":"17268424","CollectionUri":"https://dev.azure.com/dnceng-public/","System.StageAttempt":"1","configuration":"Checked-gcstress0xc_disabler2r_jitstress2","operatingSystem":"OSX.1200.ARM64.Open","System.JobName":"default","BuildId":"695019","architecture":"arm64","System.JobAttempt":"1"} Schedule
tannergooding commented 3 months ago

Looks like this isn't hwintrinsic related (at least at a glance). The actual test is just using Unsafe.AreSame and Unsafe.NullRef: https://github.com/dotnet/runtime/blob/main/src/tests/JIT/Regression/JitBlue/Runtime_55107/Runtime_55107.cs, but additionally sets DOTNET_JitDoRedundantBranchOpts=0 which is required to repro the failure

The minimum flags I found that repros is:

DOTNET_JitDoRedundantBranchOpts=0
DOTNET_JitStress=1
DOTNET_ReadyToRun=0
DOTNET_TieredCompilation=0

So this is most likely related to one of the recent loop PRs. There's only been a couple in the last week and this looks to specifically be caused by https://github.com/dotnet/runtime/pull/102261 as reverting it causes the failure to go away. CC @jakobbotsch