Summary: | aspacem assertion failed: segment_is_sane at m_aspacemgr/aspacemgr.c:1624 (add_segment) | ||
---|---|---|---|
Product: | [Developer tools] valgrind | Reporter: | Dominik Strasser <dominik.strasser> |
Component: | general | Assignee: | Julian Seward <jseward> |
Status: | RESOLVED FIXED | ||
Severity: | crash | ||
Priority: | NOR | ||
Version: | 3.1.1 | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
Dominik Strasser
2006-05-04 11:53:05 UTC
The problem is that it is an anonymous segment but it has a non-zero offset. I assume this is after your program has been running for a while and not something that happens at startup before your program gets a chance to run at all? Can you trying running with --trace-syscalls=yes and provide the last few lines of that trace before the assertion - there is likely to be an mmap call or similar at that point in the trace which is what I am interested in. I can even show you the source code of the mmap: mmap(0, mSize, PROT_EXEC | PROT_WRITE | PROT_READ, MAP_PRIVATE | MAP_ANONYMOUS,0 , mSize); So why are you specifiying an offset for an anonymous map? I guess valgrind should probably ignore it, as the kernel presumably does, but it is entirely pointless as far as I know. I don't know why. I haven't written the code. You know that code is changed until it works, no matter why it works :-) Changing offset to 0 indeed cures the valgrind crash wihout other ill effects. Thanks for your analysis. I've committed a fix to make valgrind ignore the offset in anonymous mmap calls as valgrind revision 5888. |