Skip to content

Mono crashes in mono_reflection_get_custom_attrs_data_checked when running under Instruments Leaks profiler #90394

@akoeplinger

Description

@akoeplinger

Running e.g. a MacCatalyst application under the Leaks profiler from Instruments.app crashes like this (you need to add the stdout/stderr instrument to see the message):

Command used to build the app:
./dotnet.sh build /t:Test /p:TargetOS=maccatalyst /p:RunAOTCompilation=true /p:MonoForceInterpreter=true /p:Configuration=Release src/libraries/System.Globalization/tests/Hybrid/System.Globalization.IOS.Tests.csproj

Native Crash Reporting
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================
=================================================================
	Native stacktrace:
=================================================================
	0x104c079d0 - /Users/alexander/dev/runtime/artifacts/bin/System.Globalization.IOS.Tests/Release/net8.0-maccatalyst/maccatalyst-arm64/AppBundle/System.Globalization.IOS.Tests/Release-maccatalyst/System.Globalization.IOS.Tests.app/Contents/MacOS/System.Globalization.IOS. : mono_dump_native_crash_info
	0x104bb92d4 - /Users/alexander/dev/runtime/artifacts/bin/System.Globalization.IOS.Tests/Release/net8.0-maccatalyst/maccatalyst-arm64/AppBundle/System.Globalization.IOS.Tests/Release-maccatalyst/System.Globalization.IOS.Tests.app/Contents/MacOS/System.Globalization.IOS. : mono_handle_native_crash
	0x104b27db0 - /Users/alexander/dev/runtime/artifacts/bin/System.Globalization.IOS.Tests/Release/net8.0-maccatalyst/maccatalyst-arm64/AppBundle/System.Globalization.IOS.Tests/Release-maccatalyst/System.Globalization.IOS.Tests.app/Contents/MacOS/System.Globalization.IOS. : mono_sigsegv_signal_handler_debug
	0x1959f6a24 - /usr/lib/system/libsystem_platform.dylib : _sigtramp
	0x10527410c - /Applications/Xcode.app/Contents/SharedFrameworks/DVTInstrumentsFoundation.framework/Versions/A/Resources/liboainject.dylib : _OAAttachAndInitialize
	0x10527410c - /Applications/Xcode.app/Contents/SharedFrameworks/DVTInstrumentsFoundation.framework/Versions/A/Resources/liboainject.dylib : _OAAttachAndInitialize
	0x105272924 - /Applications/Xcode.app/Contents/SharedFrameworks/DVTInstrumentsFoundation.framework/Versions/A/Resources/liboainject.dylib : _OARecordReferenceEvent
	0x195807090 - /usr/lib/system/libsystem_malloc.dylib : find_zone_and_free
	0x104af761c - /Users/alexander/dev/runtime/artifacts/bin/System.Globalization.IOS.Tests/Release/net8.0-maccatalyst/maccatalyst-arm64/AppBundle/System.Globalization.IOS.Tests/Release-maccatalyst/System.Globalization.IOS.Tests.app/Contents/MacOS/System.Globalization.IOS. : mono_reflection_get_custom_attrs_data_checked
	0x104a89f50 - /Users/alexander/dev/runtime/artifacts/bin/System.Globalization.IOS.Tests/Release/net8.0-maccatalyst/maccatalyst-arm64/AppBundle/System.Globalization.IOS.Tests/Release-maccatalyst/System.Globalization.IOS.Tests.app/Contents/MacOS/System.Globalization.IOS. : ves_icall_MonoCustomAttrs_GetCustomAttributesDataInternal_raw
	0x104c17a08 - /Users/alexander/dev/runtime/artifacts/bin/System.Globalization.IOS.Tests/Release/net8.0-maccatalyst/maccatalyst-arm64/AppBundle/System.Globalization.IOS.Tests/Release-maccatalyst/System.Globalization.IOS.Tests.app/Contents/MacOS/System.Globalization.IOS. : do_icall
	0x104c16104 - /Users/alexander/dev/runtime/artifacts/bin/System.Globalization.IOS.Tests/Release/net8.0-maccatalyst/maccatalyst-arm64/AppBundle/System.Globalization.IOS.Tests/Release-maccatalyst/System.Globalization.IOS.Tests.app/Contents/MacOS/System.Globalization.IOS. : do_icall_wrapper
	0x104c0b600 - /Users/alexander/dev/runtime/artifacts/bin/System.Globalization.IOS.Tests/Release/net8.0-maccatalyst/maccatalyst-arm64/AppBundle/System.Globalization.IOS.Tests/Release-maccatalyst/System.Globalization.IOS.Tests.app/Contents/MacOS/System.Globalization.IOS. : mono_interp_exec_method
	0x104c091cc - /Users/alexander/dev/runtime/artifacts/bin/System.Globalization.IOS.Tests/Release/net8.0-maccatalyst/maccatalyst-arm64/AppBundle/System.Globalization.IOS.Tests/Release-maccatalyst/System.Globalization.IOS.Tests.app/Contents/MacOS/System.Globalization.IOS. : interp_runtime_invoke
	0x104b2aeb4 - /Users/alexander/dev/runtime/artifacts/bin/System.Globalization.IOS.Tests/Release/net8.0-maccatalyst/maccatalyst-arm64/AppBundle/System.Globalization.IOS.Tests/Release-maccatalyst/System.Globalization.IOS.Tests.app/Contents/MacOS/System.Globalization.IOS. : mono_jit_runtime_invoke
	0x104ac0a80 - /Users/alexander/dev/runtime/artifacts/bin/System.Globalization.IOS.Tests/Release/net8.0-maccatalyst/maccatalyst-arm64/AppBundle/System.Globalization.IOS.Tests/Release-maccatalyst/System.Globalization.IOS.Tests.app/Contents/MacOS/System.Globalization.IOS. : mono_runtime_invoke_checked
	0x104ada4b0 - /Users/alexander/dev/runtime/artifacts/bin/System.Globalization.IOS.Tests/Release/net8.0-maccatalyst/maccatalyst-arm64/AppBundle/System.Globalization.IOS.Tests/Release-maccatalyst/System.Globalization.IOS.Tests.app/Contents/MacOS/System.Globalization.IOS. : start_wrapper
	0x1959c7fa8 - /usr/lib/system/libsystem_pthread.dylib : _pthread_start
	0x1959c2da0 - /usr/lib/system/libsystem_pthread.dylib : thread_start
