<div dir="ltr">Wow. I'm really glad Lev and co. noticed it, then!<br>Thanks.<br><br><br><div class="gmail_quote">On Tue, Sep 2, 2008 at 5:40 AM, Raimo Niskanen <span dir="ltr"><<a href="mailto:raimo%2Berlang-bugs@erix.ericsson.se">raimo+erlang-bugs@erix.ericsson.se</a>></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;">On Tue, Sep 02, 2008 at 04:23:59AM -0400, Edwin Fine wrote:<br>
> Thanks, Dan. As a matter of interest, what was the error (executive<br>
> summary:) ?<br>
<br>
When the result became a bignum, a second allocation of heap<br>
space was made - the first for the result container and the<br>
second for the bignum; and these were in the wrong order<br>
temporal vs pointerwise violating an essential garbage<br>
collector assumption.<br>
<br>
So, when the second allocation happened to allocate<br>
a temporary heap buffer aka "heap fragment", a<br>
subsequent garbage collect messed up ending with<br>
the result pointing to invalid data in freed memory...<br>
<br>
This could have lead to almost anything including<br>
emulator crash.<br>
<br>
> Regards,<br>
> Edwin<br>
<br>
> _______________________________________________<br>
> erlang-bugs mailing list<br>
> <a href="mailto:erlang-bugs@erlang.org">erlang-bugs@erlang.org</a><br>
> <a href="http://www.erlang.org/mailman/listinfo/erlang-bugs" target="_blank">http://www.erlang.org/mailman/listinfo/erlang-bugs</a><br>
<font color="#888888"><br>
--<br>
<br>
/ Raimo Niskanen, Erlang/OTP, Ericsson AB<br>
<br>
</font></blockquote></div><br></div>