homepage

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 torsten
Recipients torsten
Date 2011年01月11日.11:16:52
SpamBayes Score 3.8912975e-07
Marked as misclassified No
Message-id <1294744619.25.0.366060169853.issue10886@psf.upfronthosting.co.za>
In-reply-to
Content
When trying to send an object via a Queue that can't be pickled, one gets a quite unhelpful traceback:
Traceback (most recent call last):
 File "/usr/lib/python2.6/multiprocessing/queues.py", line 242, in _feed
 send(obj)
PicklingError: Can't pickle <type 'module'>: attribute lookup __builtin__.module failed
I have no idea where I am sending this. It would be helpful to get the call trace to the call to Queue.put.
My workaround was to create a Queue via this function MyQueue:
def MyQueue():
 import cPickle
 def myput(obj, *args, **kwargs):
 cPickle.dumps(obj)
 return orig_put(obj, *args, **kwargs)
 q = Queue()
 orig_put, q.put = q.put, myput
 return q
That way I get the pickle exception in the caller to put and was able to find out the offending code.
History
Date User Action Args
2011年01月11日 11:16:59torstensetrecipients: + torsten
2011年01月11日 11:16:59torstensetmessageid: <1294744619.25.0.366060169853.issue10886@psf.upfronthosting.co.za>
2011年01月11日 11:16:52torstenlinkissue10886 messages
2011年01月11日 11:16:52torstencreate

AltStyle によって変換されたページ (->オリジナル) /