Re: Info message

Domenico Panella <[email protected]>
Newsgroups gmane.comp.debugging.valgrind
Message-ID <2160234.9Zv8J65Odh@susedomenico>
In data mercoledì 15 dicembre 2021 10:15:51 CET, David Chapman ha scritto:
Ok. Thanks

> On 12/15/2021 12:34 AM, Domenico Panella wrote:
> > Hi ,
> > 
> > I'm getting this message when I run :
> > 
> > valgrind --leak-check=full ./MyProg
> > 
> > ==4189== HEAP SUMMARY:
> > ==4189==     in use at exit: 192 bytes in 12 blocks
> > ==4189==   total heap usage: 21 allocs, 9 frees, 3,513 bytes allocated
> > ==4189==
> > ==4189== LEAK SUMMARY:
> > ==4189==    definitely lost: 0 bytes in 0 blocks
> > ==4189==    indirectly lost: 0 bytes in 0 blocks
> > ==4189==      possibly lost: 0 bytes in 0 blocks
> > ==4189==    still reachable: 192 bytes in 12 blocks
> > ==4189==         suppressed: 0 bytes in 0 blocks
> > ==4189== Reachable blocks (those to which a pointer was found) are not
> > shown. ==4189== To see them, rerun with: --leak-check=full
> > --show-leak-kinds=all ==4189==
> > ==4189== For lists of detected and suppressed errors, rerun with: -s
> > ==4189== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
> > 
> > I don't see errors but some still reachable blocks.
> > Now, If i run :
> > 
> > valgrind --leak-check=full --show-leak-kinds=all -s ./MyProg
> > 
> > ==7209== HEAP SUMMARY:
> > ==7209==     in use at exit: 192 bytes in 12 blocks
> > ==7209==   total heap usage: 21 allocs, 9 frees, 3,513 bytes allocated
> > ==7209==
> > ==7209== 48 bytes in 6 blocks are still reachable in loss record 1 of 2
> > ==7209==    at 0x48437B5: malloc (in
> > /usr/libexec/valgrind/vgpreload_memcheck- amd64-linux.so)
> > ==7209==    by 0x4D9FC20: ??? (in /usr/lib64/libgcrypt.so.20.3.4)
> > ==7209==    by 0x4D2235C: ??? (in /usr/lib64/libgcrypt.so.20.3.4)
> > ==7209==    by 0x4D197E7: ??? (in /usr/lib64/libgcrypt.so.20.3.4)
> > ==7209==    by 0x4012A6D: call_init (in /usr/lib64/ld-linux-x86-64.so.2)
> > ==7209==    by 0x4012B6B: _dl_init (in /usr/lib64/ld-linux-x86-64.so.2)
> > ==7209==    by 0x40030C9: ??? (in /usr/lib64/ld-linux-x86-64.so.2)
> > ==7209==
> > ==7209== 144 bytes in 6 blocks are still reachable in loss record 2 of 2
> > ==7209==    at 0x48437B5: malloc (in
> > /usr/libexec/valgrind/vgpreload_memcheck- amd64-linux.so)
> > ==7209==    by 0x4D9FC20: ??? (in /usr/lib64/libgcrypt.so.20.3.4)
> > ==7209==    by 0x4D2235C: ??? (in /usr/lib64/libgcrypt.so.20.3.4)
> > ==7209==    by 0x4D197DA: ??? (in /usr/lib64/libgcrypt.so.20.3.4)
> > ==7209==    by 0x4012A6D: call_init (in /usr/lib64/ld-linux-x86-64.so.2)
> > ==7209==    by 0x4012B6B: _dl_init (in /usr/lib64/ld-linux-x86-64.so.2)
> > ==7209==    by 0x40030C9: ??? (in /usr/lib64/ld-linux-x86-64.so.2)
> > ==7209==
> > ==7209== LEAK SUMMARY:
> > ==7209==    definitely lost: 0 bytes in 0 blocks
> > ==7209==    indirectly lost: 0 bytes in 0 blocks
> > ==7209==    possibly lost: 0 bytes in 0 blocks
> > ==7209==    still reachable: 192 bytes in 12 blocks
> > ==7209==    suppressed: 0 bytes in 0 blocks
> > ==7209==
> > ==7209== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
> > 
> > Could you help me to understand if I'm wronging something ?
> 
> A system library (in this case libgcrypt.so) is allocating memory but
> not releasing it (keeping the memory for the life of the program). 
> There are pointers to those memory blocks, so strictly speaking they are
> not lost memory.  Even this is not the fault of your code, so don't
> worry about it.  Your code does not have a memory leak.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.