I don&#39;t know if the bug would explain &lt;&lt;loop&gt;&gt;.&nbsp; 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.&nbsp; This is a fairly naive guess.&nbsp; I don&#39;t know this machinery well enough to have confidence.<br>
<br>What do you think?<br><br>&nbsp;&nbsp; - Conal<br><br><div class="gmail_quote">On Tue, Jan 6, 2009 at 6:27 AM, Simon Marlow <span dir="ltr">&lt;<a href="mailto:marlowsd@gmail.com">marlowsd@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">Conal Elliott wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Indeed -- many thanks to Bertram, Sterling, Peter &amp; others for the help! &nbsp;I think getting this bug fixed will solve Reactive&#39;s mysterious bugs and unblock its progress.<br>
</blockquote>
<br></div>
Ok, we can fix the fairly simple bug that a thread created in blocked mode blocks throwTos after the thread has finished. &nbsp;But I&#39;m slightly suspicious of the &lt;&lt;loop&gt;&gt; results you were getting - does this bug explain those too?<br>

<br>
Cheers,<br><font color="#888888">
 &nbsp; &nbsp; &nbsp; &nbsp;Simon<br>
</font></blockquote></div><br>