DynamoRIO / DynamoRIO/drmemory
ASSERT (unit_tests w/ jemalloc) alloc.c:1627: is_entirely_in_heap_region(start, end) (heap data struct inconsistency)
- 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
Assessment
This issue has not been assessed yet.