This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author jjdmon
Recipients jjdmon
Date 2017-05-03.11:53:34
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1493812414.86.0.361870744934.issue30256@psf.upfronthosting.co.za>
In-reply-to
Content
In multiprocessing, attempting to add a Queue proxy to a dict or Namespace proxy (all returned by the same SyncManager) raises an exception indicating a keyword argument 'manager_owned=True' has been passed to the function AutoProxy() but is not an argument of that function.

In lib/python3.6/multiprocessing/managers.py, in function RebuildProxy(), line 873: "kwds['manager_owned'] = True" adds this argument to a keyword argument dictionary.  This function calls AutoProxy which has an argument list defined on lines 909-910 as:
def AutoProxy(token, serializer, manager=None, authkey=None,
              exposed=None, incref=True):
This raises an exception because there is no manager_owned argument defined.  I added "manager_owned=False" as a keyword argument to AutoProxy which seems to have fixed the problem.  There is no exception and I am able to pass Queue proxies through dict and Namespace proxies to other processes and use them.  I don't know the purpose of that argument though or if the AutoProxy function should actually use it for something.  My fix allows but ignores it.
History
Date User Action Args
2017-05-03 11:53:34jjdmonsetrecipients: + jjdmon
2017-05-03 11:53:34jjdmonsetmessageid: <1493812414.86.0.361870744934.issue30256@psf.upfronthosting.co.za>
2017-05-03 11:53:34jjdmonlinkissue30256 messages
2017-05-03 11:53:34jjdmoncreate