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 Jonas Obrist
Recipients Jonas Obrist, jnoller, sbt
Date 2015-08-24.21:56:57
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1440453417.53.0.719490146876.issue24927@psf.upfronthosting.co.za>
In-reply-to
Content
So the reason this is happening is very simple:

When using Pool.apply, the task (function) is sent to the task queue, which is consumed by the worker. At this point the task is "in progress". However, the worker dies without being able to finish the task or in any other way tell the Pool that it can't finish the task. The actual process is then ended by the Pool but the task is still in limbo, so any attempt at getting a result will hang forever.

I'm not sure there's a straight forward way to solve this (the ways I can think of from the top of my head involve adding quite a bit of overhead to the Pool so it keeps track of which process/worker is handling which task at a given time, so if it exits prematurely this task can be finished), but at the very least this case should be documented I think.
History
Date User Action Args
2015-08-24 21:56:57Jonas Obristsetrecipients: + Jonas Obrist, jnoller, sbt
2015-08-24 21:56:57Jonas Obristsetmessageid: <1440453417.53.0.719490146876.issue24927@psf.upfronthosting.co.za>
2015-08-24 21:56:57Jonas Obristlinkissue24927 messages
2015-08-24 21:56:57Jonas Obristcreate