DynamoRIO / DynamoRIO/drmemory

ASSERT (unit_tests w/ jemalloc) alloc.c:1627: is_entirely_in_heap_region(start, end) (heap data struct inconsistency)

Open
#320 1 comment 0 reactions 0 assignees View on GitHub
Bug-Assert Migrated OpSys-Windows Priority-Medium
Dominant language
C
Stars
2.7k
Forks
290
PR merge metrics
No merged PRs in 30d

Description

_From [bruen...@google.com](https://code.google.com/u/109494838902877177630/) on March 03, 2011 12:04:36_

running unit_Tests with
export CHROME_ALLOCATOR=JEMALLOC
=>
ASSERT FAILURE (thread 138044): ..\src\common\alloc.c:1627: is_entirely_in_heap_region(start, end) (heap data struct inconsistency)

it's b/c we don't recognize jemalloc's VirtualAlloc as a heap alloc:

0:000> dv
start = 0x16901400 ""
end = 0x16901614 ""
real_end = 0x16901800 ""

in event_basic_block(tag=0x02b61333)
processing pre system call `#21` NtAllocateVirtualMemory
NtAllocateVirtualMemory: 0x16901000-0x16902000 vcommit commit
NtAllocateVirtualMemory non-heap alloc 0x16901000-0x16902000
set range 0x16901000-0x16902000 => 0x0
mmap anon 0x16901000-0x16902000
processing post system call `#21` NtAllocateVirtualMemory

0:000> U 02b61333 L10
unit_tests!arena_run_split+0x1d3 [c:\src\chromium\src\third_party\jemalloc\chromium\jemalloc.c @ 3293]:
...
02b61351 e89a97ffff call unit_tests!pages_commit (02b5aaf0)

0:000> U 2b5aaf0 L10
unit_tests!pages_commit [c:\src\chromium\src\third_party\jemalloc\chromium\jemalloc.c @ 1803]:
...
02b5ab05 ff1574258105 call dword ptr [unit_tests!_imp__VirtualAlloc (05812574)]

looks like this is allocated during jemalloc init else we'd probably treat
as a heap region.
add jemalloc init to intercepted routines?
better to use annotations?

_Original issue: http://code.google.com/p/drmemory/issues/detail?id=320_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.