=================================================================
	External Debugger Dump:
=================================================================
=================================================================
	Basic Fault Address Reporting
=================================================================
Memory around native instruction pointer (0x1052741d8):0x1052741c8  d8 ff ff 17 7f 23 03 d5 fd 7b bf a9 fd 03 00 91  .....#...{......
0x1052741d8  08 00 40 b9 3f 00 04 f1 e3 01 00 54 29 34 94 52  ..@.?......T)4.R
0x1052741e8  29 34 b4 72 1f 01 09 6b 61 01 00 54 00 10 00 91  )4.r...ka..T....
0x1052741f8  81 ae 01 30 1f 20 03 d5 82 01 80 52 a2 0c 00 94  ...0. .....R....
=================================================================
	Managed Stacktrace:
=================================================================
	  at <unknown> <0xffffffff>
	  at System.Reflection.CustomAttribute:GetCustomAttributesDataInternal <0x00018>
	  at System.Reflection.CustomAttribute:GetCustomAttributesDataBase <0x00032>
	  at System.Reflection.CustomAttribute:GetCustomAttributesData <0x00034>
	  at System.Reflection.RuntimeMethodInfo:GetCustomAttributesData <0x00010>
	  at System.Reflection.MemberInfo:get_CustomAttributes <0x0000e>
	  at Xunit.Sdk.ReflectionMethodInfo:GetCustomAttributes <0x00020>
	  at Xunit.Sdk.ReflectionMethodInfo:GetCustomAttributes <0x00032>
	  at Xunit.Sdk.ReflectionMethodInfo:GetCustomAttributes <0x00014>
	  at ReflectionAbstractionExtensions:GetCustomAttributes <0x0001e>
	  at Xunit.Sdk.XunitTestCase:GetTraitAttributesData <0x00072>
	  at Xunit.Sdk.XunitTestCase:Initialize <0x0013c>
	  at Xunit.Sdk.TestMethodTestCase:EnsureInitialized <0x00028>
	  at Xunit.Sdk.TestMethodTestCase:get_Traits <0x0000e>
	  at Microsoft.DotNet.XHarness.TestRunners.Xunit.TestCaseExtensions:HasTraits <0x00016>
	  at Microsoft.DotNet.XHarness.TestRunners.Xunit.XUnitFilter:ApplyTraitFilter <0x00070>
	  at Microsoft.DotNet.XHarness.TestRunners.Xunit.XUnitFilter:IsExcluded <0x000f0>
	  at <>c__DisplayClass6_0:<IsExcluded>b__1 <0x00030>
	  at Microsoft.DotNet.XHarness.TestRunners.Xunit.XUnitFiltersCollection:IsExcludedInternal <0x000d4>
	  at Microsoft.DotNet.XHarness.TestRunners.Xunit.XUnitFiltersCollection:IsExcluded <0x0013c>
	  at <>c__DisplayClass84_1:<Run>b__2 <0x00040>
	  at WhereListIterator`1:MoveNext <0x000d0>
	  at System.Collections.Generic.List`1:.ctor <0x0016a>
	  at System.Linq.Enumerable:ToList <0x00058>
	  at <Run>d__84:MoveNext <0x00554>
	  at System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start <0x0007a>
	  at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1:Start <0x0000e>
	  at Microsoft.DotNet.XHarness.TestRunners.Xunit.XUnitTestRunner:Run <0x00088>
	  at <Run>d__76:MoveNext <0x005fc>
	  at System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start <0x0007a>
	  at System.Runtime.CompilerServices.AsyncTaskMethodBuilder:Start <0x0000e>
	  at Microsoft.DotNet.XHarness.TestRunners.Xunit.XUnitTestRunner:Run <0x00074>
	  at <InternalRunAsync>d__38:MoveNext <0x00478>
	  at AsyncStateMachineBox`1:ExecutionContextCallback <0x00022>
	  at System.Threading.ExecutionContext:RunInternal <0x000f0>
	  at AsyncStateMachineBox`1:MoveNext <0x000cc>
	  at AsyncStateMachineBox`1:MoveNext <0x00012>
	  at System.Threading.Tasks.AwaitTaskContinuation:RunOrScheduleAction <0x000c8>
	  at System.Threading.Tasks.Task:RunContinuations <0x0013a>
	  at System.Threading.Tasks.Task:FinishContinuations <0x0004a>
	  at System.Threading.Tasks.Task`1:TrySetResult <0x000ce>
	  at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1:SetExistingTaskResult <0x0006c>
	  at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1:SetResult <0x00056>
	  at <GetIgnoredCategories>d__35:MoveNext <0x0041a>
	  at AsyncStateMachineBox`1:ExecutionContextCallback <0x00022>
	  at System.Threading.ExecutionContext:RunInternal <0x000f0>
	  at AsyncStateMachineBox`1:MoveNext <0x000cc>
	  at AsyncStateMachineBox`1:MoveNext <0x00012>
	  at System.Threading.Tasks.AwaitTaskContinuation:RunOrScheduleAction <0x000c8>
	  at System.Threading.Tasks.Task:RunContinuations <0x0013a>
	  at System.Threading.Tasks.Task:FinishContinuations <0x0004a>
	  at System.Threading.Tasks.Task`1:TrySetResult <0x000ce>
	  at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1:SetExistingTaskResult <0x0006c>
	  at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1:SetResult <0x00056>
	  at <ParseTraitsFileAsync>d__4:MoveNext <0x002ea>
	  at AsyncStateMachineBox`1:ExecutionContextCallback <0x00022>
	  at System.Threading.ExecutionContext:RunInternal <0x000f0>
	  at AsyncStateMachineBox`1:MoveNext <0x000cc>
	  at AsyncStateMachineBox`1:MoveNext <0x00012>
	  at System.Threading.Tasks.AwaitTaskContinuation:RunOrScheduleAction <0x000c8>
	  at System.Threading.Tasks.Task:RunContinuations <0x0013a>
	  at System.Threading.Tasks.Task:FinishContinuations <0x0004a>
	  at System.Threading.Tasks.Task`1:TrySetResult <0x000ce>
	  at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1:SetExistingTaskResult <0x0006c>
	  at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1:SetResult <0x00056>
	  at <ReadLineAsyncInternal>d__63:MoveNext <0x00aa0>
	  at AsyncStateMachineBox`1:ExecutionContextCallback <0x00022>
	  at System.Threading.ExecutionContext:RunInternal <0x000f0>
	  at AsyncStateMachineBox`1:MoveNext <0x000cc>
	  at AsyncStateMachineBox`1:MoveNext <0x00012>
	  at System.Threading.Tasks.AwaitTaskContinuation:RunOrScheduleAction <0x000c8>
	  at System.Threading.Tasks.Task:RunContinuations <0x0013a>
	  at System.Threading.Tasks.Task:FinishContinuations <0x0004a>
	  at System.Threading.Tasks.Task`1:TrySetResult <0x000ce>
	  at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1:SetExistingTaskResult <0x0006c>
	  at System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1:SetResult <0x0005c>
	  at <ReadBufferAsync>d__72:MoveNext <0x006cc>
	  at AsyncStateMachineBox`1:ExecutionContextCallback <0x00022>
	  at System.Threading.ExecutionContext:RunInternal <0x000f0>
	  at AsyncStateMachineBox`1:MoveNext <0x000cc>
	  at AsyncStateMachineBox`1:MoveNext <0x00012>
	  at <>c:<.cctor>b__49_0 <0x0003c>
	  at System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1:SignalCompletion <0x00104>
	  at System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1:SetResult <0x00022>
	  at StateMachineBox:SetResult <0x0001c>
	  at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1:SetResult <0x00062>
	  at <ReadAsyncSlowPath>d__37:MoveNext <0x009d2>
	  at StateMachineBox`1:ExecutionContextCallback <0x00022>
	  at System.Threading.ExecutionContext:RunInternal <0x000f0>
	  at StateMachineBox`1:MoveNext <0x00060>
	  at <>c:<.cctor>b__49_0 <0x0003c>
	  at System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1:SignalCompletion <0x00104>
	  at System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1:SetResult <0x00022>
	  at ThreadPoolValueTaskSource:ExecuteInternal <0x00392>
	  at ThreadPoolValueTaskSource:System.Threading.IThreadPoolWorkItem.Execute <0x00044>
	  at System.Threading.ThreadPoolWorkQueue:DispatchWorkItem <0x00060>
	  at System.Threading.ThreadPoolWorkQueue:Dispatch <0x003c0>
	  at WorkerThread:WorkerDoWork <0x0003e>
	  at WorkerThread:WorkerThreadStart <0x000f4>
	  at System.Object:runtime_invoke_direct_void__this__ <0x000e2>
	  at <unknown> <0x00000>
=================================================================
image

/cc @filipnavara

Metadata

Metadata

Assignees

Labels

area-VM-reflection-monoReflection issues specific to MonoVMin-prThere is an active PR which will close this issue when it is mergedos-maccatalystMacCatalyst OS

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions