Message93948
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. |
|
Date |
User |
Action |
Args |
2009-10-13 23:28:25 | terrence | set | recipients:
+ terrence, jnoller, carlosdf |
2009-10-13 23:28:24 | terrence | set | messageid: <1255476504.75.0.11436759768.issue6766@psf.upfronthosting.co.za> |
2009-10-13 23:28:23 | terrence | link | issue6766 messages |
2009-10-13 23:28:22 | terrence | create | |
|