summaryrefslogtreecommitdiffstats
path: root/Misc/PURIFY.README
diff options
context:
space:
mode:
Diffstat (limited to 'Misc/PURIFY.README')
-rw-r--r--Misc/PURIFY.README20
1 files changed, 18 insertions, 2 deletions
diff --git a/Misc/PURIFY.README b/Misc/PURIFY.README
index a714332..1e5d2ac 100644
--- a/Misc/PURIFY.README
+++ b/Misc/PURIFY.README
@@ -1,6 +1,6 @@
Purify (tm) and Quantify (tm) are commercial software quality
-assurance tools available from Rational Software Corporation
-<http://www.rational.com/>. Purify is essentially a memory access
+assurance tools available from IBM <http://www.ibm.com/software/rational/>.
+Purify is essentially a memory access
verifier and leak detector; Quantify is a C level profiler. The rest
of this file assumes you generally know how to use Purify and
Quantify, and that you have installed valid licenses for these
@@ -20,6 +20,17 @@ Quantify'd interpreter, do this:
make PURIFY=quantify
+Starting with Python 2.3, pymalloc is enabled by default. This
+will cause many supurious warnings. Modify Objects/obmalloc.c
+and enable Py_USING_MEMORY_DEBUGGER by uncommenting it.
+README.valgrind has more details about why this is necessary.
+See below about setting up suppressions. Some tests may not
+run well with Purify due to heavy memory or CPU usage. These
+tests may include: test_largefile, test_import, and test_long.
+
+Please report any findings (problems or no warnings) to python-dev@python.org.
+It may be useful to submit a bug report for any problems.
+
When running the regression test (make test), I have found it useful
to set my PURIFYOPTIONS environment variable using the following
(bash) shell function. Check out the Purify documentation for
@@ -52,6 +63,11 @@ following in your .purify file:
suppress umr ...; "nismodule.c"
suppress umr ...; "pwdmodule.c"
+Note: this list is very old and may not be accurate any longer.
+It's possible some of these no longer need to be suppressed.
+You will also need to suppress warnings (at least umr)
+from Py_ADDRESS_IN_RANGE.
+
This will still leave you with just a few UMR, mostly in the readline
library, which you can safely ignore. A lot of work has gone into
Python 1.5 to plug as many leaks as possible.