On Tue, 17 Nov 2009 at 10:31, Greg Hewgill wrote: > I've constructed an example program that does not leak memory in Python > 2.x, but causes unbounded memory allocation in Python 3.1. Here is the > code: > > import gc > import sys > > class E(Exception): > def __init__(self, fn): > self.fn = fn > def call(self): > self.fn() > > def f(): > raise E(f) > > a = E(f) > while True: > print(len(gc.get_objects())) > try: > a.call() > except E: > # get exception value in a python2/3 portable way > a = sys.exc_info()[1] > > Every time through the loop, the length of gc.get_objects() increases > by 7 under Python 3.1. I believe this is a regression error, since > Python 2.x does not exhibit the same behaviour. > > Can anybody confirm this? I think you want to take a look at PEP 3134. And then please file a doc bug to have someone update the documentation of sys.exc_info, since the advice in the warning box is no longer valid in Python 3. --David (RDM)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4