Skip to content

Unmatched transition callbacks in ICorProfilerCallback #59917

@k15tfu

Description

@k15tfu

Hi!

Just found out that the .NET 6 runtime sometimes incorrectly invokes ICorProfilerCallback::UnmanagedToManagedTransition callback, here is the log with stack traces (see comments after <--):

ManagedToUnmanagedTransition fid=00007FFF9B599D30 reason=call  <-- Push 00007FFF9B599D30
 	.dll!::ManagedToUnmanagedTransition(unsigned __int64 functionId=0x00007fff9b599d30, __MIDL___MIDL_itf_corprof_0000_0000_0009 reason=COR_PRF_TRANSITION_CALL)
 	coreclr.dll!EEToProfInterfaceImpl::ManagedToUnmanagedTransition(unsigned __int64 functionId, __MIDL___MIDL_itf_corprof_0000_0000_0009 reason) Line 4397	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::ManagedToUnmanagedTransition::__l2::<lambda_f0fa74a1af18cf42fe3b9f7256f56999>::operator()(void *) Line 948	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::DoProfilerCallback::__l2::<lambda_43ccf5e3627a7d5134729caeb68751c9>::operator()(ProfilerInfo *) Line 301	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::DoOneProfilerIteration(ProfilerInfo *) Line 213	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::IterateProfilers(ProfilerCallbackType) Line 221	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::DoProfilerCallback(ProfilerCallbackType) Line 296	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::ManagedToUnmanagedTransition(unsigned __int64) Line 943	C++
 	coreclr.dll!ProfilerManagedToUnmanagedTransitionMD(MethodDesc * pMD=0x00007fff9b599d30, __MIDL___MIDL_itf_corprof_0000_0000_0009 reason=COR_PRF_TRANSITION_CALL) Line 10485	C++
 	coreclr.dll!StubHelpers::ProfilerBeginTransitionCallback(unsigned __int64 pSecretParam=0x00007fff9b599d30, Thread * pThread=0x000001e49013e520, Object * unsafe_pThis=0x0000abce449e4bd6) Line 661	C++
 	00007fff9b4cb72c()	Unknown
 	00007fff9b4cafcd()	Unknown
 	00007fff9b4cae2b()	Unknown
 	00007fff9b4cac60()	Unknown
 	00007fff9b4c872a()	Unknown
 	00007fff9b4c838e()	Unknown
 	00007fff9b4c8279()	Unknown
 	00007fff9b4c80d3()	Unknown
 	00007fff9b4c7fcb()	Unknown
 	00007fff9b4c6bbd()	Unknown
 	coreclr.dll!CallDescrWorkerInternal�()	Unknown
 	coreclr.dll!MethodDescCallSite::CallTargetWorker(const unsigned __int64 * pArguments=0x0000000000000000, unsigned __int64 * pReturnValue=0x0000000000000000, int cbReturnValue=0x00000000) Line 551	C++
 	[Inline Frame] coreclr.dll!MethodDescCallSite::Call(const unsigned __int64 *) Line 458	C++
 	[Inline Frame] coreclr.dll!RunStartupHooks() Line 1611	C++
 	coreclr.dll!Assembly::ExecuteMainMethod(PtrArray * * stringArgs=0x0000008d1277ed98, int) Line 1672	C++
 	coreclr.dll!CorHost2::ExecuteAssembly(unsigned long dwAppDomainId, const wchar_t * pwzAssemblyPath=0x0000000000000001, int argc=0x00000000, const wchar_t * * argv=0x0000000000000000, unsigned long * pReturnValue=0x0000008d1277efc0) Line 384	C++
 	coreclr.dll!coreclr_execute_assembly(void * hostHandle=0x000001e48dcd29f0, unsigned int domainId=0x00000001, int argc=0x00000000, const char * * argv, const char * managedAssemblyPath=0x000001e4b2193830, unsigned int * exitCode=0x0000008d1277efc0) Line 446	C++
 	hostpolicy.dll!00007ff87dda96bb()	Unknown
 	hostpolicy.dll!00007ff87dda99ec()	Unknown
 	hostpolicy.dll!00007ff87ddaa387()	Unknown
 	hostfxr.dll!execute_app(const std::wstring & impl_dll_dir, corehost_init_t * init=0x000001e48dc338b0, const int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0) Line 146	C++
 	hostfxr.dll!`anonymous namespace'::read_config_and_execute(const std::wstring & host_command={...}, const host_startup_info_t & host_info, const std::wstring & app_candidate, const std::unordered_map<enum known_options,std::vector<std::wstring,std::allocator<std::wstring>>,known_options_hash,std::equal_to<enum known_options>,std::allocator<std::pair<enum known_options const ,std::vector<std::wstring,std::allocator<std::wstring>>>>> & opts, int new_argc=0x00000001, const wchar_t * * new_argv=0x000001e48dc28bc0, host_mode_t mode=apphost, const bool is_sdk_command=false, wchar_t * out_buffer=0x0000000000000000, int buffer_size=0x00000000, int * required_buffer_size=0x0000000000000000) Line 533	C++
 	hostfxr.dll!fx_muxer_t::handle_exec_host_command(const std::wstring & host_command={...}, const host_startup_info_t & host_info={...}, const std::wstring & app_candidate={...}, const std::unordered_map<enum known_options,std::vector<std::wstring,std::allocator<std::wstring>>,known_options_hash,std::equal_to<enum known_options>,std::allocator<std::pair<enum known_options const ,std::vector<std::wstring,std::allocator<std::wstring>>>>> & opts={...}, int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0, int argoff=0x00000001, host_mode_t mode=apphost, const bool is_sdk_command=false, wchar_t * result_buffer=0x0000000000000000, int buffer_size=0x00000000, int * required_buffer_size=0x0000000000000000) Line 1018	C++
 	hostfxr.dll!fx_muxer_t::execute(const std::wstring host_command={...}, const int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0, const host_startup_info_t & host_info={...}, wchar_t * result_buffer=0x0000000000000000, int buffer_size=0x00000000, int * required_buffer_size=0x0000000000000000) Line 579	C++
 	hostfxr.dll!hostfxr_main_startupinfo(const int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0, const wchar_t * host_path=0x000001e48dc2fcc0, const wchar_t * dotnet_root=0x000001e48dc27a80, const wchar_t * app_path=0x000001e48dc2fdc0) Line 61	C++
 	AvaloniaApp.exe!exe_start(const int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0) Line 235	C++
 	AvaloniaApp.exe!wmain(const int argc, const wchar_t * * argv=0x000001e48dc28bc0) Line 304	C++
 	[Inline Frame] AvaloniaApp.exe!invoke_main() Line 90	C++
 	AvaloniaApp.exe!__scrt_common_main_seh() Line 288	C++
 	kernel32.dll!BaseThreadInitThunk�()	Unknown
 	ntdll.dll!RtlUserThreadStart�()	Unknown

UnmanagedToManagedTransition fid=00007FFF9B599D30 reason=return  <-- Pop 00007FFF9B599D30 
 	.dll!::UnmanagedToManagedTransition(unsigned __int64 functionId=0x00007fff9b599d30, __MIDL___MIDL_itf_corprof_0000_0000_0009 reason=COR_PRF_TRANSITION_RETURN) Line 26	C++
 	coreclr.dll!EEToProfInterfaceImpl::UnmanagedToManagedTransition(unsigned __int64 functionId, __MIDL___MIDL_itf_corprof_0000_0000_0009 reason) Line 4358	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::UnmanagedToManagedTransition::__l2::<lambda_3c6ce07001270865cbf6ffb89a5d42a1>::operator()(void *) Line 934	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::DoProfilerCallback::__l2::<lambda_7e7d054785c18baada757362a2555be5>::operator()(ProfilerInfo *) Line 301	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::DoOneProfilerIteration(ProfilerInfo *) Line 213	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::IterateProfilers(ProfilerCallbackType) Line 221	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::DoProfilerCallback(ProfilerCallbackType) Line 296	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::UnmanagedToManagedTransition(unsigned __int64) Line 929	C++
 	coreclr.dll!ProfilerUnmanagedToManagedTransitionMD(MethodDesc * pMD=0x00007fff9b599d30, __MIDL___MIDL_itf_corprof_0000_0000_0009 reason=COR_PRF_TRANSITION_RETURN) Line 10519	C++
 	coreclr.dll!StubHelpers::ProfilerEndTransitionCallback(MethodDesc * pRealMD=0x00007fff9b599d30, Thread * pThread=0x000001e49013e520) Line 707	C++
 	00007fff9b4cb782()	Unknown
 	00007fff9b4cafcd()	Unknown
 	00007fff9b4cae2b()	Unknown
 	00007fff9b4cac60()	Unknown
 	00007fff9b4c872a()	Unknown
 	00007fff9b4c838e()	Unknown
 	00007fff9b4c8279()	Unknown
 	00007fff9b4c80d3()	Unknown
 	00007fff9b4c7fcb()	Unknown
 	00007fff9b4c6bbd()	Unknown
 	coreclr.dll!CallDescrWorkerInternal�()	Unknown
 	coreclr.dll!MethodDescCallSite::CallTargetWorker(const unsigned __int64 * pArguments=0x0000000000000000, unsigned __int64 * pReturnValue=0x0000000000000000, int cbReturnValue=0x00000000) Line 551	C++
 	[Inline Frame] coreclr.dll!MethodDescCallSite::Call(const unsigned __int64 *) Line 458	C++
 	[Inline Frame] coreclr.dll!RunStartupHooks() Line 1611	C++
 	coreclr.dll!Assembly::ExecuteMainMethod(PtrArray * * stringArgs=0x0000008d1277ed98, int) Line 1672	C++
 	coreclr.dll!CorHost2::ExecuteAssembly(unsigned long dwAppDomainId, const wchar_t * pwzAssemblyPath=0x0000000000000001, int argc=0x00000000, const wchar_t * * argv=0x0000000000000000, unsigned long * pReturnValue=0x0000008d1277efc0) Line 384	C++
 	coreclr.dll!coreclr_execute_assembly(void * hostHandle=0x000001e48dcd29f0, unsigned int domainId=0x00000001, int argc=0x00000000, const char * * argv, const char * managedAssemblyPath=0x000001e4b2193830, unsigned int * exitCode=0x0000008d1277efc0) Line 446	C++
 	hostpolicy.dll!00007ff87dda96bb()	Unknown
 	hostpolicy.dll!00007ff87dda99ec()	Unknown
 	hostpolicy.dll!00007ff87ddaa387()	Unknown
 	hostfxr.dll!execute_app(const std::wstring & impl_dll_dir, corehost_init_t * init=0x000001e48dc338b0, const int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0) Line 146	C++
 	hostfxr.dll!`anonymous namespace'::read_config_and_execute(const std::wstring & host_command={...}, const host_startup_info_t & host_info, const std::wstring & app_candidate, const std::unordered_map<enum known_options,std::vector<std::wstring,std::allocator<std::wstring>>,known_options_hash,std::equal_to<enum known_options>,std::allocator<std::pair<enum known_options const ,std::vector<std::wstring,std::allocator<std::wstring>>>>> & opts, int new_argc=0x00000001, const wchar_t * * new_argv=0x000001e48dc28bc0, host_mode_t mode=apphost, const bool is_sdk_command=false, wchar_t * out_buffer=0x0000000000000000, int buffer_size=0x00000000, int * required_buffer_size=0x0000000000000000) Line 533	C++
 	hostfxr.dll!fx_muxer_t::handle_exec_host_command(const std::wstring & host_command={...}, const host_startup_info_t & host_info={...}, const std::wstring & app_candidate={...}, const std::unordered_map<enum known_options,std::vector<std::wstring,std::allocator<std::wstring>>,known_options_hash,std::equal_to<enum known_options>,std::allocator<std::pair<enum known_options const ,std::vector<std::wstring,std::allocator<std::wstring>>>>> & opts={...}, int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0, int argoff=0x00000001, host_mode_t mode=apphost, const bool is_sdk_command=false, wchar_t * result_buffer=0x0000000000000000, int buffer_size=0x00000000, int * required_buffer_size=0x0000000000000000) Line 1018	C++
 	hostfxr.dll!fx_muxer_t::execute(const std::wstring host_command={...}, const int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0, const host_startup_info_t & host_info={...}, wchar_t * result_buffer=0x0000000000000000, int buffer_size=0x00000000, int * required_buffer_size=0x0000000000000000) Line 579	C++
 	hostfxr.dll!hostfxr_main_startupinfo(const int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0, const wchar_t * host_path=0x000001e48dc2fcc0, const wchar_t * dotnet_root=0x000001e48dc27a80, const wchar_t * app_path=0x000001e48dc2fdc0) Line 61	C++
 	AvaloniaApp.exe!exe_start(const int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0) Line 235	C++
 	AvaloniaApp.exe!wmain(const int argc, const wchar_t * * argv=0x000001e48dc28bc0) Line 304	C++
 	[Inline Frame] AvaloniaApp.exe!invoke_main() Line 90	C++
 	AvaloniaApp.exe!__scrt_common_main_seh() Line 288	C++
 	kernel32.dll!BaseThreadInitThunk�()	Unknown
 	ntdll.dll!RtlUserThreadStart�()	Unknown

