[Python-Dev] update on memory leaks in 2.2 (original) (raw)
Barry A. Warsaw barry@zope.com
Fri, 7 Dec 2001 12:20:22 -0500
- Previous message: [Python-Dev] update on memory leaks in 2.2
- Next message: [Python-Dev] update on memory leaks in 2.2
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Note that there are tons of memory that is validly still alive when Python exists. As we've seen, trying to clean all that up /can/ have a big negative impact on shutdown. So I wouldn't worry about them.
Insure labels them as (paraphrasing) "memory still allocated at exit", distinct from memory leaked. I think this is equivalent to Purify's "potentially leaked" and "leaked" memory respectively.
Note that at least stringobject.c has a hook for clearing out all those interned strings at program shutdown time, which I added to clean up Insure's output. When INTERN_STRINGS is defined, the extra function _Py_ReleaseInternedStrings() is defined. Then, in Modules/main.c, in Py_Main(), if INSURE is defined that function is called, so this memory doesn't show up in the report.
It may be worthwhile generalizing this approach, and adding it to other static long-lived data structures, simply as an aid to memory debugging. As long as it isn't enabled by default, that should be fine.
-Barry
- Previous message: [Python-Dev] update on memory leaks in 2.2
- Next message: [Python-Dev] update on memory leaks in 2.2
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]