yet, when i try to make a deepcopy of an object after allowing pickling, i
get the following error:
File "/auto/sw_tools/root/lib/python2.7/copy.py", line 182, in deepcopy
rv = reductor(2)
File
"/auto/sw_tools/root/lib/python2.7/site-packages/rpyc-3.2.1-py2.7.egg/rpyc/core/netref.py",
line 176, in __reduce_ex__
return pickle.loads, (syncreq(self, consts.HANDLE_PICKLE, proto),)
File
"/auto/sw_tools/root/lib/python2.7/site-packages/rpyc-3.2.1-py2.7.egg/rpyc/core/netref.py",
line 71, in syncreq
return conn.sync_request(handler, oid, *args)
File
"/auto/sw_tools/root/lib/python2.7/site-packages/rpyc-3.2.1-py2.7.egg/rpyc/core/protocol.py",
line 433, in sync_request
raise obj
*cPickle.PicklingError: Can't pickle <type 'thread.lock'>: attribute lookup
thread.lock failed*
(I am running a Treaded server...)
???
On Monday, October 8, 2012 9:17:40 PM UTC+2, Tomer Filiba wrote:
>
> See allow_pickle at
> http://rpyc.sourceforge.net/api/core_protocol.html#api-protocol
>
> https://github.com/tomerfiliba/rpyc/blob/master/rpyc/core/protocol.py#L547
>
> I have no idea where you got thread safety issues from
> On Oct 8, 2012 9:02 PM, "samovar" <[email protected] <javascript:>> wrote:
>
>> Running as a service and trying to write a pickle file on the remote, I
>> get:
>>
>> ValueError: pickling is disabled
>>
>> I read that pickling is disabled because it is not thread safe.
>>
>> Of course it's not thread safe. No one who is capable to use Rpyc would
>> think it is.
>> Static class data and @classmethod are not thread safe either. Should
>> these also be disallowed? There not.
>>
>> I will use a locking mechanism to deal with thread safety issues for
>> pickle. I should be able to do this.
>> Making it totally unavailable is wrong.
>>
>> Am I wrong?
>>
>>
>>