[SCIP] valgrind issue

Stefan Vigerske stefan at math.hu-berlin.de
Fri May 12 18:44:01 CEST 2017


Hi,

you can usually ignore memory leaks from within dl_init:
http://stackoverflow.com/questions/30376601/valgrind-memory-still-reachable-with-trivial-program-using-iostream

dl_init is related to loading shared libraries. That happens with SCIP 
or other more complex programs, but not with a simple "hello world" program.

Stefan

On 05/12/2017 06:13 PM, James Cussens wrote:
> I am using valgrind to check for memory leaks.
> 
> valgrind claims that I do one more alloc than free, so I have been trying
> to track down the problem.
> 
> Just to be sure I understood what was going on I tried valgrind on the LOP
> example that comes with SCIP4.0.0
> 
> Running this:
> valgrind --leak-check=full --show-leak-kinds=all bin/lop -v
> 
> (which just prints out version and build options) produces this valgrind
> output
> 
> ....
> 
> ZIMPLOPT=opt
>   ZLIB=true
> ==31777==
> ==31777== HEAP SUMMARY:
> ==31777==     in use at exit: 72,704 bytes in 1 blocks
> ==31777==   total heap usage: 14,256 allocs, 14,255 frees, 1,345,646 bytes
> allocated
> ==31777==
> ==31777== 72,704 bytes in 1 blocks are still reachable in loss record 1 of 1
> ==31777==    at 0x4C2DB8F: malloc (in
> /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==31777==    by 0x58ACEFF: ??? (in
> /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21)
> ==31777==    by 0x40104E9: call_init.part.0 (dl-init.c:72)
> ==31777==    by 0x40105FA: call_init (dl-init.c:30)
> ==31777==    by 0x40105FA: _dl_init (dl-init.c:120)
> ==31777==    by 0x4000CF9: ??? (in /lib/x86_64-linux-gnu/ld-2.23.so)
> ==31777==    by 0x1: ???
> ==31777==    by 0xFFEFFFCAA: ???
> ==31777==    by 0xFFEFFFCB2: ???
> ==31777==
> ==31777== LEAK SUMMARY:
> ==31777==    definitely lost: 0 bytes in 0 blocks
> ==31777==    indirectly lost: 0 bytes in 0 blocks
> ==31777==      possibly lost: 0 bytes in 0 blocks
> ==31777==    still reachable: 72,704 bytes in 1 blocks
> ==31777==         suppressed: 0 bytes in 0 blocks
> ==31777==
> ==31777== For counts of detected and suppressed errors, rerun with: -v
> ==31777== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
> 
> This 72,704 bytes that is still reachable when running bin/lop is exactly
> the same number of allegedly still reachable bytes
> that gets reported when I run my code. So presumably there is a common
> issue. Anyone know what is going on?
> 
> It looks like I don't have any memory problems since nothing is "lost" (for
> me or for LOP) but I would be interested to know what is going on.
> 
> When running "hello world" (in C, with no linking to SCIP), valgrind, as
> expected tells me that "All heap blocks were freed -- no leaks are
> possible", so this is probably
> not a valgrind issue.
> 
> James
> 
> 
> 
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> https://listserv.zib.de/mailman/listinfo/scip
> 


-- 
http://www.gams.com/~stefan


More information about the Scip mailing list