<br><br><div class="gmail_quote">On Wed, Feb 27, 2013 at 8:47 AM, Igor Stasenko <span dir="ltr">&lt;<a href="mailto:siguctua@gmail.com" target="_blank">siguctua@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 class="im"><br>
On 26 February 2013 19:20, Eliot Miranda &lt;<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Tue, Feb 26, 2013 at 4:13 AM, Igor Stasenko &lt;<a href="mailto:siguctua@gmail.com">siguctua@gmail.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; we should reafctor the code for changing the method&#39;s trailer (source<br>
&gt;&gt; pointer) to<br>
&gt;&gt; avoid using #become: at all.<br>
&gt;&gt; this won&#39;t deal with VM bug per se, but at least prevent it from triggering.<br>
&gt;<br>
&gt;<br>
&gt; No, that makes little sense.  Instead provide me with a reproducible case and I&#39;ll fix it quickly.  I fixed the case form last week in one day.  Become: should work, but I can&#39;t fix things if I can&#39;t reproduce the bugs.  So please take the time to produce an image that crashes from start-up.<br>

&gt;<br>
<br>
</div>well, i didn&#39;t said that we should not look for a way how to ditch that issue.<br>
but we have little problem with it: it is very hard to reproduce.<br>
<br>
look from another angle: if things will get stable by not using become, then:<br>
 a) we can release new version of pharo earlier<br>
 b) it narrows down the field of search for bug<br>
<br>
but sure thing, i am with you, and even more..<br>
for things like that we should find a way to write a deterministic<br>
test case which fails / crashes on old VMs<br>
and works on fixed ones..<br>
because without such tests, it leaves a lot of uncertainty, like: did<br>
your latest fixes to become actually fixed anything?<br>
 or they introduced yet another regression?<br></blockquote><div><br></div><div>Here&#39;s the way I try to reproduce bugs.  Once I have a doit that reproduces the case I prefix it with Smalltalk saveAs: &#39;crash&#39;, copy the new crash.changes file to crash.changes.save, and run the doit.</div>
<div><br></div><div>Then I overwrite the changes file with the copy, cp crash.changes.save crash.changes to get a consistent starting point, and run crash.image.</div><div><br></div><div>For example, yesterday Bert Freudenberg found a VM crash loading a particular update fo the compiler (turns out not to be a VM bug).  The updateListFor: method was modified to reject newer updates than the one that caused the crash. Then I executed</div>
<div><br></div><div>Smalltalk saveAs: &#39;crash&#39;.</div><div>Utilities updateFromServer</div><div><br></div><div>and got a consistently reproducible case.</div><div><br></div><div>Now one can run the debug or assert VMs against the crash to debug.  In my experience trying to understand complex VM bugs in cases where one tries to interact with the image using the mouse and keyboard is often fruitless.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5"><br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On 25 February 2013 23:26, Esteban Lorenzano &lt;<a href="mailto:estebanlm@gmail.com">estebanlm@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt; he is talking about some chrashes that happens fast, when you do become :)<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; nothing about &quot;fast become&quot;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; On Feb 25, 2013, at 10:26 PM, Mariano Martinez Peck &lt;<a href="mailto:marianopeck@gmail.com">marianopeck@gmail.com</a>&gt;<br>
&gt;&gt; &gt; wrote:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; mmm what do you mean by &quot;fast becomeForward:&quot; ?<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; On Mon, Feb 25, 2013 at 1:01 PM, Camillo Bruni &lt;<a href="mailto:camillobruni@gmail.com">camillobruni@gmail.com</a>&gt;<br>
&gt;&gt; &gt; wrote:<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; While setting up the new multi platform VM tests I saw that the tests fail<br>
&gt;&gt; &gt;&gt; extremely quickly<br>
&gt;&gt; &gt;&gt; when there are not PharoV10.sources available.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; It is still our know #becomeForward: but on CompiledMethods, but I just<br>
&gt;&gt; &gt;&gt; want to share that.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; --<br>
&gt;&gt; &gt; Mariano<br>
&gt;&gt; &gt; <a href="http://marianopeck.wordpress.com" target="_blank">http://marianopeck.wordpress.com</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; Best regards,<br>
&gt;&gt; Igor Stasenko.<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; best,<br>
&gt; Eliot<br>
&gt;<br>
<br>
<br>
<br>
--<br>
Best regards,<br>
Igor Stasenko.<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>best,<div>Eliot</div>