[Python-Dev] python2.7 infinite recursion when loading pickled object
Terry Reedy
tjreedy at udel.edu
Mon Aug 11 13:28:44 CEST 2014
On 8/11/2014 5:10 AM, Schmitt Uwe (ID SIS) wrote:
Python usage questions should be directed to python-list, for instance.
> I discovered a problem using cPickle.loads from CPython 2.7.6.
The problem is your code having infinite recursion. You only discovered
it with pickle.
> The last line in the following code raises an infinite recursion
>
> class T(object):
>
> def __init__(self):
> self.item = list()
>
> def __getattr__(self, name):
> return getattr(self.item, name)
This is a (common) bug in your program. __getattr__ should call
self.__dict__(name) to avoid the recursion.
--
Terry Jan Reedy
More information about the Python-Dev
mailing list