RHBinder__ShimExeMain What is the purpose of this function?

Bazen 1 Reputation point
2020-06-29T10:56:54.883+00:00

Hi,

RHBinder__ShimExeMain, I captured this function by using a CPU profiler tool when an event of Windows.Foundation.EventHandler is trying to triggered which mean everytime an event is going to be triggered then the UWP system will call through RHBinder__ShimExeMain.

The issue which I am facing is when UWP system try to trigger the event, look like it was stuck in a loop and cause CPU usage go up to 100%, this issue is randomly occurred.

Could you please tell me what is RHBinder__ShimExeMain do? Is the issue I mentioned above is a known issue and occurred on specific Windows version?

References:
CPU profiler tool: Very Sleepy (http://www.codersnotes.com/sleepy/)
Windows.Foundation.EventHandler: https://learn.microsoft.com/en-us/uwp/api/windows.foundation.eventhandler-1?view=winrt-19041

Some callstack contain that function

Name	Module  
ZwWaitForMultipleObjects	ntdll  
RhpEtwExceptionThrown	mrt100_app  
RhCallDescrWorker	mrt100_app  
RhpUniversalTransition	mrt100_app  
RhHasShutdownStarted	mrt100_app  
RhpRegisterSimpleModule	mrt100_app  
RhpEtwExceptionThrown	mrt100_app  
RhpEtwExceptionThrown	mrt100_app  
RhpEtwExceptionThrown	mrt100_app  
RhpEtwExceptionThrown	mrt100_app  
RhHasShutdownStarted	mrt100_app  
RhpNewFast	mrt100_app  
DllGetActivationFactory	[Execuable]  
DllGetActivationFactory	[Execuable]  
DllGetActivationFactory	[Execuable]  
DllGetActivationFactory	[Execuable]  
RHBinder__ShimExeMain	[Execuable]  
DllGetActivationFactory	[Execuable]  
DllGetActivationFactory	[Execuable]  
RHBinder__ShimExeMain	[Execuable]  
RHBinder__ShimExeMain	[Execuable]  
RHBinder__ShimExeMain	[Execuable]  
DllGetActivationFactory	[Execuable]  
DllGetActivationFactory	[Execuable]  
RHBinder__ShimExeMain	[Execuable]  
DllGetActivationFactory	[Execuable]  
DllGetActivationFactory	[Execuable]  
RHBinder__ShimExeMain	[Execuable]  
RHBinder__ShimExeMain	[Execuable]  
RHBinder__ShimExeMain	[Execuable]  
RHBinder__ShimExeMain	[Execuable]  
RHBinder__ShimExeMain	[Execuable]  
RHBinder__ShimExeMain	[Execuable]  
$NEAT$	SharedLibrary  
$NEAT$	SharedLibrary  
RHBinder__ShimExeMain	[Execuable]  
RHBinder__ShimExeMain	[Execuable]  
$NEAT$	SharedLibrary  
GenericLookup	SharedLibrary  
GenericLookup	SharedLibrary  
GenericLookupAndAllocObject	SharedLibrary  
CtorCharPtr	SharedLibrary  
CtorCharPtr	SharedLibrary  
CtorCharPtr	SharedLibrary  
CtorCharPtr	SharedLibrary  
CtorCharPtr	SharedLibrary  
CtorCharPtr	SharedLibrary  
GenericLookupAndAllocObject	SharedLibrary  
GenericLookupAndAllocObject	SharedLibrary  
DllGetActivationFactory	[Execuable]  
RHBinder__ShimExeMain	[Execuable]  
RHBinder__ShimExeMain	[Execuable]  
RHBinder__ShimExeMain	[Execuable]  
DllCanUnloadNow	threadpoolwinrt  
DllCanUnloadNow	threadpoolwinrt  
RtlAcquirePebLock	ntdll  
RtlAcquirePebLock	ntdll  
BaseThreadInitThunk	KERNEL32  
RtlGetAppContainerNamedObjectPath	ntdll  
RtlGetAppContainerNamedObjectPath	ntdll  
  

Name	Module  
ZwWaitForMultipleObjects	ntdll  
CtorCharPtr	SharedLibrary  
CtorCharPtr	SharedLibrary  
CtorCharPtr	SharedLibrary  
$NEAT$	SharedLibrary  
$NEAT$	SharedLibrary  
$NEAT$	SharedLibrary  
DllGetActivationFactory	[Execuable]  
CtorCharPtr	SharedLibrary  
CtorCharPtr	SharedLibrary  
CtorCharPtr	SharedLibrary  
CtorCharPtr	SharedLibrary  
CtorCharPtr	SharedLibrary  
CtorCharPtr	SharedLibrary  
CtorCharPtr	SharedLibrary  
CtorCharPtr	SharedLibrary  
CtorCharPtr	SharedLibrary  
CtorCharPtr	SharedLibrary  
GenericLookupAndAllocObject	SharedLibrary  
GenericLookupAndAllocObject	SharedLibrary  
DllGetActivationFactory	[Execuable]  
RHBinder__ShimExeMain	[Execuable]  
RHBinder__ShimExeMain	[Execuable]  
RHBinder__ShimExeMain	[Execuable]  
DllCanUnloadNow	threadpoolwinrt  
DllCanUnloadNow	threadpoolwinrt  
RtlAcquirePebLock	ntdll  
RtlAcquirePebLock	ntdll  
BaseThreadInitThunk	KERNEL32  
RtlGetAppContainerNamedObjectPath	ntdll  
RtlGetAppContainerNamedObjectPath	ntdll  
  

Regards,

Universal Windows Platform (UWP)
{count} votes

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.