With VLD, when I call GetSaveFileName, my application hangs. It seems to be stuck in ieframe.dll.
GetSaveFileName loads several DLLs, (including Tortoise SVN) then it stops with ieframe.
Comments: One thread: - is calling free - has the CRT lock - is waiting for m_heapMapLock (in unmapBlock) The other thread - is calling LoadLibrary - has m_heapMapLock (in attachToLoadedModules) - is waiting for the CRT lock (in SymLoadModuleEx, which calls malloc) I've attached a patch that adds a couple of Sleep calls and generates the deadlock while runiing the `dynamic_app` test. In other parts of the code m_heapMapLock is taken only while directly working with m_heapMap. I'm not sure why it is needed when calling SymLoadModuleEx.
GetSaveFileName loads several DLLs, (including Tortoise SVN) then it stops with ieframe.
Comments: One thread: - is calling free - has the CRT lock - is waiting for m_heapMapLock (in unmapBlock) The other thread - is calling LoadLibrary - has m_heapMapLock (in attachToLoadedModules) - is waiting for the CRT lock (in SymLoadModuleEx, which calls malloc) I've attached a patch that adds a couple of Sleep calls and generates the deadlock while runiing the `dynamic_app` test. In other parts of the code m_heapMapLock is taken only while directly working with m_heapMap. I'm not sure why it is needed when calling SymLoadModuleEx.