[issue13569] multiprocessing module: Process.start() fails with EOFError: pickle.PicklingError: Can't pickle <type 'thread.lock'>: it's not found as thread.lock

Nikita Pchelin report at bugs.python.org
Fri Dec 9 21:28:28 CET 2011


Nikita Pchelin <nikita.pchelin at gmail.com> added the comment:

I am not sending locks explicetly (i.e. I am not using locks), but I do
pass a Queue object from PC instance to _Consumer and _Producer instances
that get/put values from/to the queue -- this is done deliberately.

2011/12/9 Antoine Pitrou <report at bugs.python.org>

>
> Antoine Pitrou <pitrou at free.fr> added the comment:
>
> Yes, Windows needs to pickle objects which are sent to (or returned from)
> a child process. Now you should wonder why you are sending a threading lock
> to the child. Are you sure this is deliberate?
>
> ----------
> nosy: +pitrou
> versions: +Python 2.7, Python 3.2, Python 3.3 -Python 2.6
>
> _______________________________________
> Python tracker <report at bugs.python.org>
> <http://bugs.python.org/issue13569>
> _______________________________________
>

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue13569>
_______________________________________


More information about the Python-bugs-list mailing list