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 Kevin Modzelewski
Recipients Kevin Modzelewski
Date 2016年03月28日.20:07:30
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1459195650.62.0.697543008617.issue26659@psf.upfronthosting.co.za>
In-reply-to
Content
The slice type doesn't participate in GC, which means that if you happen to create a cycle involving a slice, that cycle will never get freed. Here's an example:
def f():
 l = []
 l.append(slice(l))
# Will consume memory without bound:
while True:
 f()
This seems pretty hard to trigger accidentally, so it might not be a huge deal -- especially since it seems to have been around for a while. (I only checked 2.7 and trunk though.)
I think this could be solved by either having the slice class participate in GC (ie add tp_traverse and tp_clear methods), or maybe doing some type-filtering during slice_new().
History
Date User Action Args
2016年03月28日 20:07:30Kevin Modzelewskisetrecipients: + Kevin Modzelewski
2016年03月28日 20:07:30Kevin Modzelewskisetmessageid: <1459195650.62.0.697543008617.issue26659@psf.upfronthosting.co.za>
2016年03月28日 20:07:30Kevin Modzelewskilinkissue26659 messages
2016年03月28日 20:07:30Kevin Modzelewskicreate

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