Loder Lock Problem
I am getting loder lock problem while calling function form managed DLL in to
Unmanaged C++ dll . Below is the stack.
Can anybody suggest what is the cause of this issue ?
FAULTING_IP:
mscorwks!MdaXmlMessage::SendDebugEvent+1e6
72d4f029 cc int 3
EXCEPTION_RECORD: ffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 72d4f029 (mscorwks!MdaXmlMessage::SendDebugEvent+0x000001e6)
ExceptionCode: 80000003 (Break instruction exception)
ExceptionFlags: 00000000
NumberParameters: 3
Parameter[0]: 00000000
Parameter[1]: 85ffe560
Parameter[2]: 00170170
FAULTING_THREAD: 00000dac
DEFAULT_BUCKET_ID: STATUS_BREAKPOINT
PROCESS_NAME: vxpal.exe
ERROR_CODE: (NTSTATUS) 0x80000003 - {EXCEPTION} Breakpoint A breakpoint
has been reached.
NTGLOBALFLAG: 0
APPLICATION_VERIFIER_FLAGS: 0
MANAGED_STACK: !dumpstack -EE
OS Thread Id: 0xdac (53)
Current frame:
ChildEBP RetAddr Caller,Callee
LAST_CONTROL_TRANSFER: from 72d52fc6 to 72d4f029
STACK_TEXT:
0aa7dc54 72d52fc6 f31fa760 00000200 0aa7e548
mscorwks!MdaXmlMessage::SendDebugEvent+0x1e6
0aa7e09c 72d53e72 f31fa318 730b3da4 00000000
mscorwks!MdaXmlMessage::SendMessage+0xf3
0aa7e4e4 72d3b970 0aa7e548 00001906 0aa7fd50
mscorwks!MdaXmlMessage::SendMessagef+0xa9
0aa7fd5c 72d0351e 00000000 0aa7fdd4 00000001
mscorwks!MdaLoaderLock::ReportViolation+0x115
0aa7fd70 72d25a7f 00000001 00000000 0aa7fdd4 mscorwks!CanRunManagedCode+0x89
0aa7fd88 72b71a8a 0020aa68 0aa7fdd4 00000003
mscorwks!StubRareDisableTHROWWorker+0xe
0aa7fde8 04ea1a05 fd733d13 00000000 00000003 mscorwks!StubRareDisableTHROW+0x9
0aa7fe30 04ea1e01 04ea0000 00000003 00000000
PluginClient!InternalDllMain+0x13c
[f:\rtm\vctools\vc7libs\ship\atlmfc\src\mfc\dllmodul.cpp @ 195]
0aa7fe74 04ea1eba 04ea0000 73727f1f 04ea0000
PluginClient!__DllMainCRTStartup+0x7a
[f:\rtm\vctools\crt_bld\self_x86\crt\src\crtdll.c @ 495]
0aa7fe7c 73727f1f 04ea0000 00000003 00000000
PluginClient!_DllMainCRTStartup+0x1d
[f:\rtm\vctools\crt_bld\self_x86\crt\src\crtdll.c @ 459]
0aa7feb8 7740e1c4 04ea0000 00000003 00000000 mscoree!_CorDllMain+0xd3
0aa7fed8 7740ed26 04ea3462 04ea0000 00000003 ntdll!LdrpCallInitRoutine+0x14
0aa7ff78 7740ec2b 00000000 00000000 0aa7ff94 ntdll!LdrShutdownThread+0xe2
0aa7ff88 76f24918 00000000 0aa7ffd4 7740e4b6 ntdll!RtlExitUserThread+0x2a
0aa7ff94 7740e4b6 04ab5d9c 7de66979 00000000 kernel32!BaseThreadInitThunk+0x15
0aa7ffd4 7740e489 6c962f28 04ab5d9c ffffffff ntdll!__RtlUserThreadStart+0x23
0aa7ffec 00000000 6c962f28 04ab5d9c 00000000 ntdll!_RtlUserThreadStart+0x1b
FOLLOWUP_IP:
mscorwks!MdaXmlMessage::SendDebugEvent+1e6
72d4f029 cc int 3
SYMBOL_STACK_INDEX: 0
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: mscorwks
IMAGE_NAME: mscorwks.dll
DEBUG_FLR_IMAGE_TIMESTAMP: 4889dc18
PRIMARY_PROBLEM_CLASS: STATUS_BREAKPOINT
BUGCHECK_STR: APPLICATION_FAULT_STATUS_BREAKPOINT
SYMBOL_NAME: mscorwks!MdaXmlMessage::SendDebugEvent+1e6
STACK_COMMAND: ~53s ; kb
FAILURE_BUCKET_ID:
APPLICATION_FAULT_STATUS_BREAKPOINT_mscorwks!MdaXmlMessage::SendDebugEvent+1e6
BUCKET_ID:
APPLICATION_FAULT_STATUS_BREAKPOINT_mscorwks!MdaXmlMessage::SendDebugEvent+1e6
Followup: MachineOwner
---------
0:053> g
<mda:msg xmlns:mda="http://schemas.microsoft.com/CLR/2004/10/mda">
<!--
Attempting managed execution inside OS Loader lock. Do not attempt to
run
managed code inside a DllMain or image initialization function since
doing so
can cause the application to hang.
-->
<mda:loaderLockMsg break="true"/>
</mda:msg>
(ecc.dac): Break instruction exception - code 80000003 (first chance)
eax=00000000 ebx=00000000 ecx=7743861f edx=00170170 esi=0aa7e58c edi=00000200
eip=72d4f029 esp=0aa7d814 ebp=0aa7dc98 iopl=0 nv up ei pl nz na po nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000202
mscorwks!MdaXmlMessage::SendDebugEvent+0x1e6:
72d4f029 cc int 3