You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
currently in the code I only check the RTL_LFH_BLOCK_FLAG on alloc, not
free.
xref issue #432 : not supposed to report invalid arg when on heap tangent, and:
+0x0b9 heap_tangent : 1 ''
though handle_free_pre() directly reports instead of calling
check_valid_heap_block() which is where the tangent check is.
=> that fixes it!
From bruen...@google.com on August 08, 2012 14:21:09
is this issue #534 ? neither callstack there is a clear match though
Dr.MError#201
: INVALID HEAP ARGUMENT to RtlFreeHeap() 0x00aa4fe8Dr.M# 0 ntdll.dll!RtlpFreeUserBlockDr.M# 1 ntdll.dll!RtlpLowFragHeapFreeDr.M# 2 ntdll.dll!RtlFreeHeapDr.M# 3 KERNEL32.dll!HeapFreeDr.M# 4 MSVCR100D.dll!_free_baseDr.M# 5 MSVCR100D.dll!_free_dbg_nolockDr.M# 6 MSVCR100D.dll!_free_dbgDr.M# 7 MSVCR100D.dll!operator deleteDr.M# 8 webkit.dll!testing::TestInfo::scalar deleting destructor' \~~Dr.M~~ # 9 webkit.dll!testing::internal::Delete<testing::TestInfo> [d:\derek\chromium\src\testing\gtest\src\gtest-internal-inl.h:338] \~~Dr.M~~
#10webkit.dll!std::_For_each<testing::TestInfo * const *,void (__cdecl*)(testing::TestInfo *)> [c:\program files (x86)\microsoft visual studio 10.0\vc\include\algorithm:22] \~~Dr.M~~
#11` webkit.dll!std::for_each<std::_Vector_const_iterator<std::_Vector_val<testing::TestInfo *,std::allocator<testing::TestInfo > > >,void (__cdecl)(testing::TestInfo *)> [c:\program files (x86)\microsoft visual studio 10.0\vc\include\algorithm:32]Dr.MNote: @0:05:45.808 in thread 11068Dr.MNote: prev lower malloc: 0x00aa4fc8-0x00aa4fd0Dr.MASSERT FAILURE (thread 11068): D:\derek\drmemory\git\src\common\alloc.c:4509: !pt->expect_lib_to_fail || pt->alloc_base == NULL (free() success unexpected)0:001> dd 0x00aa4fe8-20
00aa4fc8 608681f0 000000b4 fdfdfdfd 00000000
00aa4fd8 00000000 00000000 59dc8407 00083004
00aa4fe8 49d7ffd8 4c358288 0000000d 00000000
00aa4ff8 0b8aa9a9 8000b000 ddddffff dddddddd
00aa5008 dddddddd dddddddd dddddddd dddddddd
00aa5018 dddddddd dddddddd dddddddd dddddddd
00aa5028 dddddddd dddddddd dddddddd dddddddd
looks like an LFH free (issue #301)?
in windbg I'm in post so maybe the flags got clobbered but shows up as 0:
0:000> dds @@(mc->esp)-10
002ef360 77af2400 ntdll!RtlpFreeUserBlock+0xbf
002ef364 006b0000 <Unloaded_>+0x640000
002ef368 00000000
002ef36c 00aa4fe8 <Unloaded_>+0xa34fe8
currently in the code I only check the RTL_LFH_BLOCK_FLAG on alloc, not
free.
xref issue #432 : not supposed to report invalid arg when on heap tangent, and:
+0x0b9 heap_tangent : 1 ''
though handle_free_pre() directly reports instead of calling
check_valid_heap_block() which is where the tangent check is.
=> that fixes it!
Original issue: http://code.google.com/p/drmemory/issues/detail?id=962
The text was updated successfully, but these errors were encountered: