![]() | |
![]() |
| | Thread Tools | Search this Thread | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
Hi, I experience a process freeze on my MultiThreaded console application. (none of the threads are working) When the process freeze occurs, I take a hang dump and I always see 2 of my threads in the same place. Each thread is in a constructor, (different .ctor in each thread), there is no locking or synchronization mechanism between those 2 threads. The problem is, I can run the process number of times and in some cases these threads will pass the code section where they usually hang the entire process and in that case, everything will work fine. But, sometimes, they will get stuck in the .ctors and the entire process will hang. I've taken a !dumpstack of one of the hanged threads (thread 57), and I'm attaching it here from the part where I last seen my code involvement. i really would like to know on what handle my thread is waiting (WaitForSingleObject): Thread 57 Current frame: ntdll!KiFastSystemCallRet ChildEBP RetAddr Caller,Callee 0dd9d4f4 7c90e9c0 ntdll!ZwWaitForSingleObject+0xc 0dd9d4f8 7c91901b ntdll!RtlpWaitForCriticalSection+0x132, calling ntdll!NtWaitForSingleObject 0dd9d518 7c911970 ntdll!RtlpFreeDebugInfo+0x6a, calling ntdll! _SEH_epilog 0dd9d52c 7c9105c8 ntdll!RtlpFreeToHeapLookaside+0x22, calling ntdll! RtlpInterlockedPushEntrySList 0dd9d538 7c910551 ntdll!RtlFreeHeap+0x1e9, calling ntdll! RtlpFreeToHeapLookaside 0dd9d540 7c91056d ntdll!RtlFreeHeap+0x647, calling ntdll!_SEH_epilog 0dd9d56c 009f15bb fusion!operator delete+0x1b, calling ntdll! RtlFreeHeap 0dd9d580 7c90104b ntdll!RtlEnterCriticalSection+0x46, calling ntdll! RtlpWaitForCriticalSection 0dd9d588 7c917332 ntdll!LdrUnloadDll+0x38, calling ntdll! RtlEnterCriticalSection 0dd9d5a8 009f1c26 fusion!CAssemblyName::`scalar deleting destructor'+0x17, calling fusion!operator delete 0dd9d5cc 792017ea mscorwks!AssemblySpec::LowLevelLoadManifestFile +0x3b5, calling msvcr71!free 0dd9d5d0 79217931 mscorwks!AssemblySpec::LowLevelLoadManifestFile +0x3d1, calling mscorwks!__security_check_cookie 0dd9d600 7c91056d ntdll!RtlFreeHeap+0x647, calling ntdll!_SEH_epilog 0dd9d604 7c80995a kernel32!LocalFree+0x27, calling ntdll!RtlFreeHeap 0dd9d610 7c80996d kernel32!LocalFree+0x108, calling kernel32! _SEH_epilog 0dd9d628 7c910e91 ntdll!RtlFreeHeap+0x4fc, calling ntdll! RtlLeaveCriticalSection 0dd9d648 7c80996d kernel32!LocalFree+0x108, calling kernel32! _SEH_epilog 0dd9d64c 7921a391 mscorwks!EEUnicodeHashTableHelper: eleteEntry+0xc ,calling kernel32!LocalFree 0dd9d674 7c80abf7 kernel32!FreeLibrary+0x3f, calling ntdll! LdrUnloadDll 0dd9d688 7925cbdf mscorwks!CorMap::ReleaseHandleResources+0x70, calling kernel32!FreeLibrary 0dd9d6a0 7921a380 mscorwks!CorMapInfo::Release+0x63, calling mscorwks! CorMap::ReleaseHandleResources 0dd9d6b8 791c592e mscorwks!CorMap::ReleaseHandle+0xe, calling mscorwks! CorMapInfo::Release 0dd9d6c0 791c6328 mscorwks!PEFile::~PEFile+0x37, calling mscorwks! CorMap::ReleaseHandle 0dd9d6cc 791c6335 mscorwks!PEFile::`scalar deleting destructor'+0xb, calling mscorwks!PEFile::~PEFile 0dd9d6d8 79218410 mscorwks!BaseDomain::LoadAssembly+0x28b, calling mscorwks!PEFile::`scalar deleting destructor' 0dd9d6f0 7c91056d ntdll!RtlFreeHeap+0x647, calling ntdll!_SEH_epilog 0dd9d6f4 7c34218a msvcr71!free+0xc3, calling ntdll!RtlFreeHeap 0dd9d700 7c34218f msvcr71!free+0xc8, calling msvcr71!_SEH_epilog 0dd9d738 7c34218f msvcr71!free+0xc8, calling msvcr71!_SEH_epilog 0dd9d73c 791e9ccb mscorwks!EEClass::_GetFullyQualifiedNameForClass +0xc3, calling msvcr71!free 0dd9d74c 791e9ce3 mscorwks!EEClass::_GetFullyQualifiedNameForClass +0xdb, calling mscorwks!__security_check_cookie 0dd9d760 793852c5 mscorwks!MDInternalRW::GetFieldDefProps+0x51, calling mscorwks!CMDSemReadWrite::~CMDSemReadWrite 0dd9d78c 791e909a mscorwks!CEEInfo::getFieldAttribs+0xd0, calling mscorwks!FieldDesc::IsSpecialStatic 0dd9d7a0 79431a6d mscorjit!Compiler::impAppendStmt+0xae, calling mscorjit!Compiler::impCurStmtOffsSet 0dd9d7b8 79431a8f mscorjit!Compiler::impAppendTree+0x1b, calling mscorjit!Compiler::impAppendStmt 0dd9d7c8 79431daf mscorjit!Compiler::impImportBlockCode+0x3b8f, calling mscorjit!Compiler::impAppendTree 0dd9d7ec 791b2fa2 mscorwks!AutoCooperativeGC::AutoCooperativeGC+0x18 , calling mscorwks.pdb not exist Use alternate method which may not work. 00a71e90 0dd9d7f8 791b5655 mscorwks!HashMap::LookupValue+0x22, calling mscorwks! AutoCooperativeGC::AutoCooperativeGC 0dd9d7fc 791b56ce mscorwks!HashMap::LookupValue+0xbb, calling mscorwks! AutoCooperativeGC::~AutoCooperativeGC 0dd9d84c 792176e6 mscorwks!AssemblySpec::LoadAssembly+0x4da, calling mscorwks!BaseDomain::LoadAssembly 0dd9d880 791e9411 mscorwks!EEClassHashTable::ConstructKeyFromData+0x 43 0dd9d8b4 791e3aee mscorwks!EEClassHashTable::CompareKeys+0x5c, calling mscorwks!EEClassHashTable::ConstructKeyFromData 0dd9d8b8 791e3b4c mscorwks!EEClassHashTable::CompareKeys+0x8c, calling msvcr71!strcmp 0dd9d92c 7c91056d ntdll!RtlFreeHeap+0x647, calling ntdll!_SEH_epilog 0dd9d930 7c34218a msvcr71!free+0xc3, calling ntdll!RtlFreeHeap 0dd9d93c 7c34218f msvcr71!free+0xc8, calling msvcr71!_SEH_epilog 0dd9d974 7c34218f msvcr71!free+0xc8, calling msvcr71!_SEH_epilog 0dd9d978 791e9b81 mscorwks! MarshalInfo::OutputCustomerCheckedBuildMarshalInfo +0x41a, calling msvcr71!free 0dd9d984 791e9bac mscorwks! MarshalInfo::OutputCustomerCheckedBuildMarshalInfo +0x44d, calling mscorwks!__security_check_cookie 0dd9d98c 51a92309 diasymreader!SymCachePdb::mapModIdToGlobalId+0x67, calling diasymreader!__security_check_cookie 0dd9d9a8 7c910732 ntdll!RtlpAllocateFromHeapLookaside+0x42, calling ntdll!_SEH_epilog 0dd9d9d4 7c910732 ntdll!RtlpAllocateFromHeapLookaside+0x42, calling ntdll!_SEH_epilog 0dd9d9e0 7c910732 ntdll!RtlpAllocateFromHeapLookaside+0x42, calling ntdll!_SEH_epilog 0dd9da10 7c911596 ntdll!RtlAllocateHeap+0x43d, calling ntdll! RtlLeaveCriticalSection 0dd9da14 7c9106eb ntdll!RtlAllocateHeap+0xeac, calling ntdll! _SEH_epilog 0dd9da24 7c910732 ntdll!RtlpAllocateFromHeapLookaside+0x42, calling ntdll!_SEH_epilog 0dd9da50 7c910732 ntdll!RtlpAllocateFromHeapLookaside+0x42, calling ntdll!_SEH_epilog 0dd9da54 7c9106ab ntdll!RtlAllocateHeap+0x1c2, calling ntdll! RtlpAllocateFromHeapLookaside 0dd9da58 7c9106eb ntdll!RtlAllocateHeap+0xeac, calling ntdll! _SEH_epilog 0dd9da70 794369ca mscorjit!Compiler::genCodeForTree_DONE+0xd, calling mscorjit!Compiler::genUpdateLife 0dd9da80 7943e103 mscorjit!Compiler::genCodeForTree_REG_VAR1+0x24, calling mscorjit!Compiler::genCodeForTree_DONE 0dd9da90 79440b77 mscorjit!emitter::emitNewInstrTiny+0xd, calling mscorjit!emitter::emitAllocInstr 0dd9daa0 79440ba9 mscorjit!emitter::emitIns_R_R+0x33, calling mscorjit! emitter::emitNewInstrTiny 0dd9dab4 7943a4bb mscorjit!Compiler::inst_RV_RV+0x26, calling mscorjit! emitter::emitIns_R_R 0dd9dabc 791b4b81 mscorwks!MetaDataTracker::NoteAccess+0xc2, calling mscorwks!_SEH_epilog 0dd9dac8 7c910732 ntdll!RtlpAllocateFromHeapLookaside+0x42, calling ntdll!_SEH_epilog 0dd9daf4 7c910732 ntdll!RtlpAllocateFromHeapLookaside+0x42, calling ntdll!_SEH_epilog 0dd9daf8 7c9106ab ntdll!RtlAllocateHeap+0x1c2, calling ntdll! RtlpAllocateFromHeapLookaside 0dd9dafc 7c9106eb ntdll!RtlAllocateHeap+0xeac, calling ntdll! _SEH_epilog 0dd9db38 7c911596 ntdll!RtlAllocateHeap+0x43d, calling ntdll! RtlLeaveCriticalSection 0dd9db3c 7c9106eb ntdll!RtlAllocateHeap+0xeac, calling ntdll! _SEH_epilog 0dd9db4c 791e399d mscorwks!EEClassHashTable::GetValue+0x23, calling mscorwks!EEClassHashTable::GetValue 0dd9db64 791e3bd3 mscorwks!ClassLoader::GetClassValue+0x10e, calling mscorwks!EEClassHashTable::GetValue 0dd9db88 791e3bf6 mscorwks!ClassLoader::FindClassModule+0x147, calling mscorwks!ClassLoader::GetClassValue 0dd9dbec 791b95db mscorwks!ClassLoader::LookupTypeHandle+0x81, calling mscorwks!ClassLoader::FindClassModule 0dd9dc14 791b9724 mscorwks!ClassLoader::LookupTypeHandle+0x3a8, calling mscorwks!__security_check_cookie 0dd9dc20 791b3170 mscorwks!EE_LeaveCriticalSection+0xc, calling ntdll! RtlLeaveCriticalSection 0dd9dc24 791b3176 mscorwks!EE_LeaveCriticalSection+0x12, calling mscorwks.pdb not exist Use alternate method which may not work. 00a71e90 0dd9dc2c 7939e81b mscorwks!Debugger::UnlockJITInfoMutex+0x12, calling mscorwks!EE_LeaveCriticalSection 0dd9dc34 793a4596 mscorwks!Debugger::GetJitInfo+0x1cc 0dd9dc70 51a97d02 diasymreader!pdb_internal::Map<unsigned long,NMTNI::SZO,pdb_internal::HashClass<unsigned long,0>,void>::find +0x28, calling diasymreader!pdb_internal::ISet::contains 0dd9dc98 7c9105c8 ntdll!RtlpFreeToHeapLookaside+0x22, calling ntdll! RtlpInterlockedPushEntrySList 0dd9dca4 791b4b81 mscorwks!MetaDataTracker::NoteAccess+0xc2, calling mscorwks!_SEH_epilog 0dd9dca8 791b4b81 mscorwks!MetaDataTracker::NoteAccess+0xc2, calling mscorwks!_SEH_epilog 0dd9dcb0 791b4b81 mscorwks!MetaDataTracker::NoteAccess+0xc2, calling mscorwks!_SEH_epilog 0dd9dcc4 7c91056d ntdll!RtlFreeHeap+0x647, calling ntdll!_SEH_epilog 0dd9dd00 009f2ebb fusion!CLoadContext::Lock+0x2c, calling ntdll! RtlEnterCriticalSection 0dd9dd04 009f2ec6 fusion!CLoadContext::Lock+0x37, calling fusion! _SEH_epilog 0dd9dd24 009f2e24 fusion!CLoadContext::AddRef+0x10, calling kernel32! InterlockedIncrement 0dd9dd30 009f2e3a fusion!CLoadContext::Release+0x12, calling kernel32! InterlockedDecrement 0dd9dd44 791e3112 mscorwks!CodeBaseInfo::SetParentAssembly+0x4a 0dd9dd68 79217588 mscorwks!Assembly::LoadExternalAssembly+0x1a8, calling mscorwks!AssemblySpec::LoadAssembly 0dd9de30 51a935f9 diasymreader!pdb_internal::Map<unsigned long,unsigned short *,pdb_internal::HashClass<unsigned long, 0>,void>::add+0x58, calling diasymreader!pdb_internal::Map<unsigned long,unsigned short *,pdb_internal::HashClass<unsigned long, 0>,void>::grow 0dd9de44 51a93688 diasymreader!NMP::StringCache::add+0x3c, calling diasymreader!pdb_internal::Map<unsigned long,unsigned short *,pdb_internal::HashClass<unsigned long,0>,void>::add 0dd9de5c 51a936f8 diasymreader!NMP::getNameW2+0x8b, calling diasymreader!NMP::StringCache::add 0dd9de68 51a93711 diasymreader!NMP::getNameW2+0xa0, calling diasymreader!SafeStackAllocator<1024>::Free 0dd9de70 51a9ae4b diasymreader!NMP::getNameW2+0xc2, calling diasymreader!__security_check_cookie 0dd9ded8 006f0069 mscorwks.pdb not exist Use alternate method which may not work. 006f0069, calling mscorwks.pdb not exist Use alternate method which may not work. 012b6d6f 0dd9def8 006f0069 mscorwks.pdb not exist Use alternate method which may not work. 006f0069, calling mscorwks.pdb not exist Use alternate method which may not work. 012b6d6f 0dd9df28 791e308e mscorwks!Module::LookupAssemblyRef+0x18, calling mscorwks!Module::GetFromRidMap 0dd9df38 791e30a9 mscorwks!Assembly::FindExternalAssembly+0x17, calling mscorwks!Module::LookupAssemblyRef 0dd9df50 791e37e5 mscorwks!Assembly::FindAssemblyByTypeRef+0xbe, calling mscorwks!Assembly::FindExternalAssembly 0dd9df84 791f4631 mscorwks!CompareTypeTokens+0x242, calling mscorwks! Assembly::FindAssemblyByTypeRef 0dd9df8c 791b5eaa mscorwks!Module::LookupTypeDef+0x18, calling mscorwks!Module::GetFromRidMap 0dd9df9c 791b5ce6 mscorwks!ClassLoader::LookupInModule+0x35, calling mscorwks!Module::LookupTypeDef 0dd9dfa4 791b4b81 mscorwks!MetaDataTracker::NoteAccess+0xc2, calling mscorwks!_SEH_epilog 0dd9dfb4 791b5d20 mscorwks!ClassLoader::LoadTypeHandle+0x2f, calling mscorwks!TypeHandle::IsRestored 0dd9dfc4 791db614 mscorwks!Module::LookupTypeRef+0x18, calling mscorwks!Module::GetFromRidMap 0dd9dfe0 791b4b81 mscorwks!MetaDataTracker::NoteAccess+0xc2, calling mscorwks!_SEH_epilog 0dd9dfe4 791bc803 mscorwks!CMiniMdBase::getIX+0x21, calling mscorwks! MetaDataTracker::NoteAccess 0dd9dffc 792175d8 mscorwks!Assembly::FindExternalAssembly+0x3c, calling mscorwks!Assembly::LoadExternalAssembly 0dd9e024 791e37e5 mscorwks!Assembly::FindAssemblyByTypeRef+0xbe, calling mscorwks!Assembly::FindExternalAssembly 0dd9e058 791e389a mscorwks!ClassLoader::LoadTypeHandle+0x8c, calling mscorwks!Assembly::FindAssemblyByTypeRef 0dd9e07c 791e8ce5 mscorwks!MetaSig::CompareMethodSigs+0x17c, calling mscorwks!MetaSig::CompareMethodSigs 0dd9e08c 791b5e2e mscorwks!SigPointer::GetTypeHandle+0x189, calling mscorwks!ClassLoader::LoadTypeHandle 0dd9e0e0 791df24c mscorwks!EEClass::GetDescFromMemberRef+0x7e, calling mscorwks!Module::LookupMemberRef 0dd9e0e8 791de15f mscorwks!EEClass::GetDescFromMemberRef+0x7d3, calling mscorwks!__security_check_cookie 0dd9e104 791e8d04 mscorwks!Module::StoreMemberRef+0x1b, calling mscorwks!Module::AddToRidMap 0dd9e118 791e8e2d mscorwks!EEClass::GetDescFromMemberRef+0x30c, calling mscorwks!Module::StoreMemberRef 0dd9e120 791de15f mscorwks!EEClass::GetDescFromMemberRef+0x7d3, calling mscorwks!__security_check_cookie 0dd9e134 7c910732 ntdll!RtlpAllocateFromHeapLookaside+0x42, calling ntdll!_SEH_epilog 0dd9e144 791df4a2 mscorwks!Module::LookupFieldDef+0x18, calling mscorwks!Module::GetFromRidMap 0dd9e154 791de119 mscorwks!EEClass::GetDescFromMemberRef+0x419, calling mscorwks!Module::LookupFieldDef 0dd9e158 791de15f mscorwks!EEClass::GetDescFromMemberRef+0x7d3, calling mscorwks!__security_check_cookie 0dd9e178 7c910732 ntdll!RtlpAllocateFromHeapLookaside+0x42, calling ntdll!_SEH_epilog 0dd9e17c 7c9106ab ntdll!RtlAllocateHeap+0x1c2, calling ntdll! RtlpAllocateFromHeapLookaside 0dd9e180 7c9106eb ntdll!RtlAllocateHeap+0xeac, calling ntdll! _SEH_epilog 0dd9e1b0 7c910732 ntdll!RtlpAllocateFromHeapLookaside+0x42, calling ntdll!_SEH_epilog 0dd9e1b4 7c9106ab ntdll!RtlAllocateHeap+0x1c2, calling ntdll! RtlpAllocateFromHeapLookaside 0dd9e1b8 7c9106eb ntdll!RtlAllocateHeap+0xeac, calling ntdll! _SEH_epilog 0dd9e228 791b4b81 mscorwks!MetaDataTracker::NoteAccess+0xc2, calling mscorwks!_SEH_epilog 0dd9e22c 51a97d1d diasymreader!pdb_internal::Map<unsigned long,NMTNI::SZO,pdb_internal::HashClass<unsigned long,0>,void>::find +0x53, calling diasymreader!pdb_internal::ISet::contains 0dd9e248 51a9824e diasymreader!pdb_internal::Map<unsigned long,unsigned short *,pdb_internal::HashClass<unsigned long, 0>,void>::map+0x12, calling diasymreader!pdb_internal::Map<unsigned long,unsigned short *,pdb_internal::HashClass<unsigned long, 0>,void>::find 0dd9e26c 51a98379 diasymreader!NMT::getNewNIForOld+0x13, calling diasymreader!pdb_internal::Map<unsigned long,unsigned short *,pdb_internal::HashClass<unsigned long,0>,void>::map 0dd9e280 51a9839e diasymreader!NMT::szForNi+0x17, calling diasymreader! NMT::fLoadString 0dd9e290 51a982d2 diasymreader!NMT::find+0x2a, calling diasymreader! NMT::szForNi 0dd9e2b4 51a9aee1 diasymreader!NMP::containsUTF8+0x14, calling diasymreader!NMT::find 0dd9e2c8 51a9238a diasymreader!NMP::containsW+0x4c 0dd9e2d0 51a9239d diasymreader!NMP::containsW+0x5f, calling diasymreader!SafeStackAllocator<1024>::Free 0dd9e2d8 51a923a9 diasymreader!NMP::containsW+0x6b, calling diasymreader!__security_check_cookie 0dd9e340 7c911bff ntdll!RtlpInsertFreeBlock+0x118, calling ntdll! RtlpUpdateIndexInsertBlock 0dd9e364 7c91825d ntdll!RtlpExtendHeap+0x2aa, calling ntdll! RtlpInsertFreeBlock 0dd9e3a0 7c910732 ntdll!RtlpAllocateFromHeapLookaside+0x42, calling ntdll!_SEH_epilog 0dd9e3b0 791b555f mscorwks!MetaDataTracker::LogHeapAccess+0x1c3, calling mscorwks!_SEH_epilog 0dd9e3c8 791b4b81 mscorwks!MetaDataTracker::NoteAccess+0xc2, calling mscorwks!_SEH_epilog 0dd9e3e8 791b6256 mscorwks!DomainLocalBlock::IsClassInitialized+0x10 , calling mscorwks!DomainLocalBlock::EnsureIndex 0dd9e3fc 791e904a mscorwks!CEEInfo::getClassAttribs+0xf7, calling mscorwks!DomainLocalBlock::IsClassInitialized 0dd9e400 791de825 mscorwks!CEEInfo::getClassAttribs+0x309, calling mscorwks!_SEH_epilog 0dd9e45c 791b5eaa mscorwks!Module::LookupTypeDef+0x18, calling mscorwks!Module::GetFromRidMap 0dd9e468 791ded5e mscorwks!ClassLoader::CheckAccess+0x18, calling mscorwks!ClassLoader::CanAccessClass 0dd9e470 791b4b81 mscorwks!MetaDataTracker::NoteAccess+0xc2, calling mscorwks!_SEH_epilog 0dd9e48c 792032fa mscorwks!StgBlobPool::IsValidOffset+0x32, calling mscorwks!CPackedLen::GetLength 0dd9e4a0 7920333f mscorwks!StgBlobPool::GetBlob+0x28, calling mscorwks! CPackedLen::GetData 0dd9e4b4 79206fb0 mscorwks! CMiniMdTemplate<CMiniMdRW>::getSignatureOfField+0x 3b 0dd9e4d0 79386b61 mscorwks!MDInternalRW::GetSigOfFieldDef+0x2b, calling mscorwks!CMiniMdTemplate<CMiniMdRW>::getSignatureO fField 0dd9e4d8 791b5941 mscorwks!GCFrame::GCFrame+0x23, calling mscorwks! GCFrame::Init 0dd9e4e4 791df548 mscorwks!CEEInfo::getFieldType+0x94, calling mscorwks!SigPointer::GetTypeHandle 0dd9e548 79453a73 mscorjit!Compiler::impImportBlockCode+0x2919 0dd9e570 7c9105c8 ntdll!RtlpFreeToHeapLookaside+0x22, calling ntdll! RtlpInterlockedPushEntrySList 0dd9e58c 7c9105c8 ntdll!RtlpFreeToHeapLookaside+0x22, calling ntdll! RtlpInterlockedPushEntrySList 0dd9e598 7c910551 ntdll!RtlFreeHeap+0x1e9, calling ntdll! RtlpFreeToHeapLookaside 0dd9e5a0 7c91056d ntdll!RtlFreeHeap+0x647, calling ntdll!_SEH_epilog 0dd9e5b8 7c912270 ntdll!RtlAllocateHeap+0x677, calling ntdll! RtlpUpdateIndexRemoveBlock 0dd9e5bc 7c911596 ntdll!RtlAllocateHeap+0x43d, calling ntdll! RtlLeaveCriticalSection 0dd9e5c0 7c9106eb ntdll!RtlAllocateHeap+0xeac, calling ntdll! _SEH_epilog 0dd9e5d0 7c910732 ntdll!RtlpAllocateFromHeapLookaside+0x42, calling ntdll!_SEH_epilog 0dd9e5fc 7c3416b3 msvcr71!_heap_alloc+0xe0, calling ntdll! RtlAllocateHeap 0dd9e608 7c3416b8 msvcr71!_heap_alloc+0xe5, calling msvcr71! _SEH_epilog 0dd9e660 7c91056d ntdll!RtlFreeHeap+0x647, calling ntdll!_SEH_epilog 0dd9e664 7c34218a msvcr71!free+0xc3, calling ntdll!RtlFreeHeap 0dd9e670 7c34218f msvcr71!free+0xc8, calling msvcr71!_SEH_epilog 0dd9e68c 7c34218f msvcr71!free+0xc8, calling msvcr71!_SEH_epilog 0dd9e6a8 7c34218f msvcr71!free+0xc8, calling msvcr71!_SEH_epilog 0dd9e6ac 51a8f7c8 diasymreader!CDebugSSectionReader::`scalar deleting destructor'+0x1d, calling msvcr71!free 0dd9e6b8 51a98075 diasymreader!CDiaBase::Release+0x23 0dd9e6c8 51a92280 diasymreader!Mod1::QueryFileNameInfo+0x168 0dd9e6f8 7c910732 ntdll!RtlpAllocateFromHeapLookaside+0x42, calling ntdll!_SEH_epilog 0dd9e710 51a92309 diasymreader!SymCachePdb::mapModIdToGlobalId+0x67, calling diasymreader!__security_check_cookie 0dd9e72c 7c910732 ntdll!RtlpAllocateFromHeapLookaside+0x42, calling ntdll!_SEH_epilog 0dd9e758 7c910732 ntdll!RtlpAllocateFromHeapLookaside+0x42, calling ntdll!_SEH_epilog 0dd9e75c 7c9106ab ntdll!RtlAllocateHeap+0x1c2, calling ntdll! RtlpAllocateFromHeapLookaside 0dd9e760 7c9106eb ntdll!RtlAllocateHeap+0xeac, calling ntdll! _SEH_epilog 0dd9e774 006f0069 mscorwks.pdb not exist Use alternate method which may not work. 006f0069, calling mscorwks.pdb not exist Use alternate method which may not work. 012b6d6f 0dd9e794 006f0069 mscorwks.pdb not exist Use alternate method which may not work. 006f0069, calling mscorwks.pdb not exist Use alternate method which may not work. 012b6d6f 0dd9e7d4 7c910732 ntdll!RtlpAllocateFromHeapLookaside+0x42, calling ntdll!_SEH_epilog 0dd9e800 7c910732 ntdll!RtlpAllocateFromHeapLookaside+0x42, calling ntdll!_SEH_epilog 0dd9e804 7c9106ab ntdll!RtlAllocateHeap+0x1c2, calling ntdll! RtlpAllocateFromHeapLookaside 0dd9e808 7c9106eb ntdll!RtlAllocateHeap+0xeac, calling ntdll! _SEH_epilog 0dd9e820 7c9105c8 ntdll!RtlpFreeToHeapLookaside+0x22, calling ntdll! RtlpInterlockedPushEntrySList 0dd9e82c 7c910551 ntdll!RtlFreeHeap+0x1e9, calling ntdll! RtlpFreeToHeapLookaside 0dd9e834 7c91056d ntdll!RtlFreeHeap+0x647, calling ntdll!_SEH_epilog 0dd9e840 7c9105c8 ntdll!RtlpFreeToHeapLookaside+0x22, calling ntdll! RtlpInterlockedPushEntrySList 0dd9e84c 7c910551 ntdll!RtlFreeHeap+0x1e9, calling ntdll! RtlpFreeToHeapLookaside 0dd9e868 7c910551 ntdll!RtlFreeHeap+0x1e9, calling ntdll! RtlpFreeToHeapLookaside 0dd9e870 7c91056d ntdll!RtlFreeHeap+0x647, calling ntdll!_SEH_epilog 0dd9e888 7c9105c8 ntdll!RtlpFreeToHeapLookaside+0x22, calling ntdll! RtlpInterlockedPushEntrySList 0dd9e894 7c910551 ntdll!RtlFreeHeap+0x1e9, calling ntdll! RtlpFreeToHeapLookaside 0dd9e89c 7c91056d ntdll!RtlFreeHeap+0x647, calling ntdll!_SEH_epilog 0dd9e8ac 7c9105c8 ntdll!RtlpFreeToHeapLookaside+0x22, calling ntdll! RtlpInterlockedPushEntrySList 0dd9e8b8 7c910551 ntdll!RtlFreeHeap+0x1e9, calling ntdll! RtlpFreeToHeapLookaside 0dd9e8c0 7c91056d ntdll!RtlFreeHeap+0x647, calling ntdll!_SEH_epilog 0dd9e8d8 7c9105c8 ntdll!RtlpFreeToHeapLookaside+0x22, calling ntdll! RtlpInterlockedPushEntrySList 0dd9e8e4 7c910551 ntdll!RtlFreeHeap+0x1e9, calling ntdll! RtlpFreeToHeapLookaside 0dd9e8ec 7c91056d ntdll!RtlFreeHeap+0x647, calling ntdll!_SEH_epilog 0dd9e908 7c9105c8 ntdll!RtlpFreeToHeapLookaside+0x22, calling ntdll! RtlpInterlockedPushEntrySList 0dd9e914 7c910551 ntdll!RtlFreeHeap+0x1e9, calling ntdll! RtlpFreeToHeapLookaside 0dd9e91c 7c91056d ntdll!RtlFreeHeap+0x647, calling ntdll!_SEH_epilog 0dd9e930 7c91056d ntdll!RtlFreeHeap+0x647, calling ntdll!_SEH_epilog 0dd9e934 7c34218a msvcr71!free+0xc3, calling ntdll!RtlFreeHeap 0dd9e95c 7c91056d ntdll!RtlFreeHeap+0x647, calling ntdll!_SEH_epilog 0dd9e96c 7c34218f msvcr71!free+0xc8, calling msvcr71!_SEH_epilog 0dd9e980 7c91056d ntdll!RtlFreeHeap+0x647, calling ntdll!_SEH_epilog 0dd9e984 7c34218a msvcr71!free+0xc3, calling ntdll!RtlFreeHeap 0dd9e9ac 7c91056d ntdll!RtlFreeHeap+0x647, calling ntdll!_SEH_epilog 0dd9e9b0 7c34218a msvcr71!free+0xc3, calling ntdll!RtlFreeHeap 0dd9ea14 7c9105c8 ntdll!RtlpFreeToHeapLookaside+0x22, calling ntdll! RtlpInterlockedPushEntrySList 0dd9ea44 79296a38 mscorwks!EEDbgInterfaceImpl: isablePreemptiveGC+0x6, calling mscorwks.pdb not exist Use alternate method which may not work. 00a71e90 0dd9ea64 7943465a mscorjit!Compiler::impImportBlock+0x24a, calling mscorjit!Compiler::impImportBlockCode 0dd9ea84 7943172e mscorjit!Compiler::bbNewBasicBlock+0x17, calling mscorjit!norls_allocator::nraAlloc 0dd9ea90 79442d7b mscorjit!Compiler::fgInitBBLookup+0x2d, calling mscorjit!norls_allocator::nraAlloc 0dd9eab0 79442b06 mscorjit!Compiler::fgMakeBasicBlocks+0x373, calling mscorjit!Compiler::fgLinkBasicBlocks 0dd9eac0 79436b7e mscorjit!Compiler::fgSetStmtSeq+0x2c, calling mscorjit!Compiler::fgSetTreeSeq 0dd9eb0c 794345fe mscorjit!Compiler::impImport+0xe8, calling mscorjit! Compiler::impImportBlock 0dd9eb24 79434535 mscorjit!Compiler::fgImport+0x41, calling mscorjit! Compiler::impImport 0dd9eb30 794311e5 mscorjit!Compiler::compCompile+0xb, calling mscorjit! Compiler::fgImport 0dd9eb3c 794314e1 mscorjit!Compiler::compCompile+0x1e8, calling mscorjit!Compiler::compCompile 0dd9eb88 79431582 mscorjit!jitNativeCode+0x95, calling mscorjit! Compiler::compCompile 0dd9ebb0 05b5ea60 (stub for DVTel.Logger.MotionDetection.MotionRenderer..ctor) , calling mscorwks.pdb not exist Use alternate method which may not work. Thanks in advance, Eyal Safran. |
#3
| |||
| |||
|
|
What makes you think these two threads are the culprit, when there are at least 57 threads in the process? Also, why are you so sure your process freezes? Anyway, without seeing some code (for instance your constructors) it's impossible to tell what's happening here. Note also that while it's possible that you don't hold explicit locks, the called code or the runtime can hold locks, such that you are deadlocking because some other threads hold the same lock. Willy. |
|
What makes you think these two threads are the culprit, when there are at least 57 threads in the process? |
|
Also, why are you so sure your process freezes? |
#4
| |||
| |||
|
#5
| |||
| |||
|
|
--snip-- By any chance these are global objects initialized by from Dllmain ? This looks like loader lock but I'm not sure, just a guess. ismo |
#6
| |||
| |||
|
|
It appears to be a loader lock |
|
Eyal Safran. |
#7
| |||
| |||
|
|
It appears to be a loader lock Which version of C++.NET are your assemblies? Managed Extensions for C++ (VC2003) has known loader lock bugs that microsoft won't fix. Use C++/CLI (VC2005) instead. Eyal Safran.- Hide quoted text - - Show quoted text - |
#8
| |||
| |||
|
|
It appears to be a loader lock Which version of C++.NET are your assemblies? Managed Extensions for C++ (VC2003) has known loader lock bugs that microsoft won't fix. Use C++/CLI (VC2005) instead. Eyal Safran.- Hide quoted text - - Show quoted text - |
#9
| |||
| |||
|
|
On Mar 20, 3:00 pm, "Ben Voigt" <r... (AT) nospam (DOT) nospam> wrote: It appears to be a loader lock Which version of C++.NET are your assemblies? Managed Extensions for C++ (VC2003) has known loader lock bugs that microsoft won't fix. Use C++/CLI (VC2005) instead. Eyal Safran.- Hide quoted text - - Show quoted text - Do you know if by compiling my Managed C++ dlls in VC2005, but still in .NET framework 1.1, will solve my loader lock problem? |
|
Eyal Safran. |
#10
| |||
| |||
|
|
On Mar 20, 3:00 pm, "Ben Voigt" <r... (AT) nospam (DOT) nospam> wrote: It appears to be a loader lock Which version of C++.NET are your assemblies? Managed Extensions for C++ (VC2003) has known loader lock bugs that microsoft won't fix. Use C++/CLI (VC2005) instead. Eyal Safran.- Hide quoted text - - Show quoted text - Do you happen to know the link to this article of microsoft where they state they won't fix it? |
|
Eyal Safran. |
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
| |