<div dir="ltr">Hi,<div>Do you have a prefered way to build a image or a link to a current image in a good state ?</div><div><br></div><div>Best,</div><div>Karl</div><div><br><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Oct 13, 2014 at 8:48 PM, Eliot Miranda <span dir="ltr">&lt;<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@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"><div dir="ltr">Hi Karl,<div><br></div><div>    I&#39;ve been looking at a bug that Stéphane Rollandin uncovered in the V3 GC.  I&#39;ve just fixed it and suspect it might be the same bug that is biting you.  I wonder if you can do me a favour.  Can you try and construct a version of your bug that crashes without user intervention?  i.e. in e.g. a workspace evaluate</div><div><br></div><div>    Smalltalk snapshot: true andQuit: true.</div><div><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px">    1 to: 50 do:[: i | Browser open]</span><br></div><div><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px">and then verify that the image crashes on startup?  And then save that image (or mail me a copy)?  The reason is that the bug is very sensitive to allocation order and so won&#39;t crash reliably if started from a menu pick, where the exact timing, movement of the mouse etc can all change object allocation.  With the saved snapshot, however, everything is unchanged except code determined by the date the image is started in, the directory it is started in, etc.  But it is much moire predictable.  Once there&#39;s a reliably crashing image it is easy to check whether a new VM fixes the bug or not.</span></div><div><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px"><br></span></div><div><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Oct 12, 2014 at 7:32 AM, karl ramberg <span dir="ltr">&lt;<a href="mailto:karlramberg@gmail.com" target="_blank">karlramberg@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"> <br><div dir="ltr">The <a href="http://www.mirandabanda.org/files/Cog/VM/VM.r3095/cogspurwin-14.39.3095.zip" target="_blank">cogspurwin-14.39.3095</a> vm crashes when I run <span style="color:rgb(0,0,0)"></span><div><br></div><div>1 to: 50 do:[: i | Browser open]</div><div><br></div><div>Crash dump attached.</div><div><br></div><div>Karl</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Oct 4, 2014 at 2:17 AM, Eliot Miranda <span dir="ltr">&lt;<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"> <br><div dir="ltr">...at <a href="http://www.mirandabanda.org/files/Cog/VM/VM.r3095/" target="_blank">http://www.mirandabanda.org/files/Cog/VM/VM.r3095/</a>.<div><br></div><div><div>CogVM binaries as per VMMaker.oscog-eem.890/r3095<br></div><div><br></div><div>Fix line-buffered input in sqFilePluginBasicPrims.c when buffer size &gt; 1.</div><div>fread cannot be relied upon to answer lines.</div><div><br></div><div>Fix bug in Cogit&gt;&gt;lookup:for:methodAndErrorSelectorInto: which if cogging a</div><div>method found through an MNU would set the cog method&#39;s selector to the original</div><div>selector that was not understood instead of #doesNotUnderstand:.</div><div><br></div><div>Fix the description of the blockonwarn flag (not blockonwarning).</div><div><br></div><div>Spur:</div><div>Fix one-way become for classes with and without copyHash, primarily by fixing</div><div>allInstances.  One-way become for classes causes duplicates in the class table</div><div>(either that or an allInstances scan would be needed as part of the become to</div><div>change instances referring to the deleted class index, which would be slow).</div><div>So allInstances must be able to cope with duplicates.  Hence split it into a</div><div>fast path common case when the class in question is not duplicated, and a slower</div><div>path when it is.  Make both the marking phase of GC and allInstances check for</div><div>and eliminate refereces to duplicate entries at wrong/obsolete class indices.</div><div><br></div><div>Fix markAndShouldScan: to not scan the pun classes of non-objects on the heap</div><div>such as implicit receiver caches and Sista counters.</div><div><br></div><div>Eliminate the classTableBitmap premature optimization.  All the information we</div><div>need is in the cassTable and the class&#39;s hashes therein.</div><div><br></div><div>Change pinObject: to answer 0 on failure and the (possibly moved) object on</div><div>success.  Much easier than having to check and follow forwarding pointer.</div><div>The changes to platforms/Cross/plugins/FilePlugin/sqFilePluginBasicPrims.c</div><div>in r3092 in a Spur MT VM depend on this.</div><span class="HOEnZb"><font color="#888888">-- <br>best,<div>Eliot</div></font></span></div></div></blockquote></div></div></blockquote></div><span class="HOEnZb"><font color="#888888"><div><br></div>-- <br><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px">thanks in advance</span>,<div>Eliot</div>
</font></span></div></div>
</blockquote></div><br></div>