diff options
author | Jan Kotas <jkotas@microsoft.com> | 2017-03-10 21:55:51 -0800 |
---|---|---|
committer | Jan Kotas <jkotas@microsoft.com> | 2017-03-10 21:59:07 -0800 |
commit | b9ec18243cf36650f7b6359e24173d336a3ed96e (patch) | |
tree | fbc21e551f50ef2f5b329fa88c257f11856473ac /src/vm/stackwalk.cpp | |
parent | 7e50e48a24c12e19d0a0f52ac1b3d74e5d1dac77 (diff) | |
download | coreclr-b9ec18243cf36650f7b6359e24173d336a3ed96e.tar.gz coreclr-b9ec18243cf36650f7b6359e24173d336a3ed96e.tar.bz2 coreclr-b9ec18243cf36650f7b6359e24173d336a3ed96e.zip |
Fix incorrect assert condition
Fixes #8683
Diffstat (limited to 'src/vm/stackwalk.cpp')
-rw-r--r-- | src/vm/stackwalk.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/vm/stackwalk.cpp b/src/vm/stackwalk.cpp index d6b116bf8f..dacc85f1a0 100644 --- a/src/vm/stackwalk.cpp +++ b/src/vm/stackwalk.cpp @@ -630,7 +630,10 @@ PCODE Thread::VirtualUnwindCallFrame(T_CONTEXT* pContext, pFunctionEntryFromOS = RtlLookupFunctionEntry(uControlPc, ARM_ONLY((DWORD*))(&uImageBaseFromOS), NULL); - _ASSERTE( (uImageBase == uImageBaseFromOS) && (pFunctionEntry == pFunctionEntryFromOS) ); + + // Note that he address returned from the OS is different from the one we have computed + // when unwind info is registered using RtlAddGrowableFunctionTable. Compare RUNTIME_FUNCTION content. + _ASSERTE( (uImageBase == uImageBaseFromOS) && (memcmp(pFunctionEntry, pFunctionEntryFromOS, sizeof(RUNTIME_FUNCTION)) == 0) ); #endif // _DEBUG && !FEATURE_PAL } |