There is a rare race-conditions that throws an exception at the final collection of calculation of results. The scenario seems to be:
one slave process feeds result to the queue
master process checks before the queue status is updated, believes the queue is empty
slave process thinks the result is flushed to the queue and finishes
-master process checks the aliveness of the slaves, thinks all slaves are dead; meanwhile the last result item is feed through the queue the the master
but master process never checks for this item again and would just die with an exception.
There is a rare race-conditions that throws an exception at the final collection of calculation of results. The scenario seems to be: