|
From: Tobias N. <no...@in...> - 2008-10-16 16:15:57
Attachments:
smime.p7s
|
Hi all, I currenty use valgrind to debug a seg'faulting program but ran into a valgrind message I don't understand: "Bad permissions for mapped region at address" I can't find any information about this message in the manual or the FAQ; a google search didn't help me either. What does this message mean? Is this an internal error of valgrind? What is going on here?? The complete output of valgrind (valgrind-3.3.0-Debian) is posted after the break. Thanks in advance Tobias Nopper ==7850== Memcheck, a memory error detector. ==7850== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al. ==7850== Using LibVEX rev 1804, a library for dynamic binary translation. ==7850== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP. ==7850== Using valgrind-3.3.0-Debian, a dynamic binary instrumentation framework. ==7850== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al. ==7850== For more details, rerun with: -v ==7850== ... ==7850== ==7850== Process terminating with default action of signal 11 (SIGSEGV) ==7850== Bad permissions for mapped region at address 0xA69DFF4 ==7850== at 0x8191432: cuddBddAndRecur (cuddBddIte.c:892) ==7850== by 0x819161D: cuddBddAndRecur (cuddBddIte.c:956) ==7850== by 0x819167B: cuddBddAndRecur (cuddBddIte.c:960) ==7850== by 0x819167B: cuddBddAndRecur (cuddBddIte.c:960) ==7850== by 0x819167B: cuddBddAndRecur (cuddBddIte.c:960) ==7850== by 0x819167B: cuddBddAndRecur (cuddBddIte.c:960) ==7850== by 0x819167B: cuddBddAndRecur (cuddBddIte.c:960) ==7850== by 0x819167B: cuddBddAndRecur (cuddBddIte.c:960) ==7850== by 0x819167B: cuddBddAndRecur (cuddBddIte.c:960) ==7850== by 0x819167B: cuddBddAndRecur (cuddBddIte.c:960) ==7850== by 0x819167B: cuddBddAndRecur (cuddBddIte.c:960) ==7850== by 0x819167B: cuddBddAndRecur (cuddBddIte.c:960) ==7850== ==7850== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 19 from 1) ==7850== malloc/free: in use at exit: 25,458,496 bytes in 188,689 blocks. ==7850== malloc/free: 845,294 allocs, 656,605 frees, 383,048,565 bytes allocated. ==7850== For counts of detected errors, rerun with: -v ==7850== searching for pointers to 188,689 not-freed blocks. ==7850== checked 16,751,284 bytes. ==7850== ==7850== LEAK SUMMARY: ==7850== definitely lost: 724,256 bytes in 2,551 blocks. ==7850== possibly lost: 565,044 bytes in 30,983 blocks. ==7850== still reachable: 24,169,196 bytes in 155,155 blocks. ==7850== suppressed: 0 bytes in 0 blocks. ==7850== Rerun with --leak-check=full to see details of leaked memory. Killed -- --------------------------------------------------- Tobias Nopper Albert-Ludwigs-University - Institute of Computer Science Georges-Koehler-Allee (051-02-031) - 79110 Freiburg - Germany --------------------------------------------------- |
|
From: Nicholas N. <nj...@cs...> - 2008-10-16 20:01:52
|
On Thu, 16 Oct 2008, Tobias Nopper wrote: > I currenty use valgrind to debug a seg'faulting program but ran into a > valgrind message I don't understand: > "Bad permissions for mapped region at address" > I can't find any information about this message in the manual or the > FAQ; a google search didn't help me either. > > What does this message mean? Is this an internal error of valgrind? What > is going on here?? > > The complete output of valgrind (valgrind-3.3.0-Debian) is posted after > the break. > > Thanks in advance > Tobias Nopper > > ==7850== Memcheck, a memory error detector. > ==7850== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al. > ==7850== Using LibVEX rev 1804, a library for dynamic binary translation. > ==7850== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP. > ==7850== Using valgrind-3.3.0-Debian, a dynamic binary instrumentation > framework. > ==7850== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al. > ==7850== For more details, rerun with: -v > ==7850== > ... > ==7850== > ==7850== Process terminating with default action of signal 11 (SIGSEGV) > ==7850== Bad permissions for mapped region at address 0xA69DFF4 > ==7850== at 0x8191432: cuddBddAndRecur (cuddBddIte.c:892) > ==7850== by 0x819161D: cuddBddAndRecur (cuddBddIte.c:956) Either the program or Valgrind seg faulted, I'm not sure which. Did Memcheck issue any error messages in the "..." part? If so, if you fix them hopefully the seg fault will go away. Nick |
|
From: Julian S. <js...@ac...> - 2008-10-16 22:08:22
|
At a guess I'd say your program segfaulted because of a stack overflow caused by infinite (or too much) recursion. I say that because (1) you have a number of identical frames on the stack, and (2) the faulting address .. > ==7850== Bad permissions for mapped region at address 0xA69DFF4 .. 0xA69DFF4 is just below a page boundary (the FF4 bit). J |