ManagedToUnmanagedTransition fid=00007FFF9B599D30 reason=call  <-- Push 00007FFF9B599D30 
 	.dll!::ManagedToUnmanagedTransition(unsigned __int64 functionId=0x00007fff9b599d30, __MIDL___MIDL_itf_corprof_0000_0000_0009 reason=COR_PRF_TRANSITION_CALL) Line 57	C++
 	coreclr.dll!EEToProfInterfaceImpl::ManagedToUnmanagedTransition(unsigned __int64 functionId, __MIDL___MIDL_itf_corprof_0000_0000_0009 reason) Line 4397	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::ManagedToUnmanagedTransition::__l2::<lambda_f0fa74a1af18cf42fe3b9f7256f56999>::operator()(void *) Line 948	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::DoProfilerCallback::__l2::<lambda_43ccf5e3627a7d5134729caeb68751c9>::operator()(ProfilerInfo *) Line 301	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::DoOneProfilerIteration(ProfilerInfo *) Line 213	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::IterateProfilers(ProfilerCallbackType) Line 221	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::DoProfilerCallback(ProfilerCallbackType) Line 296	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::ManagedToUnmanagedTransition(unsigned __int64) Line 943	C++
 	coreclr.dll!ProfilerManagedToUnmanagedTransitionMD(MethodDesc * pMD=0x00007fff9b599d30, __MIDL___MIDL_itf_corprof_0000_0000_0009 reason=COR_PRF_TRANSITION_CALL) Line 10485	C++
 	coreclr.dll!StubHelpers::ProfilerBeginTransitionCallback(unsigned __int64 pSecretParam=0x00007fff9b599d30, Thread * pThread=0x000001e49013e520, Object * unsafe_pThis=0x000001e491afde68) Line 661	C++
 	00007fff9b4cb72c()	Unknown
 	00007fff9b4cafcd()	Unknown
 	00007fff9b4cae2b()	Unknown
 	00007fff9b4cac60()	Unknown
 	00007fff9b4c872a()	Unknown
 	00007fff9b4c838e()	Unknown
 	00007fff9b4c8279()	Unknown
 	00007fff9b4cce83()	Unknown
 	00007fff9b4ccd7b()	Unknown
 	coreclr.dll!CallDescrWorkerInternal�()	Unknown
 	coreclr.dll!DispatchCallDebuggerWrapper(CallDescrData * pCallDescrData=0x0000000000350037, int fCriticalCall=0x00000038) Line 158	C++
 	coreclr.dll!DispatchCallSimple(unsigned __int64 * pSrc=0x0000008d1277ca78, unsigned long numStackSlotsToCopy=0x00000004, unsigned __int64 pTargetAddress=0x00007fff9b4cc0d8, unsigned long dwDispatchCallSimpleFlags=0x00000002) Line 223	C++
 	coreclr.dll!MethodTable::RunClassInitEx(Object * * pThrowable=0x0000008d1277cb30) Line 3184	C++
 	coreclr.dll!MethodTable::DoRunClassInitThrowing() Line 3369	C++
 	coreclr.dll!MethodTable::CheckRunClassInitThrowing() Line 3510	C++
 	coreclr.dll!JIT_GetSharedNonGCStaticBase_Helper(DomainLocalModule * pLocalModule=0x00007fff9b484910, unsigned long dwClassDomainID=0x000007bd) Line 1415	C++
 	00007fff9b4cccfd()	Unknown
 	coreclr.dll!CallDescrWorkerInternal�()	Unknown
 	coreclr.dll!DispatchCallDebuggerWrapper(CallDescrData * pCallDescrData=0x00000000000d0038, int fCriticalCall=0x000000ed) Line 158	C++
 	coreclr.dll!DispatchCallSimple(unsigned __int64 * pSrc=0x0000008d1277d8f8, unsigned long numStackSlotsToCopy=0x00000004, unsigned __int64 pTargetAddress=0x00007fff9b4c7ae0, unsigned long dwDispatchCallSimpleFlags=0x00000002) Line 223	C++
 	coreclr.dll!MethodTable::RunClassInitEx(Object * * pThrowable=0x0000008d1277d9b0) Line 3184	C++
 	coreclr.dll!MethodTable::DoRunClassInitThrowing() Line 3369	C++
 	coreclr.dll!MethodTable::CheckRunClassInitThrowing() Line 3510	C++
 	coreclr.dll!JIT_GetSharedNonGCStaticBase_Helper(DomainLocalModule * pLocalModule=0x00007fff9b484910, unsigned long dwClassDomainID=0x000007ea) Line 1415	C++
 	00007fff9b4cc3f7()	Unknown
 	00007fff9b4c8753()	Unknown
 	00007fff9b4c838e()	Unknown
 	00007fff9b4c8279()	Unknown
 	00007fff9b4c80d3()	Unknown
 	00007fff9b4c7fcb()	Unknown
 	00007fff9b4c6bbd()	Unknown
 	coreclr.dll!CallDescrWorkerInternal�()	Unknown
 	coreclr.dll!MethodDescCallSite::CallTargetWorker(const unsigned __int64 * pArguments=0x0000000000000000, unsigned __int64 * pReturnValue=0x0000000000000000, int cbReturnValue=0x00000000) Line 551	C++
 	[Inline Frame] coreclr.dll!MethodDescCallSite::Call(const unsigned __int64 *) Line 458	C++
 	[Inline Frame] coreclr.dll!RunStartupHooks() Line 1611	C++
 	coreclr.dll!Assembly::ExecuteMainMethod(PtrArray * * stringArgs=0x0000008d1277ed98, int) Line 1672	C++
 	coreclr.dll!CorHost2::ExecuteAssembly(unsigned long dwAppDomainId, const wchar_t * pwzAssemblyPath=0x0000000000000001, int argc=0x00000000, const wchar_t * * argv=0x0000000000000000, unsigned long * pReturnValue=0x0000008d1277efc0) Line 384	C++
 	coreclr.dll!coreclr_execute_assembly(void * hostHandle=0x000001e48dcd29f0, unsigned int domainId=0x00000001, int argc=0x00000000, const char * * argv, const char * managedAssemblyPath=0x000001e4b2193830, unsigned int * exitCode=0x0000008d1277efc0) Line 446	C++
 	hostpolicy.dll!00007ff87dda96bb()	Unknown
 	hostpolicy.dll!00007ff87dda99ec()	Unknown
 	hostpolicy.dll!00007ff87ddaa387()	Unknown
 	hostfxr.dll!execute_app(const std::wstring & impl_dll_dir, corehost_init_t * init=0x000001e48dc338b0, const int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0) Line 146	C++
 	hostfxr.dll!`anonymous namespace'::read_config_and_execute(const std::wstring & host_command={...}, const host_startup_info_t & host_info, const std::wstring & app_candidate, const std::unordered_map<enum known_options,std::vector<std::wstring,std::allocator<std::wstring>>,known_options_hash,std::equal_to<enum known_options>,std::allocator<std::pair<enum known_options const ,std::vector<std::wstring,std::allocator<std::wstring>>>>> & opts, int new_argc=0x00000001, const wchar_t * * new_argv=0x000001e48dc28bc0, host_mode_t mode=apphost, const bool is_sdk_command=false, wchar_t * out_buffer=0x0000000000000000, int buffer_size=0x00000000, int * required_buffer_size=0x0000000000000000) Line 533	C++
 	hostfxr.dll!fx_muxer_t::handle_exec_host_command(const std::wstring & host_command={...}, const host_startup_info_t & host_info={...}, const std::wstring & app_candidate={...}, const std::unordered_map<enum known_options,std::vector<std::wstring,std::allocator<std::wstring>>,known_options_hash,std::equal_to<enum known_options>,std::allocator<std::pair<enum known_options const ,std::vector<std::wstring,std::allocator<std::wstring>>>>> & opts={...}, int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0, int argoff=0x00000001, host_mode_t mode=apphost, const bool is_sdk_command=false, wchar_t * result_buffer=0x0000000000000000, int buffer_size=0x00000000, int * required_buffer_size=0x0000000000000000) Line 1018	C++
 	hostfxr.dll!fx_muxer_t::execute(const std::wstring host_command={...}, const int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0, const host_startup_info_t & host_info={...}, wchar_t * result_buffer=0x0000000000000000, int buffer_size=0x00000000, int * required_buffer_size=0x0000000000000000) Line 579	C++
 	hostfxr.dll!hostfxr_main_startupinfo(const int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0, const wchar_t * host_path=0x000001e48dc2fcc0, const wchar_t * dotnet_root=0x000001e48dc27a80, const wchar_t * app_path=0x000001e48dc2fdc0) Line 61	C++
 	AvaloniaApp.exe!exe_start(const int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0) Line 235	C++
 	AvaloniaApp.exe!wmain(const int argc, const wchar_t * * argv=0x000001e48dc28bc0) Line 304	C++
 	[Inline Frame] AvaloniaApp.exe!invoke_main() Line 90	C++
 	AvaloniaApp.exe!__scrt_common_main_seh() Line 288	C++
 	kernel32.dll!BaseThreadInitThunk�()	Unknown
 	ntdll.dll!RtlUserThreadStart�()	Unknown

UnmanagedToManagedTransition fid=00007FFF9B599B28 reason=call  <-- not interested, do nothing
 	.dll!::UnmanagedToManagedTransition(unsigned __int64 functionId=0x00007fff9b599b28, __MIDL___MIDL_itf_corprof_0000_0000_0009 reason=COR_PRF_TRANSITION_CALL) Line 26	C++
 	coreclr.dll!EEToProfInterfaceImpl::UnmanagedToManagedTransition(unsigned __int64 functionId, __MIDL___MIDL_itf_corprof_0000_0000_0009 reason) Line 4358	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::UnmanagedToManagedTransition::__l2::<lambda_3c6ce07001270865cbf6ffb89a5d42a1>::operator()(void *) Line 934	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::DoProfilerCallback::__l2::<lambda_7e7d054785c18baada757362a2555be5>::operator()(ProfilerInfo *) Line 301	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::DoOneProfilerIteration(ProfilerInfo *) Line 213	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::IterateProfilers(ProfilerCallbackType) Line 221	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::DoProfilerCallback(ProfilerCallbackType) Line 296	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::UnmanagedToManagedTransition(unsigned __int64) Line 929	C++
 	coreclr.dll!ProfilerUnmanagedToManagedTransitionMD(MethodDesc * pMD=0x00007fff9b599b28, __MIDL___MIDL_itf_corprof_0000_0000_0009 reason=COR_PRF_TRANSITION_CALL) Line 10519	C++
 	coreclr.dll!JIT_ReversePInvokeEnterTrackTransitions(ReversePInvokeFrame * frame=0x0000008d1277c190, CORINFO_METHOD_STRUCT_ * handle=0x00007fff9b5b32f0, void * secretArg=0x00007fff9b373040) Line 5497	C++
 	00007fff9b4cd25c()	Unknown
 	ntdll.dll!EtwpEventApiCallback()	Unknown
 	ntdll.dll!EtwpUpdateEnableInfoAndCallback()	Unknown
 	ntdll.dll!EtwpRegisterProvider()	Unknown
 	ntdll.dll!EtwNotificationRegister()	Unknown
 	ntdll.dll!EtwEventRegister�()	Unknown
 	00007fff9b4cb761()	Unknown
 	00007fff9b4cafcd()	Unknown
 	00007fff9b4cae2b()	Unknown
 	00007fff9b4cac60()	Unknown
 	00007fff9b4c872a()	Unknown
 	00007fff9b4c838e()	Unknown
 	00007fff9b4c8279()	Unknown
 	00007fff9b4cce83()	Unknown
 	00007fff9b4ccd7b()	Unknown
 	coreclr.dll!CallDescrWorkerInternal�()	Unknown
 	coreclr.dll!DispatchCallDebuggerWrapper(CallDescrData * pCallDescrData=0x0000000000350037, int fCriticalCall=0x00000038) Line 158	C++
 	coreclr.dll!DispatchCallSimple(unsigned __int64 * pSrc=0x0000008d1277ca78, unsigned long numStackSlotsToCopy=0x00000004, unsigned __int64 pTargetAddress=0x00007fff9b4cc0d8, unsigned long dwDispatchCallSimpleFlags=0x00000002) Line 223	C++
 	coreclr.dll!MethodTable::RunClassInitEx(Object * * pThrowable=0x0000008d1277cb30) Line 3184	C++
 	coreclr.dll!MethodTable::DoRunClassInitThrowing() Line 3369	C++
 	coreclr.dll!MethodTable::CheckRunClassInitThrowing() Line 3510	C++
 	coreclr.dll!JIT_GetSharedNonGCStaticBase_Helper(DomainLocalModule * pLocalModule=0x00007fff9b484910, unsigned long dwClassDomainID=0x000007bd) Line 1415	C++
 	00007fff9b4cccfd()	Unknown
 	coreclr.dll!CallDescrWorkerInternal�()	Unknown
 	coreclr.dll!DispatchCallDebuggerWrapper(CallDescrData * pCallDescrData=0x00000000000d0038, int fCriticalCall=0x000000ed) Line 158	C++
 	coreclr.dll!DispatchCallSimple(unsigned __int64 * pSrc=0x0000008d1277d8f8, unsigned long numStackSlotsToCopy=0x00000004, unsigned __int64 pTargetAddress=0x00007fff9b4c7ae0, unsigned long dwDispatchCallSimpleFlags=0x00000002) Line 223	C++
 	coreclr.dll!MethodTable::RunClassInitEx(Object * * pThrowable=0x0000008d1277d9b0) Line 3184	C++
 	coreclr.dll!MethodTable::DoRunClassInitThrowing() Line 3369	C++
 	coreclr.dll!MethodTable::CheckRunClassInitThrowing() Line 3510	C++
 	coreclr.dll!JIT_GetSharedNonGCStaticBase_Helper(DomainLocalModule * pLocalModule=0x00007fff9b484910, unsigned long dwClassDomainID=0x000007ea) Line 1415	C++
 	00007fff9b4cc3f7()	Unknown
 	00007fff9b4c8753()	Unknown
 	00007fff9b4c838e()	Unknown
 	00007fff9b4c8279()	Unknown
 	00007fff9b4c80d3()	Unknown
 	00007fff9b4c7fcb()	Unknown
 	00007fff9b4c6bbd()	Unknown
 	coreclr.dll!CallDescrWorkerInternal�()	Unknown
 	coreclr.dll!MethodDescCallSite::CallTargetWorker(const unsigned __int64 * pArguments=0x0000000000000000, unsigned __int64 * pReturnValue=0x0000000000000000, int cbReturnValue=0x00000000) Line 551	C++
 	[Inline Frame] coreclr.dll!MethodDescCallSite::Call(const unsigned __int64 *) Line 458	C++
 	[Inline Frame] coreclr.dll!RunStartupHooks() Line 1611	C++
 	coreclr.dll!Assembly::ExecuteMainMethod(PtrArray * * stringArgs=0x0000008d1277ed98, int) Line 1672	C++
 	coreclr.dll!CorHost2::ExecuteAssembly(unsigned long dwAppDomainId, const wchar_t * pwzAssemblyPath=0x0000000000000001, int argc=0x00000000, const wchar_t * * argv=0x0000000000000000, unsigned long * pReturnValue=0x0000008d1277efc0) Line 384	C++
 	coreclr.dll!coreclr_execute_assembly(void * hostHandle=0x000001e48dcd29f0, unsigned int domainId=0x00000001, int argc=0x00000000, const char * * argv, const char * managedAssemblyPath=0x000001e4b2193830, unsigned int * exitCode=0x0000008d1277efc0) Line 446	C++
 	hostpolicy.dll!00007ff87dda96bb()	Unknown
 	hostpolicy.dll!00007ff87dda99ec()	Unknown
 	hostpolicy.dll!00007ff87ddaa387()	Unknown
 	hostfxr.dll!execute_app(const std::wstring & impl_dll_dir, corehost_init_t * init=0x000001e48dc338b0, const int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0) Line 146	C++
 	hostfxr.dll!`anonymous namespace'::read_config_and_execute(const std::wstring & host_command={...}, const host_startup_info_t & host_info, const std::wstring & app_candidate, const std::unordered_map<enum known_options,std::vector<std::wstring,std::allocator<std::wstring>>,known_options_hash,std::equal_to<enum known_options>,std::allocator<std::pair<enum known_options const ,std::vector<std::wstring,std::allocator<std::wstring>>>>> & opts, int new_argc=0x00000001, const wchar_t * * new_argv=0x000001e48dc28bc0, host_mode_t mode=apphost, const bool is_sdk_command=false, wchar_t * out_buffer=0x0000000000000000, int buffer_size=0x00000000, int * required_buffer_size=0x0000000000000000) Line 533	C++
 	hostfxr.dll!fx_muxer_t::handle_exec_host_command(const std::wstring & host_command={...}, const host_startup_info_t & host_info={...}, const std::wstring & app_candidate={...}, const std::unordered_map<enum known_options,std::vector<std::wstring,std::allocator<std::wstring>>,known_options_hash,std::equal_to<enum known_options>,std::allocator<std::pair<enum known_options const ,std::vector<std::wstring,std::allocator<std::wstring>>>>> & opts={...}, int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0, int argoff=0x00000001, host_mode_t mode=apphost, const bool is_sdk_command=false, wchar_t * result_buffer=0x0000000000000000, int buffer_size=0x00000000, int * required_buffer_size=0x0000000000000000) Line 1018	C++
 	hostfxr.dll!fx_muxer_t::execute(const std::wstring host_command={...}, const int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0, const host_startup_info_t & host_info={...}, wchar_t * result_buffer=0x0000000000000000, int buffer_size=0x00000000, int * required_buffer_size=0x0000000000000000) Line 579	C++
 	hostfxr.dll!hostfxr_main_startupinfo(const int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0, const wchar_t * host_path=0x000001e48dc2fcc0, const wchar_t * dotnet_root=0x000001e48dc27a80, const wchar_t * app_path=0x000001e48dc2fdc0) Line 61	C++
 	AvaloniaApp.exe!exe_start(const int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0) Line 235	C++
 	AvaloniaApp.exe!wmain(const int argc, const wchar_t * * argv=0x000001e48dc28bc0) Line 304	C++
 	[Inline Frame] AvaloniaApp.exe!invoke_main() Line 90	C++
 	AvaloniaApp.exe!__scrt_common_main_seh() Line 288	C++
 	kernel32.dll!BaseThreadInitThunk�()	Unknown
 	ntdll.dll!RtlUserThreadStart�()	Unknown

