<br><br>On Mon, Mar 11, 2013 at 4:40 PM, Nicolas Cellier &lt;<a href="mailto:nicolas.cellier.aka.nice@gmail.com">nicolas.cellier.aka.nice@gmail.com</a>&gt; wrote:<br>&gt; 2013/3/12 Eliot Miranda &lt;<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>&gt;:<br>
&gt;&gt; On Mon, Mar 11, 2013 at 4:26 PM, Frank Shearar &lt;<a href="mailto:frank.shearar@gmail.com">frank.shearar@gmail.com</a>&gt; wrote:<br>&gt;&gt;&gt; On 11 March 2013 23:12, Eliot Miranda &lt;<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt; On Sun, Mar 10, 2013 at 12:10 PM, Nicolas Cellier<br>&gt;&gt;&gt;&gt; &lt;<a href="mailto:nicolas.cellier.aka.nice@gmail.com">nicolas.cellier.aka.nice@gmail.com</a>&gt; wrote:<br>&gt;&gt;&gt;&gt;&gt; OK, see the VM thread, I now think that problems does not come from<br>
&gt;&gt;&gt;&gt;&gt; COG, but from ClassBuilder which in some cases fail to clean a cache<br>&gt;&gt;&gt;&gt;&gt; (primitive 116).<br>&gt;&gt;&gt;&gt;&gt; The problem does not show up in interpreter VM thanks to primitive 119<br>
&gt;&gt;&gt;&gt;&gt; (this primitives does not unlink send in cogit).<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt; it does unlink sends, but only for that selector.  But is it really<br>&gt;&gt;&gt;&gt; the case that it is a missing cache flush or is it a bug in Cog with<br>
&gt;&gt;&gt;&gt; its cache flushing?  I realised the way to test this is to try the<br>&gt;&gt;&gt;&gt; Stack VM and see if it crashes or not.  I just tried that but now<br>&gt;&gt;&gt;&gt; neither Cog nor the Stack VM crash although both fail the load with an<br>
&gt;&gt;&gt;&gt; MNU of #do: to UndefinedObject in Environment&gt;&gt;bindingOf:ifAbsent:.<br>&gt;&gt;&gt;&gt; So how do I get the system back to a state where I can reproduce the<br>&gt;&gt;&gt;&gt; Cog crash to compare the Stack and Cog VMs with each other?<br>
&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt; (Apologies for being unresponsive; I&#39;ve just moved into a new<br>&gt;&gt;&gt;&gt; apartment and only got my internet connection yesterday afternoon; at<br>&gt;&gt;&gt;&gt; least its fast (for the states) :) ).<br>
&gt;&gt;&gt;<br>&gt;&gt;&gt; I&#39;m reasonably sure that this guy -<br>&gt;&gt;&gt; <a href="http://build.squeak.org/job/SqueakTrunk/208/">http://build.squeak.org/job/SqueakTrunk/208/</a> - has images that are<br>&gt;&gt;&gt; pre-latest-Environments code. That&#39;s #12519 at any rate.<br>
&gt;&gt;<br>&gt;&gt; That&#39;s not the problem.  I have an image that crashed last week.  I<br>&gt;&gt; need a way of not applying all the updates.  Bert&#39;s version worked to<br>&gt;&gt; exclude some updates but others are creeping in. Time is limited so I<br>
&gt;&gt; hoped for a quick fix :(<br>&gt;<br>&gt; We could craft a special mixture of package in an update map and put<br>&gt; it in inbox for example.<br>&gt; But which packages exactly ?<br>&gt; What do you want to test ?<br>
<br>The state that causes Cog to hard crash by reading off the end of the Parser instance because the old version of <span class="Apple-style-span" style="border-collapse:collapse;font-family:arial,sans-serif;font-size:14px">Parser&gt;&gt;parse:cue:noPattern:ifFail: on the stack uses the pre-reshape inst var offsets.</span><br>
<br><br>See Bert&#39;s message:  Filtering out updates &gt; 222 used to ensure the crash.<br><br><blockquote class="webkit-indent-blockquote" style="margin:0 0 0 40px;border:none;padding:0px">On Tue, Feb 26, 2013 at 11:44 AM, Bert Freudenberg &lt;<a href="mailto:bert@freudenbergs.de">bert@freudenbergs.de</a>&gt; wrote:<br>
* I downloaded Squeak4.4-12327.zip from <a href="http://ftp.squeak.org/current_stable/">http://ftp.squeak.org/current_stable/</a><br>* in preferences, change Update URL to trunk<br>* load updates<br>* Cog crashes (last log entry is Compiler-nice.256)<br>
* Interpreter does not crash<br>This is on Mac with current Cog 4.0.2692.<br>Phhh, is there any way to load a specific update?  What&#39;s the update number/id?  Of course I&#39;m too late to this party to debug the VM crash :(<br>
Before updating, in MCMcmUpdater class&gt;&gt;updateListFor: insert this before the return:<br>        updateList := updateList reject: [:ea | ea key &gt; 222].</blockquote><br>&gt;<br>&gt; Nicolas<br>&gt;<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; frank<br>
&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt; I have attempted a ClassBuilder fix and posted new updates from<br>&gt;&gt;&gt;&gt;&gt; nice-222 to cwp-227.<br>&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt; Can I please ask our testers contribution once again?<br>
&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt; Nicolas<br>&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt; 2013/3/8 Nicolas Cellier &lt;<a href="mailto:nicolas.cellier.aka.nice@gmail.com">nicolas.cellier.aka.nice@gmail.com</a>&gt;:<br>
&gt;&gt;&gt;&gt;&gt;&gt; 2013/3/8 Bert Freudenberg &lt;<a href="mailto:bert@freudenbergs.de">bert@freudenbergs.de</a>&gt;:<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt; On 2013-03-08, at 10:55, Frank Shearar &lt;<a href="mailto:frank.shearar@gmail.com">frank.shearar@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; On 7 March 2013 23:25, Frank Shearar &lt;<a href="mailto:frank.shearar@gmail.com">frank.shearar@gmail.com</a>&gt; wrote:<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; On 7 March 2013 23:11, Bert Freudenberg &lt;<a href="mailto:bert@freudenbergs.de">bert@freudenbergs.de</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; On 2013-03-07, at 23:42, Frank Shearar &lt;<a href="mailto:frank.shearar@gmail.com">frank.shearar@gmail.com</a>&gt; wrote:<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; On 6 March 2013 15:59, Ken G. Brown &lt;<a href="mailto:kbrown@mac.com">kbrown@mac.com</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Running on COG 2397, and after updating fresh Squeak4.4-12327 Release to<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; 12332, updating to Trunk  fails at first attempt in the same place, then by<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; abandoning and trying the update again, it apparently completes to 12511.<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;  Ken G. Brown<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; With COG 2678, pretty well the same. First attempt it timed out during<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; the same update-nice-223, then trying again from what had already been<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; loaded, got the following during the same update, during compiling<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; SMLoader-fbs-78 as before:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; What I find strange about all this is that we take a 4.4-12327 image<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; and whatever the latest Cog is and update it all the way without any<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; probems quite a few times a day on the CI server.<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; frank<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Looks like it&#39;s an intermittent problem, unfortunately:<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; I just updated the new all-in-one-cog to latest trunk, no problem. This is a 4.4-12327 image with Cog VM 2697.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; I then tried what Ken described: update the fresh image first from the squeak44 stream, then switch to trunk, then update again.<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; BOOM. Cog crash. Didn&#39;t save the log unfortunately.<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Tried again. Update, switch to trunk, update again. No crash. What?!<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Once more. Update, switch to trunk, update. Crash! See below.<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Tried yet again, with switching to trunk immediately in a fresh image. Crashes, too, same place.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; So it does crash, just not always. But it&#39;s been more than 50% in my case.<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Ah, interesting. The CI jobs, naturally, don&#39;t update from squeak44;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; they switch to trunk and update just like that. Which I would have<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; thought would make no difference...<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Actually, I lie. Here&#39;s an example of the CI jobs hitting the same<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; issue: <a href="http://build.squeak.org/job/SqueakTrunk/204/console">http://build.squeak.org/job/SqueakTrunk/204/console</a> And further<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; if you look at <a href="http://build.squeak.org/job/SqueakTrunk/">http://build.squeak.org/job/SqueakTrunk/</a> and choose to<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; see the failing tests you&#39;ll see times (say around build #184) where<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; the test failure count is unusually low. And<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; <a href="http://build.squeak.org/job/SqueakTrunk/buildTimeTrend">http://build.squeak.org/job/SqueakTrunk/buildTimeTrend</a> shows grey<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; streaks where builds die.<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt; Curious that it still runs the tests at all if the update failed ...<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; So Cog crashes, but has someone tried to replicate this on an interpreter?<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt; - Bert -<br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; I think that the problem comes form COG which tries to use an obsolete<br>&gt;&gt;&gt;&gt;&gt;&gt; method sent AFTER the recompilation of Parser which is not the<br>&gt;&gt;&gt;&gt;&gt;&gt; expected behavior.<br>
&gt;&gt;&gt;&gt;&gt;&gt; I have triggered such kind of strange behavior that does not happen on<br>&gt;&gt;&gt;&gt;&gt;&gt; an Interpreter VM, see the thread opened by Jeff Gonis &#39;[Vm-dev] Cog<br>&gt;&gt;&gt;&gt;&gt;&gt; VM Crash on Windows&#39;<br>
&gt;&gt;&gt;&gt;&gt;&gt; For me, it must be related to a cache that is not cleaned-up, I don&#39;t know why.<br>&gt;&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt;&gt; Nicolas<br>&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt; --<br>&gt;&gt;&gt;&gt; best,<br>&gt;&gt;&gt;&gt; Eliot<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; --<br>&gt;&gt; best,<br>&gt;&gt; Eliot<br>&gt;&gt;<br>
&gt;<br><br><br><br>-- <br>best,<br>Eliot<br>