"""
Running copy.deepcopy against such an object fails as well for the same reason (Maximum recursion depth exceeded).
>>> y = deepcopy(x)
2007-09-25 12:25:10 ERROR ZODB.Connection Couldn't load state for 0x209fe1
Traceback (most recent call last):
File "/u01/app/zope-2.8.7/lib/python/ZODB/Connection.py", line 704, in setstate
self._setstate(obj)
File "/u01/app/zope-2.8.7/lib/python/ZODB/Connection.py", line 758, in _setstate
self._reader.setGhostState(obj, p)
File "/u01/app/zope-2.8.7/lib/python/ZODB/serialize.py", line 495, in setGhostState
state = self.getState(pickle)
File "/u01/app/zope-2.8.7/lib/python/ZODB/serialize.py", line 488, in getState
return unpickler.load()
File "/u01/app/zope-2.8.7/lib/python/ZODB/serialize.py", line 436, in _persistent_load
return self._conn.get(oid)
File "/u01/app/zope-2.8.7/lib/python/ZODB/Connection.py", line 207, in get
p, serial = self._storage.load(oid, self._version)
File "/u01/app/zope-2.8.7/lib/python/ZEO/ClientStorage.py", line 746, in load
return self.loadEx(oid, version)[:2]
File "/u01/app/zope-2.8.7/lib/python/ZEO/ClientStorage.py", line 769, in loadEx
data, tid, ver = self._server.loadEx(oid, version)
File "/u01/app/zope-2.8.7/lib/python/ZEO/ServerStub.py", line 192, in loadEx
return self.rpc.call("loadEx", oid, version)
File "/u01/app/zope-2.8.7/lib/python/ZEO/zrpc/connection.py", line 531, in call
r_flags, r_args = self.wait(msgid)
File "/u01/app/zope-2.8.7/lib/python/ZEO/zrpc/connection.py", line 638, in wait
asyncore.poll(delay, self._singleton)
File "/u01/app/python/lib/python2.3/asyncore.py", line 119, in poll
read(obj)
File "/u01/app/python/lib/python2.3/asyncore.py", line 73, in read
obj.handle_error()
File "/u01/app/zope-2.8.7/lib/python/ZEO/zrpc/connection.py", line 453, in handle_error
level=logging.ERROR, exc_info=True)
File "/u01/app/zope-2.8.7/lib/python/ZEO/zrpc/connection.py", line 327, in log
self.logger.log(level, self.log_label + message, exc_info=exc_info)
File "/u01/app/python/lib/python2.3/logging/__init__.py", line 959, in log
apply(self._log, (level, msg, args), kwargs)
File "/u01/app/python/lib/python2.3/logging/__init__.py", line 994, in _log
self.handle(record)
File "/u01/app/python/lib/python2.3/logging/__init__.py", line 1004, in handle
self.callHandlers(record)
File "/u01/app/python/lib/python2.3/logging/__init__.py", line 1037, in callHandlers
hdlr.handle(record)
File "/u01/app/python/lib/python2.3/logging/__init__.py", line 588, in handle
rv = self.filter(record)
RuntimeError: maximum recursion depth exceeded
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "/u01/app/python/lib/python2.3/copy.py", line 222, in deepcopy
y = _reconstruct(x, rv, 1, memo)
File "/u01/app/python/lib/python2.3/copy.py", line 369, in _reconstruct
state = deepcopy(state, memo)
File "/u01/app/python/lib/python2.3/copy.py", line 192, in deepcopy
[ ... Snipped many, many duplicate lines of recursive traceback ...]
y = copier(x, memo)
File "/u01/app/python/lib/python2.3/copy.py", line 286, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/u01/app/python/lib/python2.3/copy.py", line 209, in deepcopy
reductor = getattr(x, "__reduce_ex__", None)
File "/u01/app/zope-2.8.7/lib/python/ZODB/Connection.py", line 704, in setstate
self._setstate(obj)
File "/u01/app/zope-2.8.7/lib/python/ZODB/Connection.py", line 758, in _setstate
self._reader.setGhostState(obj, p)
File "/u01/app/zope-2.8.7/lib/python/ZODB/serialize.py", line 495, in setGhostState
state = self.getState(pickle)
File "/u01/app/zope-2.8.7/lib/python/ZODB/serialize.py", line 488, in getState
return unpickler.load()
File "/u01/app/zope-2.8.7/lib/python/ZODB/serialize.py", line 436, in _persistent_load
return self._conn.get(oid)
File "/u01/app/zope-2.8.7/lib/python/ZODB/Connection.py", line 207, in get
p, serial = self._storage.load(oid, self._version)
File "/u01/app/zope-2.8.7/lib/python/ZEO/ClientStorage.py", line 746, in load
return self.loadEx(oid, version)[:2]
File "/u01/app/zope-2.8.7/lib/python/ZEO/ClientStorage.py", line 769, in loadEx
data, tid, ver = self._server.loadEx(oid, version)
File "/u01/app/zope-2.8.7/lib/python/ZEO/ServerStub.py", line 192, in loadEx
return self.rpc.call("loadEx", oid, version)
File "/u01/app/zope-2.8.7/lib/python/ZEO/zrpc/connection.py", line 531, in call
r_flags, r_args = self.wait(msgid)
File "/u01/app/zope-2.8.7/lib/python/ZEO/zrpc/connection.py", line 638, in wait
asyncore.poll(delay, self._singleton)
File "/u01/app/python/lib/python2.3/asyncore.py", line 119, in poll
read(obj)
File "/u01/app/python/lib/python2.3/asyncore.py", line 73, in read
obj.handle_error()
File "/u01/app/zope-2.8.7/lib/python/ZEO/zrpc/connection.py", line 453, in handle_error
level=logging.ERROR, exc_info=True)
File "/u01/app/zope-2.8.7/lib/python/ZEO/zrpc/connection.py", line 327, in log
self.logger.log(level, self.log_label + message, exc_info=exc_info)
File "/u01/app/python/lib/python2.3/logging/__init__.py", line 959, in log
apply(self._log, (level, msg, args), kwargs)
File "/u01/app/python/lib/python2.3/logging/__init__.py", line 994, in _log
self.handle(record)
File "/u01/app/python/lib/python2.3/logging/__init__.py", line 1004, in handle
self.callHandlers(record)
File "/u01/app/python/lib/python2.3/logging/__init__.py", line 1037, in callHandlers
hdlr.handle(record)
File "/u01/app/python/lib/python2.3/logging/__init__.py", line 588, in handle
rv = self.filter(record)
RuntimeError: maximum recursion depth exceeded
"""
Original followup by esrever_otua:
""" zope-2. 8.7/lib/ python/ ZODB/Connection .py", line 704, in setstate _setstate( obj) zope-2. 8.7/lib/ python/ ZODB/Connection .py", line 758, in _setstate _reader. setGhostState( obj, p) zope-2. 8.7/lib/ python/ ZODB/serialize. py", line 495, in setGhostState pickle) zope-2. 8.7/lib/ python/ ZODB/serialize. py", line 488, in getState zope-2. 8.7/lib/ python/ ZODB/serialize. py", line 436, in _persistent_load zope-2. 8.7/lib/ python/ ZODB/Connection .py", line 207, in get load(oid, self._version) zope-2. 8.7/lib/ python/ ZEO/ClientStora ge.py", line 746, in load zope-2. 8.7/lib/ python/ ZEO/ClientStora ge.py", line 769, in loadEx loadEx( oid, version) zope-2. 8.7/lib/ python/ ZEO/ServerStub. py", line 192, in loadEx call("loadEx" , oid, version) zope-2. 8.7/lib/ python/ ZEO/zrpc/ connection. py", line 531, in call zope-2. 8.7/lib/ python/ ZEO/zrpc/ connection. py", line 638, in wait poll(delay, self._singleton) python/ lib/python2. 3/asyncore. py", line 119, in poll python/ lib/python2. 3/asyncore. py", line 73, in read handle_ error() zope-2. 8.7/lib/ python/ ZEO/zrpc/ connection. py", line 453, in handle_error logging. ERROR, exc_info=True) zope-2. 8.7/lib/ python/ ZEO/zrpc/ connection. py", line 327, in log logger. log(level, self.log_label + message, exc_info=exc_info) python/ lib/python2. 3/logging/ __init_ _.py", line 959, in log self._log, (level, msg, args), kwargs) python/ lib/python2. 3/logging/ __init_ _.py", line 994, in _log handle( record) python/ lib/python2. 3/logging/ __init_ _.py", line 1004, in handle callHandlers( record) python/ lib/python2. 3/logging/ __init_ _.py", line 1037, in callHandlers handle( record) python/ lib/python2. 3/logging/ __init_ _.py", line 588, in handle python/ lib/python2. 3/copy. py", line 222, in deepcopy python/ lib/python2. 3/copy. py", line 369, in _reconstruct python/ lib/python2. 3/copy. py", line 192, in deepcopy
Running copy.deepcopy against such an object fails as well for the same reason (Maximum recursion depth exceeded).
>>> y = deepcopy(x)
2007-09-25 12:25:10 ERROR ZODB.Connection Couldn't load state for 0x209fe1
Traceback (most recent call last):
File "/u01/app/
self.
File "/u01/app/
self.
File "/u01/app/
state = self.getState(
File "/u01/app/
return unpickler.load()
File "/u01/app/
return self._conn.get(oid)
File "/u01/app/
p, serial = self._storage.
File "/u01/app/
return self.loadEx(oid, version)[:2]
File "/u01/app/
data, tid, ver = self._server.
File "/u01/app/
return self.rpc.
File "/u01/app/
r_flags, r_args = self.wait(msgid)
File "/u01/app/
asyncore.
File "/u01/app/
read(obj)
File "/u01/app/
obj.
File "/u01/app/
level=
File "/u01/app/
self.
File "/u01/app/
apply(
File "/u01/app/
self.
File "/u01/app/
self.
File "/u01/app/
hdlr.
File "/u01/app/
rv = self.filter(record)
RuntimeError: maximum recursion depth exceeded
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "/u01/app/
y = _reconstruct(x, rv, 1, memo)
File "/u01/app/
state = deepcopy(state, memo)
File "/u01/app/
[ ... Snipped many, many duplicate lines of recursive traceback ...]
y = copier(x, memo) python/ lib/python2. 3/copy. py", line 286, in _deepcopy_dict deepcopy( key, memo)] = deepcopy(value, memo) python/ lib/python2. 3/copy. py", line 209, in deepcopy zope-2. 8.7/lib/ python/ ZODB/Connection .py", line 704, in setstate _setstate( obj) zope-2. 8.7/lib/ python/ ZODB/Connection .py", line 758, in _setstate _reader. setGhostState( obj, p) zope-2. 8.7/lib/ python/ ZODB/serialize. py", line 495, in setGhostState pickle) zope-2. 8.7/lib/ python/ ZODB/serialize. py", line 488, in getState zope-2. 8.7/lib/ python/ ZODB/serialize. py", line 436, in _persistent_load zope-2. 8.7/lib/ python/ ZODB/Connection .py", line 207, in get load(oid, self._version) zope-2. 8.7/lib/ python/ ZEO/ClientStora ge.py", line 746, in load zope-2. 8.7/lib/ python/ ZEO/ClientStora ge.py", line 769, in loadEx loadEx( oid, version) zope-2. 8.7/lib/ python/ ZEO/ServerStub. py", line 192, in loadEx call("loadEx" , oid, version) zope-2. 8.7/lib/ python/ ZEO/zrpc/ connection. py", line 531, in call zope-2. 8.7/lib/ python/ ZEO/zrpc/ connection. py", line 638, in wait poll(delay, self._singleton) python/ lib/python2. 3/asyncore. py", line 119, in poll python/ lib/python2. 3/asyncore. py", line 73, in read handle_ error() zope-2. 8.7/lib/ python/ ZEO/zrpc/ connection. py", line 453, in handle_error logging. ERROR, exc_info=True) zope-2. 8.7/lib/ python/ ZEO/zrpc/ connection. py", line 327, in log logger. log(level, self.log_label + message, exc_info=exc_info) python/ lib/python2. 3/logging/ __init_ _.py", line 959, in log self._log, (level, msg, args), kwargs) python/ lib/python2. 3/logging/ __init_ _.py", line 994, in _log handle( record) python/ lib/python2. 3/logging/ __init_ _.py", line 1004, in handle callHandlers( record) python/ lib/python2. 3/logging/ __init_ _.py", line 1037, in callHandlers handle( record) python/ lib/python2. 3/logging/ __init_ _.py", line 588, in handle
File "/u01/app/
y[
File "/u01/app/
reductor = getattr(x, "__reduce_ex__", None)
File "/u01/app/
self.
File "/u01/app/
self.
File "/u01/app/
state = self.getState(
File "/u01/app/
return unpickler.load()
File "/u01/app/
return self._conn.get(oid)
File "/u01/app/
p, serial = self._storage.
File "/u01/app/
return self.loadEx(oid, version)[:2]
File "/u01/app/
data, tid, ver = self._server.
File "/u01/app/
return self.rpc.
File "/u01/app/
r_flags, r_args = self.wait(msgid)
File "/u01/app/
asyncore.
File "/u01/app/
read(obj)
File "/u01/app/
obj.
File "/u01/app/
level=
File "/u01/app/
self.
File "/u01/app/
apply(
File "/u01/app/
self.
File "/u01/app/
self.
File "/u01/app/
hdlr.
File "/u01/app/
rv = self.filter(record)
RuntimeError: maximum recursion depth exceeded
"""