DynamoRIO / DynamoRIO/drmemory
ASSERT (python.exe ui_tests) !TEST(MALLOC_VALID, old_e->flags)
- 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 June 28, 2011 16:27:42_
after handling the two instances of the !is_in_heap_region assert in issue #480, python.exe launched by ui_tests for the
WorkerFileSystemTest.FLAKY_ResolveURLHttpTests test hits this assert:
heap walk:
heap 1 0x008b1708-0x008b1710-0x008b1790 0 0x008b0598,0x008c0000 80 80 0
heap 1 0x008b1790-0x008b179c-0x008b19b0 0 0x008b0598,0x008c0000 214 214 0
Adding unknown heap region 0x008c0000-0x18cc0000
adding heap region 0x008c0000-0x18cc0000 arena
later uxtheme.dll calls msvcrt!malloc which calls RtlAllocateHeap:
malloc-post 0x008b1790-0x008b1810 = 0x80 (really 0x008b1790-0x008b19a4 0x214)
ASSERT FAILURE (thread 4432): ..\src\common\alloc.c:1891: !TEST(MALLOC_VALID, old_e->flags) (internal error in malloc tracking)
this is in regular Heap, not cygwin heap. this pre-existing entry is given out later. ?!?
rangegrep doesn't find anything: no free.
this happens after:
:::Dr.Memory::: log dir is E:\src\drmemory\git\build_drmemory/logs/DrMemory-python.exe.3100.000
1074 [main] python 3100 tty_list::allocate: No tty allocated
Traceback (most recent call last):
File "E:\src\chromium\src\third_party\WebKit\Tools\Scripts\new-run-webkit-httpd", line 49, in
import port
ImportError: No module named port
re-running with -ignore_asserts we see more issues:
% grep ASSERT `ls -1td logs/DrMemory-python* | head -1`/g*
ASSERT FAILURE (thread 4372): ..\src\common\alloc.c:1891: !TEST(MALLOC_VALID, old_e->flags) (internal error in malloc tracking)checking leaks via reachability analysis
ASSERT FAILURE (thread 4372): ..\src\drmemory\leak.c:948: node == NULL (mallocs should not overlap)ASSERT FAILURE (thread 4372): ..\src\drmemory\leak.c:948: node == NULL (mallocs should not overlap)
ASSERT FAILURE (thread 4372): ..\src\drmemory\leak.c:920: node != NULL (must be in rbtree)ASSERT FAILURE (thread 4372): ..\src\common\redblack.c:86: node != NULL (invalid param)
ugh -- is this cygwin-specific craziness? but the first assert at least is in a win32 Heap. xref issue #197.
_Original issue: http://code.google.com/p/drmemory/issues/detail?id=481_
Contributor guide
Assessment
This issue has not been assessed yet.