UnmanagedToManagedTransition fid=00007FFF9B599B28 reason=call  <-- not interested, do nothing
 	.dll!::UnmanagedToManagedTransition(unsigned __int64 functionId=0x00007fff9b599b28, __MIDL___MIDL_itf_corprof_0000_0000_0009 reason=COR_PRF_TRANSITION_CALL) Line 26	C++
 	coreclr.dll!EEToProfInterfaceImpl::UnmanagedToManagedTransition(unsigned __int64 functionId, __MIDL___MIDL_itf_corprof_0000_0000_0009 reason) Line 4358	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::UnmanagedToManagedTransition::__l2::<lambda_3c6ce07001270865cbf6ffb89a5d42a1>::operator()(void *) Line 934	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::DoProfilerCallback::__l2::<lambda_7e7d054785c18baada757362a2555be5>::operator()(ProfilerInfo *) Line 301	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::DoOneProfilerIteration(ProfilerInfo *) Line 213	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::IterateProfilers(ProfilerCallbackType) Line 221	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::DoProfilerCallback(ProfilerCallbackType) Line 296	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::UnmanagedToManagedTransition(unsigned __int64) Line 929	C++
 	coreclr.dll!ProfilerUnmanagedToManagedTransitionMD(MethodDesc * pMD=0x00007fff9b599b28, __MIDL___MIDL_itf_corprof_0000_0000_0009 reason=COR_PRF_TRANSITION_CALL) Line 10519	C++
 	coreclr.dll!StubHelpers::ProfilerBeginTransitionCallback(unsigned __int64 pSecretParam=0x00007fff9b373040, Thread * pThread=0x000001e49013e520, Object * unsafe_pThis=0x0000008d1277c378) Line 658	C++
 	00007fff9b4cd279()	Unknown
 	ntdll.dll!EtwpEventApiCallback()	Unknown
 	ntdll.dll!EtwpUpdateEnableInfoAndCallback()	Unknown
 	ntdll.dll!EtwpRegisterProvider()	Unknown
 	ntdll.dll!EtwNotificationRegister()	Unknown
 	ntdll.dll!EtwEventRegister�()	Unknown
 	00007fff9b4cb761()	Unknown
 	00007fff9b4cafcd()	Unknown
 	00007fff9b4cae2b()	Unknown
 	00007fff9b4cac60()	Unknown
 	00007fff9b4c872a()	Unknown
 	00007fff9b4c838e()	Unknown
 	00007fff9b4c8279()	Unknown
 	00007fff9b4cce83()	Unknown
 	00007fff9b4ccd7b()	Unknown
 	coreclr.dll!CallDescrWorkerInternal�()	Unknown
 	coreclr.dll!DispatchCallDebuggerWrapper(CallDescrData * pCallDescrData=0x0000000000350037, int fCriticalCall=0x00000038) Line 158	C++
 	coreclr.dll!DispatchCallSimple(unsigned __int64 * pSrc=0x0000008d1277ca78, unsigned long numStackSlotsToCopy=0x00000004, unsigned __int64 pTargetAddress=0x00007fff9b4cc0d8, unsigned long dwDispatchCallSimpleFlags=0x00000002) Line 223	C++
 	coreclr.dll!MethodTable::RunClassInitEx(Object * * pThrowable=0x0000008d1277cb30) Line 3184	C++
 	coreclr.dll!MethodTable::DoRunClassInitThrowing() Line 3369	C++
 	coreclr.dll!MethodTable::CheckRunClassInitThrowing() Line 3510	C++
 	coreclr.dll!JIT_GetSharedNonGCStaticBase_Helper(DomainLocalModule * pLocalModule=0x00007fff9b484910, unsigned long dwClassDomainID=0x000007bd) Line 1415	C++
 	00007fff9b4cccfd()	Unknown
 	coreclr.dll!CallDescrWorkerInternal�()	Unknown
 	coreclr.dll!DispatchCallDebuggerWrapper(CallDescrData * pCallDescrData=0x00000000000d0038, int fCriticalCall=0x000000ed) Line 158	C++
 	coreclr.dll!DispatchCallSimple(unsigned __int64 * pSrc=0x0000008d1277d8f8, unsigned long numStackSlotsToCopy=0x00000004, unsigned __int64 pTargetAddress=0x00007fff9b4c7ae0, unsigned long dwDispatchCallSimpleFlags=0x00000002) Line 223	C++
 	coreclr.dll!MethodTable::RunClassInitEx(Object * * pThrowable=0x0000008d1277d9b0) Line 3184	C++
 	coreclr.dll!MethodTable::DoRunClassInitThrowing() Line 3369	C++
 	coreclr.dll!MethodTable::CheckRunClassInitThrowing() Line 3510	C++
 	coreclr.dll!JIT_GetSharedNonGCStaticBase_Helper(DomainLocalModule * pLocalModule=0x00007fff9b484910, unsigned long dwClassDomainID=0x000007ea) Line 1415	C++
 	00007fff9b4cc3f7()	Unknown
 	00007fff9b4c8753()	Unknown
 	00007fff9b4c838e()	Unknown
 	00007fff9b4c8279()	Unknown
 	00007fff9b4c80d3()	Unknown
 	00007fff9b4c7fcb()	Unknown
 	00007fff9b4c6bbd()	Unknown
 	coreclr.dll!CallDescrWorkerInternal�()	Unknown
 	coreclr.dll!MethodDescCallSite::CallTargetWorker(const unsigned __int64 * pArguments=0x0000000000000000, unsigned __int64 * pReturnValue=0x0000000000000000, int cbReturnValue=0x00000000) Line 551	C++
 	[Inline Frame] coreclr.dll!MethodDescCallSite::Call(const unsigned __int64 *) Line 458	C++
 	[Inline Frame] coreclr.dll!RunStartupHooks() Line 1611	C++
 	coreclr.dll!Assembly::ExecuteMainMethod(PtrArray * * stringArgs=0x0000008d1277ed98, int) Line 1672	C++
 	coreclr.dll!CorHost2::ExecuteAssembly(unsigned long dwAppDomainId, const wchar_t * pwzAssemblyPath=0x0000000000000001, int argc=0x00000000, const wchar_t * * argv=0x0000000000000000, unsigned long * pReturnValue=0x0000008d1277efc0) Line 384	C++
 	coreclr.dll!coreclr_execute_assembly(void * hostHandle=0x000001e48dcd29f0, unsigned int domainId=0x00000001, int argc=0x00000000, const char * * argv, const char * managedAssemblyPath=0x000001e4b2193830, unsigned int * exitCode=0x0000008d1277efc0) Line 446	C++
 	hostpolicy.dll!00007ff87dda96bb()	Unknown
 	hostpolicy.dll!00007ff87dda99ec()	Unknown
 	hostpolicy.dll!00007ff87ddaa387()	Unknown
 	hostfxr.dll!execute_app(const std::wstring & impl_dll_dir, corehost_init_t * init=0x000001e48dc338b0, const int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0) Line 146	C++
 	hostfxr.dll!`anonymous namespace'::read_config_and_execute(const std::wstring & host_command={...}, const host_startup_info_t & host_info, const std::wstring & app_candidate, const std::unordered_map<enum known_options,std::vector<std::wstring,std::allocator<std::wstring>>,known_options_hash,std::equal_to<enum known_options>,std::allocator<std::pair<enum known_options const ,std::vector<std::wstring,std::allocator<std::wstring>>>>> & opts, int new_argc=0x00000001, const wchar_t * * new_argv=0x000001e48dc28bc0, host_mode_t mode=apphost, const bool is_sdk_command=false, wchar_t * out_buffer=0x0000000000000000, int buffer_size=0x00000000, int * required_buffer_size=0x0000000000000000) Line 533	C++
 	hostfxr.dll!fx_muxer_t::handle_exec_host_command(const std::wstring & host_command={...}, const host_startup_info_t & host_info={...}, const std::wstring & app_candidate={...}, const std::unordered_map<enum known_options,std::vector<std::wstring,std::allocator<std::wstring>>,known_options_hash,std::equal_to<enum known_options>,std::allocator<std::pair<enum known_options const ,std::vector<std::wstring,std::allocator<std::wstring>>>>> & opts={...}, int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0, int argoff=0x00000001, host_mode_t mode=apphost, const bool is_sdk_command=false, wchar_t * result_buffer=0x0000000000000000, int buffer_size=0x00000000, int * required_buffer_size=0x0000000000000000) Line 1018	C++
 	hostfxr.dll!fx_muxer_t::execute(const std::wstring host_command={...}, const int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0, const host_startup_info_t & host_info={...}, wchar_t * result_buffer=0x0000000000000000, int buffer_size=0x00000000, int * required_buffer_size=0x0000000000000000) Line 579	C++
 	hostfxr.dll!hostfxr_main_startupinfo(const int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0, const wchar_t * host_path=0x000001e48dc2fcc0, const wchar_t * dotnet_root=0x000001e48dc27a80, const wchar_t * app_path=0x000001e48dc2fdc0) Line 61	C++
 	AvaloniaApp.exe!exe_start(const int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0) Line 235	C++
 	AvaloniaApp.exe!wmain(const int argc, const wchar_t * * argv=0x000001e48dc28bc0) Line 304	C++
 	[Inline Frame] AvaloniaApp.exe!invoke_main() Line 90	C++
 	AvaloniaApp.exe!__scrt_common_main_seh() Line 288	C++
 	kernel32.dll!BaseThreadInitThunk�()	Unknown
 	ntdll.dll!RtlUserThreadStart�()	Unknown

ManagedToUnmanagedTransition fid=00007FFF9B599B28 fuid=001000ED reason=return  <-- not interested, do nothing
 	.dll!::ManagedToUnmanagedTransition(unsigned __int64 functionId=0x00007fff9b599b28, __MIDL___MIDL_itf_corprof_0000_0000_0009 reason=COR_PRF_TRANSITION_RETURN) Line 57	C++
 	coreclr.dll!EEToProfInterfaceImpl::ManagedToUnmanagedTransition(unsigned __int64 functionId, __MIDL___MIDL_itf_corprof_0000_0000_0009 reason) Line 4397	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::ManagedToUnmanagedTransition::__l2::<lambda_f0fa74a1af18cf42fe3b9f7256f56999>::operator()(void *) Line 948	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::DoProfilerCallback::__l2::<lambda_43ccf5e3627a7d5134729caeb68751c9>::operator()(ProfilerInfo *) Line 301	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::DoOneProfilerIteration(ProfilerInfo *) Line 213	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::IterateProfilers(ProfilerCallbackType) Line 221	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::DoProfilerCallback(ProfilerCallbackType) Line 296	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::ManagedToUnmanagedTransition(unsigned __int64) Line 943	C++
 	coreclr.dll!ProfilerManagedToUnmanagedTransitionMD(MethodDesc * pMD=0x00007fff9b599b28, __MIDL___MIDL_itf_corprof_0000_0000_0009 reason=COR_PRF_TRANSITION_RETURN) Line 10485	C++
 	coreclr.dll!StubHelpers::ProfilerEndTransitionCallback(MethodDesc * pRealMD=0x00007fff9b599b28, Thread * pThread=0x000001e49013e520) Line 704	C++
 	00007fff9b4cd2c3()	Unknown
 	ntdll.dll!EtwpEventApiCallback()	Unknown
 	ntdll.dll!EtwpUpdateEnableInfoAndCallback()	Unknown
 	ntdll.dll!EtwpRegisterProvider()	Unknown
 	ntdll.dll!EtwNotificationRegister()	Unknown
 	ntdll.dll!EtwEventRegister�()	Unknown
 	00007fff9b4cb761()	Unknown
 	00007fff9b4cafcd()	Unknown
 	00007fff9b4cae2b()	Unknown
 	00007fff9b4cac60()	Unknown
 	00007fff9b4c872a()	Unknown
 	00007fff9b4c838e()	Unknown
 	00007fff9b4c8279()	Unknown
 	00007fff9b4cce83()	Unknown
 	00007fff9b4ccd7b()	Unknown
 	coreclr.dll!CallDescrWorkerInternal�()	Unknown
 	coreclr.dll!DispatchCallDebuggerWrapper(CallDescrData * pCallDescrData=0x0000000000350037, int fCriticalCall=0x00000038) Line 158	C++
 	coreclr.dll!DispatchCallSimple(unsigned __int64 * pSrc=0x0000008d1277ca78, unsigned long numStackSlotsToCopy=0x00000004, unsigned __int64 pTargetAddress=0x00007fff9b4cc0d8, unsigned long dwDispatchCallSimpleFlags=0x00000002) Line 223	C++
 	coreclr.dll!MethodTable::RunClassInitEx(Object * * pThrowable=0x0000008d1277cb30) Line 3184	C++
 	coreclr.dll!MethodTable::DoRunClassInitThrowing() Line 3369	C++
 	coreclr.dll!MethodTable::CheckRunClassInitThrowing() Line 3510	C++
 	coreclr.dll!JIT_GetSharedNonGCStaticBase_Helper(DomainLocalModule * pLocalModule=0x00007fff9b484910, unsigned long dwClassDomainID=0x000007bd) Line 1415	C++
 	00007fff9b4cccfd()	Unknown
 	coreclr.dll!CallDescrWorkerInternal�()	Unknown
 	coreclr.dll!DispatchCallDebuggerWrapper(CallDescrData * pCallDescrData=0x00000000000d0038, int fCriticalCall=0x000000ed) Line 158	C++
 	coreclr.dll!DispatchCallSimple(unsigned __int64 * pSrc=0x0000008d1277d8f8, unsigned long numStackSlotsToCopy=0x00000004, unsigned __int64 pTargetAddress=0x00007fff9b4c7ae0, unsigned long dwDispatchCallSimpleFlags=0x00000002) Line 223	C++
 	coreclr.dll!MethodTable::RunClassInitEx(Object * * pThrowable=0x0000008d1277d9b0) Line 3184	C++
 	coreclr.dll!MethodTable::DoRunClassInitThrowing() Line 3369	C++
 	coreclr.dll!MethodTable::CheckRunClassInitThrowing() Line 3510	C++
 	coreclr.dll!JIT_GetSharedNonGCStaticBase_Helper(DomainLocalModule * pLocalModule=0x00007fff9b484910, unsigned long dwClassDomainID=0x000007ea) Line 1415	C++
 	00007fff9b4cc3f7()	Unknown
 	00007fff9b4c8753()	Unknown
 	00007fff9b4c838e()	Unknown
 	00007fff9b4c8279()	Unknown
 	00007fff9b4c80d3()	Unknown
 	00007fff9b4c7fcb()	Unknown
 	00007fff9b4c6bbd()	Unknown
 	coreclr.dll!CallDescrWorkerInternal�()	Unknown
 	coreclr.dll!MethodDescCallSite::CallTargetWorker(const unsigned __int64 * pArguments=0x0000000000000000, unsigned __int64 * pReturnValue=0x0000000000000000, int cbReturnValue=0x00000000) Line 551	C++
 	[Inline Frame] coreclr.dll!MethodDescCallSite::Call(const unsigned __int64 *) Line 458	C++
 	[Inline Frame] coreclr.dll!RunStartupHooks() Line 1611	C++
 	coreclr.dll!Assembly::ExecuteMainMethod(PtrArray * * stringArgs=0x0000008d1277ed98, int) Line 1672	C++
 	coreclr.dll!CorHost2::ExecuteAssembly(unsigned long dwAppDomainId, const wchar_t * pwzAssemblyPath=0x0000000000000001, int argc=0x00000000, const wchar_t * * argv=0x0000000000000000, unsigned long * pReturnValue=0x0000008d1277efc0) Line 384	C++
 	coreclr.dll!coreclr_execute_assembly(void * hostHandle=0x000001e48dcd29f0, unsigned int domainId=0x00000001, int argc=0x00000000, const char * * argv, const char * managedAssemblyPath=0x000001e4b2193830, unsigned int * exitCode=0x0000008d1277efc0) Line 446	C++
 	hostpolicy.dll!00007ff87dda96bb()	Unknown
 	hostpolicy.dll!00007ff87dda99ec()	Unknown
 	hostpolicy.dll!00007ff87ddaa387()	Unknown
 	hostfxr.dll!execute_app(const std::wstring & impl_dll_dir, corehost_init_t * init=0x000001e48dc338b0, const int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0) Line 146	C++
 	hostfxr.dll!`anonymous namespace'::read_config_and_execute(const std::wstring & host_command={...}, const host_startup_info_t & host_info, const std::wstring & app_candidate, const std::unordered_map<enum known_options,std::vector<std::wstring,std::allocator<std::wstring>>,known_options_hash,std::equal_to<enum known_options>,std::allocator<std::pair<enum known_options const ,std::vector<std::wstring,std::allocator<std::wstring>>>>> & opts, int new_argc=0x00000001, const wchar_t * * new_argv=0x000001e48dc28bc0, host_mode_t mode=apphost, const bool is_sdk_command=false, wchar_t * out_buffer=0x0000000000000000, int buffer_size=0x00000000, int * required_buffer_size=0x0000000000000000) Line 533	C++
 	hostfxr.dll!fx_muxer_t::handle_exec_host_command(const std::wstring & host_command={...}, const host_startup_info_t & host_info={...}, const std::wstring & app_candidate={...}, const std::unordered_map<enum known_options,std::vector<std::wstring,std::allocator<std::wstring>>,known_options_hash,std::equal_to<enum known_options>,std::allocator<std::pair<enum known_options const ,std::vector<std::wstring,std::allocator<std::wstring>>>>> & opts={...}, int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0, int argoff=0x00000001, host_mode_t mode=apphost, const bool is_sdk_command=false, wchar_t * result_buffer=0x0000000000000000, int buffer_size=0x00000000, int * required_buffer_size=0x0000000000000000) Line 1018	C++
 	hostfxr.dll!fx_muxer_t::execute(const std::wstring host_command={...}, const int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0, const host_startup_info_t & host_info={...}, wchar_t * result_buffer=0x0000000000000000, int buffer_size=0x00000000, int * required_buffer_size=0x0000000000000000) Line 579	C++
 	hostfxr.dll!hostfxr_main_startupinfo(const int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0, const wchar_t * host_path=0x000001e48dc2fcc0, const wchar_t * dotnet_root=0x000001e48dc27a80, const wchar_t * app_path=0x000001e48dc2fdc0) Line 61	C++
 	AvaloniaApp.exe!exe_start(const int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0) Line 235	C++
 	AvaloniaApp.exe!wmain(const int argc, const wchar_t * * argv=0x000001e48dc28bc0) Line 304	C++
 	[Inline Frame] AvaloniaApp.exe!invoke_main() Line 90	C++
 	AvaloniaApp.exe!__scrt_common_main_seh() Line 288	C++
 	kernel32.dll!BaseThreadInitThunk�()	Unknown
 	ntdll.dll!RtlUserThreadStart�()	Unknown

