I'm using deepcopy in some code which eventually ends up by crash witht he following rather long winded error. I'm not directly using _hashlib.HASH, but I suppose something else along the way could be. Is there some nice way to make copy/deepcopy give more information when this error happens? I know what the top level object is, but presumably it's something further down that's causing the problem.
......... File "C:\Python\lib\copy.py", line 162, in deepcopy y = copier(x, memo) File "C:\Python\lib\copy.py", line 291, in _deepcopy_inst state = deepcopy(state, memo) File "C:\Python\lib\copy.py", line 162, in deepcopy y = copier(x, memo) File "C:\Python\lib\copy.py", line 254, in _deepcopy_dict y[deepcopy(key, memo)] = deepcopy(value, memo) File "C:\Python\lib\copy.py", line 162, in deepcopy y = copier(x, memo) File "C:\Python\lib\copy.py", line 234, in _deepcopy_tuple y.append(deepcopy(a, memo)) File "C:\Python\lib\copy.py", line 162, in deepcopy y = copier(x, memo) File "C:\Python\lib\copy.py", line 227, in _deepcopy_list y.append(deepcopy(a, memo)) File "C:\Python\lib\copy.py", line 162, in deepcopy y = copier(x, memo) File "C:\Python\lib\copy.py", line 291, in _deepcopy_inst state = deepcopy(state, memo) File "C:\Python\lib\copy.py", line 162, in deepcopy y = copier(x, memo) File "C:\Python\lib\copy.py", line 254, in _deepcopy_dict y[deepcopy(key, memo)] = deepcopy(value, memo) File "C:\Python\lib\copy.py", line 162, in deepcopy y = copier(x, memo) File "C:\Python\lib\copy.py", line 234, in _deepcopy_tuple y.append(deepcopy(a, memo)) File "C:\Python\lib\copy.py", line 162, in deepcopy y = copier(x, memo) File "C:\Python\lib\copy.py", line 234, in _deepcopy_tuple y.append(deepcopy(a, memo)) File "C:\Python\lib\copy.py", line 162, in deepcopy y = copier(x, memo) File "C:\Python\lib\copy.py", line 291, in _deepcopy_inst state = deepcopy(state, memo) File "C:\Python\lib\copy.py", line 162, in deepcopy y = copier(x, memo) File "C:\Python\lib\copy.py", line 254, in _deepcopy_dict y[deepcopy(key, memo)] = deepcopy(value, memo) File "C:\Python\lib\copy.py", line 162, in deepcopy y = copier(x, memo) File "C:\Python\lib\copy.py", line 291, in _deepcopy_inst state = deepcopy(state, memo) File "C:\Python\lib\copy.py", line 162, in deepcopy y = copier(x, memo) File "C:\Python\lib\copy.py", line 254, in _deepcopy_dict y[deepcopy(key, memo)] = deepcopy(value, memo) File "C:\Python\lib\copy.py", line 162, in deepcopy y = copier(x, memo) File "C:\Python\lib\copy.py", line 291, in _deepcopy_inst state = deepcopy(state, memo) File "C:\Python\lib\copy.py", line 162, in deepcopy y = copier(x, memo) File "C:\Python\lib\copy.py", line 254, in _deepcopy_dict y[deepcopy(key, memo)] = deepcopy(value, memo) File "C:\Python\lib\copy.py", line 162, in deepcopy y = copier(x, memo) File "C:\Python\lib\copy.py", line 291, in _deepcopy_inst state = deepcopy(state, memo) File "C:\Python\lib\copy.py", line 162, in deepcopy y = copier(x, memo) File "C:\Python\lib\copy.py", line 254, in _deepcopy_dict y[deepcopy(key, memo)] = deepcopy(value, memo) File "C:\Python\lib\copy.py", line 189, in deepcopy y = _reconstruct(x, rv, 1, memo) File "C:\Python\lib\copy.py", line 322, in _reconstruct y = callable(*args) File "C:\Python\lib\copy_reg.py", line 92, in __newobj__ return cls.__new__(cls, *args) TypeError: object.__new__(_hashlib.HASH) is not safe, use _hashlib.HASH.__new__() -- Robin Becker -- http://mail.python.org/mailman/listinfo/python-list