I'm running all of my unit tests with the debug heap enabled (heap tail checking, heap free checking, and heap parameter checking). When I do so, all of my unit tests crash. Running with full page heap activated, I note that mockweaver.dll is reading from freed memory. I'm using TypeMock Isolater 4.2.4. Here's the stack trace where the free memory read occurs:
0:000> .lastevent
Last event: 16e0.8cc: Access violation - code c0000005 (first/second chance not available)
debugger time: Sat Jun 14 00:04:38.132 2008 (GMT-4)
0:000> k
*** Stack trace for last set context - .thread/.cxr resets it
ChildEBP RetAddr
WARNING: Stack unwind information not available. Following frames may be wrong.
0012f850 11002c30 MockWeaver!DllGetClassObject+0x6128
00000000 00000000 ProfileLinker!DllRegisterServer+0x14b0
0:000> !heap -p -a 0x6b36d9c
address 06b36d9c found in
_DPH_HEAP_ROOT @ 141000
in free-ed allocation ( DPH_HEAP_BLOCK: VirtAddr VirtSize)
6a67018: 6b36000 2000
7c9268ad ntdll!RtlFreeHeap+0x000000f9
0039bb0b vfbasics!AVrfpRtlFreeHeap+0x0000016b
79e783ca mscorwks!EEHeapFree+0x00000083
79e7839d mscorwks!EEHeapFreeInProcessHeap+0x00000021
79f0c923 mscorwks!RegMeta::Release+0x0000003f
100073bc MockWeaver!DllGetClassObject+0x0000611c
11002c30 ProfileLinker!DllRegisterServer+0x000014b0
You should be able to reproduce this by running any test using visual studio 2005 vstesthost.exe under application verifier with full page heap enable.
How do I upload a minidump for your engineers to analyze?