ProcessPool.callRemote Deferred sometimes fires with None instead of result

Bug #571334 reported by Jean-Paul Calderone on 2010-04-28
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ampoule
Undecided
Unassigned

Bug Description

This is a weird behavior I ran into when issuing a new job from an errback on an earlier job. The attached illustrates better than I can do in English. The expected result is to see a result of {}, though, since that is what the "Fast" command in the worker returns. Instead, the result is None.

Related branches

Jean-Paul Calderone (exarkun) wrote :
Jean-Paul Calderone (exarkun) wrote :

Another clue here is that the example program also logs an unhandled error. However, it seems to me that it is properly handling the error.

I am unable to reproduce this problem; has the underlying bug been fixed?

Not by me. I guess the bug was invalid then.

On 7 Sep 2012, at 09:16, Itamar Turner-Trauring <email address hidden> wrote:

> I am unable to reproduce this problem; has the underlying bug been
> fixed?
>
> --
> You received this bug notification because you are subscribed to
> Ampoule.
> https://bugs.launchpad.net/bugs/571334
>
> Title:
> ProcessPool.callRemote Deferred sometimes fires with None instead of
> result
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/ampoule/+bug/571334/+subscriptions

--
Valentino Volonghi
http://www.adroll.com

Colin Watson (cjwatson) wrote :

I can still reproduce this or a similar issue quite easily with exarkun's attached program after "pip install ampoule", although it only happens around one time in three or four for me. If I pass min=1, max=1 when creating the process pool, it happens every time.

The problem is that when a process reaches its timeout, then _returned ignores the fact that it was called as an errback and adds the child back to the ready set; if a new call happens to be dispatched to that particular process then it fails immediately.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Bug attachments