From 4c7317768b6e0358c56fd626d92a867919177db0 Mon Sep 17 00:00:00 2001 From: Neal Norwitz Date: Mon, 14 Aug 2006 01:49:54 +0000 Subject: [PATCH] Update purify doc some. --- Misc/PURIFY.README | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/Misc/PURIFY.README b/Misc/PURIFY.README index a71433206d..1e5d2ac192 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 -. Purify is essentially a memory access +assurance tools available from IBM . +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. -- 2.40.0