Terrence Cole <terre...@zettabytestorage.com> added the comment: I get the same results on: Python 2.6.2 (r262:71600, Sep 14 2009, 18:47:57) [GCC 4.3.2] on linux2
I think this is the same issue I was seeing yesterday. You can exercise the issue and cause an exception with just 6 lines: ##### CODE ##### from multiprocessing import Manager manager = Manager() ns_proxy = manager.Namespace() evt_proxy = manager.Event() ns_proxy.my_event_proxy = evt_proxy print ns_proxy.my_event_proxy ##### TRACEBACK ##### Traceback (most recent call last): File "test_nsproxy.py", line 39, in <module> print ns_proxy.my_event_proxy File "/usr/lib64/python2.6/multiprocessing/managers.py", line 989, in __getattr__ return callmethod('__getattribute__', (key,)) File "/usr/lib64/python2.6/multiprocessing/managers.py", line 740, in _callmethod raise convert_to_error(kind, result) multiprocessing.managers.RemoteError: --------------------------------------------------------------------- Unserializable message: ('#RETURN', <threading._Event object at 0x1494790>) --------------------------------------------------------------------- Storing a proxy into a proxied object and then accessing the proxy returns a copy of the object itself and not the stored proxy. Thus, updates to the nested dict are local and do not update the real object, and proxies to unpicklable objects raise an exception when accessed. ---------- nosy: +terrence _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue6766> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com