Valgrind and Python

E

Esa A E Peuha

Running Python 2.5.1 under Valgrind is interesting; just starting it and
then pressing Ctrl-D produces this:

==27082== ERROR SUMMARY: 713 errors from 56 contexts (suppressed: 10 from 1)
==27082== malloc/free: in use at exit: 1,243,153 bytes in 508 blocks.
==27082== malloc/free: 3,002 allocs, 2,494 frees, 2,748,487 bytes allocated.
==27082== For counts of detected errors, rerun with: -v
==27082== searching for pointers to 508 not-freed blocks.
==27082== checked 1,399,984 bytes.
==27082==
==27082== LEAK SUMMARY:
==27082== definitely lost: 0 bytes in 0 blocks.
==27082== possibly lost: 17,072 bytes in 58 blocks.
==27082== still reachable: 1,226,081 bytes in 450 blocks.
==27082== suppressed: 0 bytes in 0 blocks.
==27082== Reachable blocks (those to which a pointer was found) are not shown.
==27082== To see them, rerun with: --show-reachable=yes

A lot of those 713 errors occur in the various deallocation functions.
 
A

annonymous

Running Python 2.5.1 under Valgrind is interesting; just starting it and
then pressing Ctrl-D produces this:

==27082== ERROR SUMMARY: 713 errors from 56 contexts (suppressed: 10 from 1)
==27082== malloc/free: in use at exit: 1,243,153 bytes in 508 blocks.
==27082== malloc/free: 3,002 allocs, 2,494 frees, 2,748,487 bytes allocated.
==27082== For counts of detected errors, rerun with: -v
==27082== searching for pointers to 508 not-freed blocks.
==27082== checked 1,399,984 bytes.
==27082==
==27082== LEAK SUMMARY:
==27082== definitely lost: 0 bytes in 0 blocks.
==27082== possibly lost: 17,072 bytes in 58 blocks.
==27082== still reachable: 1,226,081 bytes in 450 blocks.
==27082== suppressed: 0 bytes in 0 blocks.
==27082== Reachable blocks (those to which a pointer was found) are not shown.
==27082== To see them, rerun with: --show-reachable=yes

A lot of those 713 errors occur in the various deallocation functions.

really wired!!! i tried valgrind --leak-check=yes python on Python 2.4.3

it showed me even 839 errors,

==4375== ERROR SUMMARY: 839 errors from 108 contexts (suppressed: 38 from 1)
==4375== malloc/free: in use at exit: 710,604 bytes in 242 blocks.
==4375== malloc/free: 1,971 allocs, 1,729 frees, 1,541,112 bytes allocated.
==4375== For counts of detected errors, rerun with: -v
==4375== searching for pointers to 242 not-freed blocks.
==4375== checked 626,920 bytes.


I didn't get any error when using valgrind with perl or php!!!!

does that mean that python's interpretor is a memory beast?
 
T

Terry Reedy

|
| does that mean that python's interpretor is a memory beast?

No. The developers have occasionally run Valgrind on Python (or seen the
results of so doing). I believe they have determined that it gives
spurious messages due to some particular features of its coding style or
standards. See JPC's message.
 
T

Terry Reedy

| Running Python 2.5.1 under Valgrind is interesting;

What platform and compiler and compiler settings?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top