From: Jan Kotas Date: Sat, 11 Mar 2017 05:55:51 +0000 (-0800) Subject: Fix incorrect assert condition X-Git-Tag: submit/tizen/20210909.063632~11030^2~7768^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4d047c68fd216e3fbb3866ee45f7ba9d69587da1;p=platform%2Fupstream%2Fdotnet%2Fruntime.git Fix incorrect assert condition Fixes dotnet/coreclr#8683 Commit migrated from https://github.com/dotnet/coreclr/commit/b9ec18243cf36650f7b6359e24173d336a3ed96e --- diff --git a/src/coreclr/src/vm/stackwalk.cpp b/src/coreclr/src/vm/stackwalk.cpp index d6b116b..dacc85f 100644 --- a/src/coreclr/src/vm/stackwalk.cpp +++ b/src/coreclr/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 }