I don't know if the bug would explain <<loop>>.  My guess is that the black-hole-detection code is incorrectly concluding there is a black hole because a thunk was marked as in the process of being evaluated, then the evaluating thread is killed without unmarking the thunk, and then another thread needs the whnf.  This is a fairly naive guess.  I don't know this machinery well enough to have confidence.

What do you think?

   - Conal

On Tue, Jan 6, 2009 at 6:27 AM, Simon Marlow <marlowsd@gmail.com> wrote:
Conal Elliott wrote:
Indeed -- many thanks to Bertram, Sterling, Peter & others for the help!  I think getting this bug fixed will solve Reactive's mysterious bugs and unblock its progress.

Ok, we can fix the fairly simple bug that a thread created in blocked mode blocks throwTos after the thread has finished.  But I'm slightly suspicious of the <<loop>> results you were getting - does this bug explain those too?

Cheers,
       Simon