I am sharing a dictionary between processes and each process inserts a entry into the dict, where the value for the keys in the dictionary can be a list or a gdb.Value instance. Each processes is doing something like this
mydict["key"] = [[2], gdb.Value(someaddress), 3, 4]
When the above line is executed I get the below error, looks like its because i am inserting gdb.Value, this works if in case of a object() instance
Traceback (most recent call last):
File "/test.py", line 631, in insert
mydict["key"] = [[2], 1, 3, 4]
File "<string>", line 2, in __setitem__
File "/usr/lib/python2.7/multiprocessing/managers.py", line 774, in _callmethod
raise convert_to_error(kind, result)
RemoteError:
---------------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python2.7/multiprocessing/managers.py", line 240, in serve_client
request = recv()
TypeError: Value object creation takes only 1 argument
I see another issue too, looping over the dict gives me below error
Traceback (most recent call last):
File "/test.py", line 1214, in <module>
for item in mydict:
File "<string>", line 2, in __getitem__
File "/usr/lib/python2.7/multiprocessing/managers.py", line 774, in _callmethod
raise convert_to_error(kind, result)