<br><br><div class="gmail_quote">On Sun, Jun 9, 2013 at 12:38 PM, Max Leske <span dir="ltr">&lt;<a href="mailto:maxleske@gmail.com" target="_blank">maxleske@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
I still can&#39;t tell you how the closure become corrupted but I now know how to get rid of it. I&#39;m also pretty sure that closures work fine (as you say) and that I probably mistook the same corrupt instance for different instances.<br>
</blockquote><div><br></div><div>Yes, but can you see how Fuel can construct bad instances?  Is so, you must see that Fuel needs fixing.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<br>
Cheers,<br>
Max<br>
<div class="HOEnZb"><div class="h5"><br>
&gt; How does that happen?  It doesn&#39;t happen in normal use.  I can see how Fuel<br>
&gt; does it.  I can&#39;t see how non-Fuel use would do it (other than deliberate<br>
&gt; construction).  A closure is created by evaluating the push-closure<br>
&gt; bytecode in a specific method, and when this closure is created, it refers,<br>
&gt; through its outer context to the method object containing the evaluated<br>
&gt; push-closure bytecode.  Since the closure&#39;s startpc is derived from the pc<br>
&gt; of the push-closure bytecode, there is always a match.<br>
&gt;<br>
&gt; However, when Fuel serializes (IIRC) it serializes a *reference* to a<br>
&gt; method in the form of a class-name,selector pair, and this approach can<br>
&gt; obviously yield an invalid method.<br>
&gt;<br>
&gt; therefore I think it much more likely that what you;re seeing is a result<br>
&gt; of a bug in Fuel than some systemic problem with closures.<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>best,<div>Eliot</div>