<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; "><BR><DIV><DIV>Am 13.01.2006 um 00:24 schrieb Gary Byers:</DIV><BR class="Apple-interchange-newline"><BLOCKQUOTE type="cite"><P style="margin: 0.0px 0.0px 0.0px 0.0px"><FONT face="Helvetica" size="3" style="font: 12.0px Helvetica"><SPAN class="Apple-converted-space"> </SPAN>a) there's a fencepost in the code that calculates the required</FONT></P> <P style="margin: 0.0px 0.0px 0.0px 0.0px"><FONT face="Helvetica" size="3" style="font: 12.0px Helvetica"><SPAN class="Apple-converted-space"> </SPAN>size of the bitmap</FONT></P> <P style="margin: 0.0px 0.0px 0.0px 0.0px"><FONT face="Helvetica" size="3" style="font: 12.0px Helvetica"><SPAN class="Apple-converted-space"> </SPAN>b) there's an object whose size is incorrect (possibly as a</FONT></P> <P style="margin: 0.0px 0.0px 0.0px 0.0px"><FONT face="Helvetica" size="3" style="font: 12.0px Helvetica"><SPAN class="Apple-converted-space"> </SPAN>result of some sort of memory corruption near the end of</FONT></P> <P style="margin: 0.0px 0.0px 0.0px 0.0px"><FONT face="Helvetica" size="3" style="font: 12.0px Helvetica"><SPAN class="Apple-converted-space"> </SPAN>the heap, and this causes the GC to try to set bits that</FONT></P> <P style="margin: 0.0px 0.0px 0.0px 0.0px"><FONT face="Helvetica" size="3" style="font: 12.0px Helvetica"><SPAN class="Apple-converted-space"> </SPAN>aren't allocated and shouldn't be.</FONT></P> <BR class="Apple-interchange-newline"></BLOCKQUOTE></DIV><BR><DIV>b) is the winner:</DIV><DIV> the coder "optimized" by declaring an array with fill-pointer to be of type simple-array :-( </DIV><DIV> ("there really is no reason not to use an simple-array, it just has to be an simple-array....")</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>testing with $gc-integrity-check-bit set told me about corrupt objects,</DIV><DIV>the way to find the bug was straightforward - assuming that mcl's memory handling isn't buggy - messing around with pointers or wrong declarations could be the only reasons.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>sorry to pollute the list with this dull unnecessary traffic</DIV><DIV>just writing this so nobody worries about errors in the core of openmcl</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV><BR class="khtml-block-placeholder"></DIV></BODY></HTML>