UnmanagedToManagedTransition fid=00007FFF9B599B28 reason=return  <-- Pop 00007FFF9B599B28, but actual value in the stack is 00007FFF9B599D30
 	.dll!::UnmanagedToManagedTransition(unsigned __int64 functionId=0x00007fff9b599b28, __MIDL___MIDL_itf_corprof_0000_0000_0009 reason=COR_PRF_TRANSITION_RETURN) Line 26	C++
 	coreclr.dll!EEToProfInterfaceImpl::UnmanagedToManagedTransition(unsigned __int64 functionId, __MIDL___MIDL_itf_corprof_0000_0000_0009 reason) Line 4358	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::UnmanagedToManagedTransition::__l2::<lambda_3c6ce07001270865cbf6ffb89a5d42a1>::operator()(void *) Line 934	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::DoProfilerCallback::__l2::<lambda_7e7d054785c18baada757362a2555be5>::operator()(ProfilerInfo *) Line 301	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::DoOneProfilerIteration(ProfilerInfo *) Line 213	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::IterateProfilers(ProfilerCallbackType) Line 221	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::DoProfilerCallback(ProfilerCallbackType) Line 296	C++
 	[Inline Frame] coreclr.dll!ProfControlBlock::UnmanagedToManagedTransition(unsigned __int64) Line 929	C++
 	coreclr.dll!ProfilerUnmanagedToManagedTransitionMD(MethodDesc * pMD=0x00007fff9b599b28, __MIDL___MIDL_itf_corprof_0000_0000_0009 reason=COR_PRF_TRANSITION_RETURN) Line 10519	C++
 	00007fff9b4cd2cc()	Unknown
 	ntdll.dll!EtwpEventApiCallback()	Unknown
 	ntdll.dll!EtwpUpdateEnableInfoAndCallback()	Unknown
 	ntdll.dll!EtwpRegisterProvider()	Unknown
 	ntdll.dll!EtwNotificationRegister()	Unknown
 	ntdll.dll!EtwEventRegister�()	Unknown
 	00007fff9b4cb761()	Unknown
 	00007fff9b4cafcd()	Unknown
 	00007fff9b4cae2b()	Unknown
 	00007fff9b4cac60()	Unknown
 	00007fff9b4c872a()	Unknown
 	00007fff9b4c838e()	Unknown
 	00007fff9b4c8279()	Unknown
 	00007fff9b4cce83()	Unknown
 	00007fff9b4ccd7b()	Unknown
 	coreclr.dll!CallDescrWorkerInternal�()	Unknown
 	coreclr.dll!DispatchCallDebuggerWrapper(CallDescrData * pCallDescrData=0x0000000000350037, int fCriticalCall=0x00000038) Line 158	C++
 	coreclr.dll!DispatchCallSimple(unsigned __int64 * pSrc=0x0000008d1277ca78, unsigned long numStackSlotsToCopy=0x00000004, unsigned __int64 pTargetAddress=0x00007fff9b4cc0d8, unsigned long dwDispatchCallSimpleFlags=0x00000002) Line 223	C++
 	coreclr.dll!MethodTable::RunClassInitEx(Object * * pThrowable=0x0000008d1277cb30) Line 3184	C++
 	coreclr.dll!MethodTable::DoRunClassInitThrowing() Line 3369	C++
 	coreclr.dll!MethodTable::CheckRunClassInitThrowing() Line 3510	C++
 	coreclr.dll!JIT_GetSharedNonGCStaticBase_Helper(DomainLocalModule * pLocalModule=0x00007fff9b484910, unsigned long dwClassDomainID=0x000007bd) Line 1415	C++
 	00007fff9b4cccfd()	Unknown
 	coreclr.dll!CallDescrWorkerInternal�()	Unknown
 	coreclr.dll!DispatchCallDebuggerWrapper(CallDescrData * pCallDescrData=0x00000000000d0038, int fCriticalCall=0x000000ed) Line 158	C++
 	coreclr.dll!DispatchCallSimple(unsigned __int64 * pSrc=0x0000008d1277d8f8, unsigned long numStackSlotsToCopy=0x00000004, unsigned __int64 pTargetAddress=0x00007fff9b4c7ae0, unsigned long dwDispatchCallSimpleFlags=0x00000002) Line 223	C++
 	coreclr.dll!MethodTable::RunClassInitEx(Object * * pThrowable=0x0000008d1277d9b0) Line 3184	C++
 	coreclr.dll!MethodTable::DoRunClassInitThrowing() Line 3369	C++
 	coreclr.dll!MethodTable::CheckRunClassInitThrowing() Line 3510	C++
 	coreclr.dll!JIT_GetSharedNonGCStaticBase_Helper(DomainLocalModule * pLocalModule=0x00007fff9b484910, unsigned long dwClassDomainID=0x000007ea) Line 1415	C++
 	00007fff9b4cc3f7()	Unknown
 	00007fff9b4c8753()	Unknown
 	00007fff9b4c838e()	Unknown
 	00007fff9b4c8279()	Unknown
 	00007fff9b4c80d3()	Unknown
 	00007fff9b4c7fcb()	Unknown
 	00007fff9b4c6bbd()	Unknown
 	coreclr.dll!CallDescrWorkerInternal�()	Unknown
 	coreclr.dll!MethodDescCallSite::CallTargetWorker(const unsigned __int64 * pArguments=0x0000000000000000, unsigned __int64 * pReturnValue=0x0000000000000000, int cbReturnValue=0x00000000) Line 551	C++
 	[Inline Frame] coreclr.dll!MethodDescCallSite::Call(const unsigned __int64 *) Line 458	C++
 	[Inline Frame] coreclr.dll!RunStartupHooks() Line 1611	C++
 	coreclr.dll!Assembly::ExecuteMainMethod(PtrArray * * stringArgs=0x0000008d1277ed98, int) Line 1672	C++
 	coreclr.dll!CorHost2::ExecuteAssembly(unsigned long dwAppDomainId, const wchar_t * pwzAssemblyPath=0x0000000000000001, int argc=0x00000000, const wchar_t * * argv=0x0000000000000000, unsigned long * pReturnValue=0x0000008d1277efc0) Line 384	C++
 	coreclr.dll!coreclr_execute_assembly(void * hostHandle=0x000001e48dcd29f0, unsigned int domainId=0x00000001, int argc=0x00000000, const char * * argv, const char * managedAssemblyPath=0x000001e4b2193830, unsigned int * exitCode=0x0000008d1277efc0) Line 446	C++
 	hostpolicy.dll!00007ff87dda96bb()	Unknown
 	hostpolicy.dll!00007ff87dda99ec()	Unknown
 	hostpolicy.dll!00007ff87ddaa387()	Unknown
 	hostfxr.dll!execute_app(const std::wstring & impl_dll_dir, corehost_init_t * init=0x000001e48dc338b0, const int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0) Line 146	C++
 	hostfxr.dll!`anonymous namespace'::read_config_and_execute(const std::wstring & host_command={...}, const host_startup_info_t & host_info, const std::wstring & app_candidate, const std::unordered_map<enum known_options,std::vector<std::wstring,std::allocator<std::wstring>>,known_options_hash,std::equal_to<enum known_options>,std::allocator<std::pair<enum known_options const ,std::vector<std::wstring,std::allocator<std::wstring>>>>> & opts, int new_argc=0x00000001, const wchar_t * * new_argv=0x000001e48dc28bc0, host_mode_t mode=apphost, const bool is_sdk_command=false, wchar_t * out_buffer=0x0000000000000000, int buffer_size=0x00000000, int * required_buffer_size=0x0000000000000000) Line 533	C++
 	hostfxr.dll!fx_muxer_t::handle_exec_host_command(const std::wstring & host_command={...}, const host_startup_info_t & host_info={...}, const std::wstring & app_candidate={...}, const std::unordered_map<enum known_options,std::vector<std::wstring,std::allocator<std::wstring>>,known_options_hash,std::equal_to<enum known_options>,std::allocator<std::pair<enum known_options const ,std::vector<std::wstring,std::allocator<std::wstring>>>>> & opts={...}, int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0, int argoff=0x00000001, host_mode_t mode=apphost, const bool is_sdk_command=false, wchar_t * result_buffer=0x0000000000000000, int buffer_size=0x00000000, int * required_buffer_size=0x0000000000000000) Line 1018	C++
 	hostfxr.dll!fx_muxer_t::execute(const std::wstring host_command={...}, const int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0, const host_startup_info_t & host_info={...}, wchar_t * result_buffer=0x0000000000000000, int buffer_size=0x00000000, int * required_buffer_size=0x0000000000000000) Line 579	C++
 	hostfxr.dll!hostfxr_main_startupinfo(const int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0, const wchar_t * host_path=0x000001e48dc2fcc0, const wchar_t * dotnet_root=0x000001e48dc27a80, const wchar_t * app_path=0x000001e48dc2fdc0) Line 61	C++
 	AvaloniaApp.exe!exe_start(const int argc=0x00000001, const wchar_t * * argv=0x000001e48dc28bc0) Line 235	C++
 	AvaloniaApp.exe!wmain(const int argc, const wchar_t * * argv=0x000001e48dc28bc0) Line 304	C++
 	[Inline Frame] AvaloniaApp.exe!invoke_main() Line 90	C++
 	AvaloniaApp.exe!__scrt_common_main_seh() Line 288	C++
 	kernel32.dll!BaseThreadInitThunk�()	Unknown
 	ntdll.dll!RtlUserThreadStart�()	Unknown

The last 7th callback does not match its pair called from JIT_ReversePInvokeEnterTrackTransitions, so probably in JIT_ReversePInvokeExitTrackTransitions here

if (CORProfilerTrackTransitions())
{
ProfilerUnmanagedToManagedTransitionMD(frame->pMD, COR_PRF_TRANSITION_RETURN);
}

we should use paired ProfilerManagedToUnmanagedTransitionMD(COR_PRF_TRANSITION_RETURN) callback, this code was added in .NET 6 in 5ec0c7a.

Linked issues: #46238, #47238.


Looking at the code I also found another suspicious place, but I'm not sure if this is actually the case: JIT_ReversePInvokeEnterRare can generate a transition callback here

if (CORProfilerTrackTransitions())
{
ProfilerUnmanagedToManagedTransitionMD(frame->pMD, COR_PRF_TRANSITION_CALL);
}
, so if we can use paired JIT_ReversePInvokeEnter/JIT_ReversePInvokeExit when tracking transitions is enabled, the return callback will not be generated, was introduced in 7225baf.

cc @jkotas @jkoritzinsky

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions