Under Ubuntu 14.04, with a debug build of gprolog
and valgrind I got this after loading an empty source file:
==8418==
==8418== HEAP SUMMARY:
==8418== in use at
exit: 911,183 bytes in 1,994 blocks
==8418== total heap
usage: 2,042 allocs, 48 frees, 920,804 bytes allocated
==8418==
==8418== 16 bytes in 1
blocks are definitely lost in loss record 7 of 1,994
==8418== at
0x4C2AB80: malloc (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==8418== by
0x51C5839: strdup (strdup.c:42)
==8418== by
0x4A33DD: Pl_M_Tempnam (in
/usr/local/gprolog-1.4.4/bin/gprolog)
==8418== by
0x4805ED: Pl_Temporary_File_3 (in
/usr/local/gprolog-1.4.4/bin/gprolog)
==8418== by
0x47D575: ??? (in /usr/local/gprolog-1.4.4/bin/gprolog)
==8418== by
0x4A46B1: Call_Next (in
/usr/local/gprolog-1.4.4/bin/gprolog)
==8418== by
0x4A52C2: Pl_Call_Prolog (in
/usr/local/gprolog-1.4.4/bin/gprolog)
==8418== by
0x403477: main (in /usr/local/gprolog-1.4.4/bin/gprolog)
==8418==
==8418== LEAK SUMMARY:
==8418== definitely
lost: 16 bytes in 1 blocks
==8418== indirectly
lost: 0 bytes in 0 blocks
==8418== possibly
lost: 0 bytes in 0 blocks
==8418== still
reachable: 911,167 bytes in 1,993 blocks
==8418==
suppressed: 0 bytes in 0 blocks
==8418== Reachable
blocks (those to which a pointer was found) are not shown.
==8418== To see them,
rerun with: --leak-check=full --show-leak-kinds=all
==8418==
==8418== For counts of
detected and suppressed errors, rerun with: -v
==8418== ERROR SUMMARY:
1 errors from 1 contexts (suppressed: 0 from 0)
So, there is a leak across the board not just OSX...
I am going to read the source and use the force to see if I
can fix this one, I mean, how hard could it be it even tells
me where to look!