homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author meador.inge
Recipients Trundle, dmalcolm, meador.inge, ncoghlan, neologix, pitrou, tim.peters, vstinner
Date 2011年12月06日.23:41:41
SpamBayes Score 6.5440354e-08
Marked as misclassified No
Message-id <1323214903.04.0.78072292975.issue13390@psf.upfronthosting.co.za>
In-reply-to
Content
I looked at the 'ctypes' "leak" a bit. I haven't determined exactly what
is going on, but the leak has something to do with a change in the patch that
runs 'dash_R_cleanup' twice instead of once. The new behavior can be reduced
to something like:
 import sys, ctypes, gc
 ctypes._reset_cache()
 gc.collect()
 for i in range(0, 5):
 ctypes._reset_cache()
 gc.collect()
 print("%d: start refs = %s" % (i, sys.gettotalrefcount()))
 proto = ctypes.CFUNCTYPE(ctypes.POINTER(ctypes.c_char))
 ctypes._reset_cache()
 gc.collect()
 print("%d: after refs = %s" % (i, sys.gettotalrefcount()))
which prints:
 0: start refs = 71395
 0: after refs = 71462
 1: start refs = 71463
 1: after refs = 71493
 2: start refs = 71465
 2: after refs = 71494
 3: start refs = 71465
 3: after refs = 71494
 4: start refs = 71465
 4: after refs = 71494
Note that the start/after refs converge on a difference of 29 references.
The existing version 'regrtest.py' does something like:
 import sys, ctypes, gc
 ctypes._reset_cache()
 gc.collect()
 for i in range(0, 5):
 print("%d: start refs = %s" % (i, sys.gettotalrefcount()))
 proto = ctypes.CFUNCTYPE(ctypes.POINTER(ctypes.c_char))
 ctypes._reset_cache()
 gc.collect()
 print("%d: after refs = %s" % (i, sys.gettotalrefcount()))
which prints:
 0: start refs = 71391
 0: after refs = 71458
 1: start refs = 71458
 1: after refs = 71489
 2: start refs = 71489
 2: after refs = 71490
 3: start refs = 71490
 3: after refs = 71490
 4: start refs = 71490
 4: after refs = 71490
This one converges on a difference of zero.
So, I am not sure whether there really is a leak, if this is just
a very senstive area of 'regrtest.py', or something else I am missing.
History
Date User Action Args
2011年12月06日 23:41:43meador.ingesetrecipients: + meador.inge, tim.peters, ncoghlan, pitrou, vstinner, Trundle, dmalcolm, neologix
2011年12月06日 23:41:43meador.ingesetmessageid: <1323214903.04.0.78072292975.issue13390@psf.upfronthosting.co.za>
2011年12月06日 23:41:42meador.ingelinkissue13390 messages
2011年12月06日 23:41:41meador.ingecreate

AltStyle によって変換されたページ (->オリジナル) /