Boost Python exceptions cannot be pickled
Hi, Briefly, when using the multiprocessing module, when exceptions are thrown, they need to be pickleable in order to propagate, since that is how multiprocessing passes information around. See http://stackoverflow.com/questions/8785899/hang-in-python-script-using-sqlal... and Python bug http://bugs.python.org/issue1692335 for background. I've reported bugs http://bugs.python.org/issue13751 and http://www.sqlalchemy.org/trac/ticket/2371 and http://psycopg.lighthouseapp.com/projects/62710-psycopg/tickets/90-psycopg-e... and http://bugs.python.org/issue13760 in this context. I've been reporting them as I came across them. I can produce a complete example if necessary, but I think the problem is pretty obvious. Let me know whether you require followup action from me. Specifically, do you want me to report a bug? See below the traceback I just ran into. Please CC me on all replies. Thanks. Regards, Faheem ******************************************************************* Process PoolWorker-1: Traceback (most recent call last): File "/usr/lib/python2.6/multiprocessing/process.py", line 232, in _bootstrap Process PoolWorker-2: Traceback (most recent call last): File "/usr/lib/python2.6/multiprocessing/process.py", line 232, in _bootstrap self.run() File "/usr/lib/python2.6/multiprocessing/process.py", line 88, in run self._target(*self._args, **self._kwargs) File "/usr/lib/python2.6/multiprocessing/pool.py", line 71, in worker self.run() File "/usr/lib/python2.6/multiprocessing/process.py", line 88, in run self._target(*self._args, **self._kwargs) File "/usr/lib/python2.6/multiprocessing/pool.py", line 71, in worker put((job, i, result)) File "/usr/lib/python2.6/multiprocessing/queues.py", line 366, in put put((job, i, result)) File "/usr/lib/python2.6/multiprocessing/queues.py", line 366, in put return send(obj) PicklingError: Can't pickle <class 'Boost.Python.ArgumentError'>: import of module Boost.Python failed return send(obj) PicklingError: Can't pickle <class 'Boost.Python.ArgumentError'>: import of module Boost.Python failed
participants (1)
-
Faheem Mitha