[Python-Dev] valgrind reports

Thomas Heller theller at python.net
Thu Apr 20 10:16:45 CEST 2006


Neal Norwitz wrote:
> This was run on linux amd64.  It would be great to run purify on
> windows and other platforms.  If you do, please report back here, even
> if nothing was found.  That would be a good data point.
> 
> Summary of tests with problems:
> 
> test_codecencodings_jp (1 invalid read)
> test_coding (1 invalid read)
> test_ctypes (crashes valgrind)
> test_socket_ssl (many invalid reads)
> test_sqlite (1 invalid read, 1 memory leak)

I've tried to run python under valgrind on linux x86 (Ubuntu 5.10).
Here's what I get - python was configured with '--without-pymalloc --with-pydebug'
after uncommenting the Py_USING_MEMORY_DEBUGGER in Objects/obmalloc.c.  Is there something
missing in the suppressions file?

Thanks,

Thomas

theller at tubu32:~/devel/trunk$ valgrind --suppressions=Misc/valgrind-python.supp ./python -c ""
==13632== Memcheck, a memory error detector.
==13632== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al.
==13632== Using LibVEX rev 1367, a library for dynamic binary translation.
==13632== Copyright (C) 2004-2005, and GNU GPL'd, by OpenWorks LLP.
==13632== Using valgrind-3.0.1, a dynamic binary instrumentation framework.
==13632== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al.
==13632== For more details, rerun with: -v
==13632==
==13632== Conditional jump or move depends on uninitialised value(s)
==13632==    at 0x1B8F40FD: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E9DBA: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E484D: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8EE875: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E491C: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E7421: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8F1A6D: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E4D0E: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E47C6: (within /lib/ld-2.3.5.so)
==13632==
==13632== Conditional jump or move depends on uninitialised value(s)
==13632==    at 0x1B8F410C: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E9DBA: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E484D: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8EE875: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E491C: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E7421: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8F1A6D: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E4D0E: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E47C6: (within /lib/ld-2.3.5.so)
==13632==
==13632== Conditional jump or move depends on uninitialised value(s)
==13632==    at 0x1B8F411B: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E9DBA: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E484D: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8EE875: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E491C: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E7421: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8F1A6D: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E4D0E: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E47C6: (within /lib/ld-2.3.5.so)
==13632==
==13632== Conditional jump or move depends on uninitialised value(s)
==13632==    at 0x1B8F4126: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E9DBA: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E484D: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8EE875: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E491C: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E7421: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8F1A6D: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E4D0E: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E47C6: (within /lib/ld-2.3.5.so)
==13632==
==13632== Conditional jump or move depends on uninitialised value(s)
==13632==    at 0x1B8F4263: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E9DBA: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E484D: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8EE875: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E491C: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E7421: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8F1A6D: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E4D0E: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E47C6: (within /lib/ld-2.3.5.so)
==13632==
==13632== Conditional jump or move depends on uninitialised value(s)
==13632==    at 0x1B8F426E: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E9DBA: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E484D: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8EE875: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E491C: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E7421: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8F1A6D: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E4D0E: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E47C6: (within /lib/ld-2.3.5.so)
==13632==
==13632== Conditional jump or move depends on uninitialised value(s)
==13632==    at 0x1B8F4263: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E856C: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E9E33: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E484D: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8EE875: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E491C: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E7421: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8F1A6D: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E4D0E: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E47C6: (within /lib/ld-2.3.5.so)
==13632==
==13632== Conditional jump or move depends on uninitialised value(s)
==13632==    at 0x1B8F426E: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E856C: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E9E33: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E484D: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8EE875: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E491C: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E7421: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8F1A6D: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E4D0E: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E47C6: (within /lib/ld-2.3.5.so)
==13632==
==13632== Conditional jump or move depends on uninitialised value(s)
==13632==    at 0x1B8EC21C: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E6338: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8F1A6D: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E4D0E: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E47C6: (within /lib/ld-2.3.5.so)
==13632==
==13632== Conditional jump or move depends on uninitialised value(s)
==13632==    at 0x1B8EC24C: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E6338: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8F1A6D: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E4D0E: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E47C6: (within /lib/ld-2.3.5.so)
==13632==
==13632== Conditional jump or move depends on uninitialised value(s)
==13632==    at 0x1B8EC0C4: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E637C: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8F1A6D: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E4D0E: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E47C6: (within /lib/ld-2.3.5.so)
==13632==
==13632== Conditional jump or move depends on uninitialised value(s)
==13632==    at 0x1B8EC113: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E637C: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8F1A6D: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E4D0E: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E47C6: (within /lib/ld-2.3.5.so)
==13632==
==13632== Conditional jump or move depends on uninitialised value(s)
==13632==    at 0x1B8EC24C: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E637C: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8F1A6D: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E4D0E: (within /lib/ld-2.3.5.so)
==13632==    by 0x1B8E47C6: (within /lib/ld-2.3.5.so)
[8426 refs]
==13632==
==13632== ERROR SUMMARY: 27 errors from 13 contexts (suppressed: 0 from 0)
==13632== malloc/free: in use at exit: 298255 bytes in 2363 blocks.
==13632== malloc/free: 16990 allocs, 14627 frees, 1927352 bytes allocated.
==13632== For counts of detected errors, rerun with: -v
==13632== searching for pointers to 2363 not-freed blocks.
==13632== checked 636672 bytes.
==13632==
==13632== LEAK SUMMARY:
==13632==    definitely lost: 0 bytes in 0 blocks.
==13632==      possibly lost: 9216 bytes in 64 blocks.
==13632==    still reachable: 289039 bytes in 2299 blocks.
==13632==         suppressed: 0 bytes in 0 blocks.
==13632== Reachable blocks (those to which a pointer was found) are not shown.
==13632== To see them, rerun with: --show-reachable=yes
theller at tubu32:~/devel/trunk$



More information about the Python-Dev mailing list