It seems that after applying 39cc020af, if a stream gets the SI_FL_ERR flag, 
process_stream can keep going back to redo around stream.c:line 2503:

if (si_f->state == SI_ST_DIS || si_f->state != si_f_prev_state ||
    si_b->state == SI_ST_DIS || si_b->state != si_b_prev_state ||
    ((si_f->flags | si_b->flags) & SI_FL_ERR) ||
    (((req->flags ^ rqf_last) | (res->flags ^ rpf_last)) & CF_MASK_ANALYSER))
         goto redo;

Now that si_update_both no longer clears the SI_FL_ERR flag, and nothing else 
does, the goto will get called forever. I don't understand this section enough 
to try to reproduce this, but I found several processes stuck here on a machine 
testing from yesterday's HEAD.

Richard

-- 
  Richard Russo
  [email protected]

Reply via email to