<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2015-03-20 14:36 GMT+01:00 David T. Lewis <span dir="ltr">&lt;<a href="mailto:lewis@mail.msen.com" target="_blank">lewis@mail.msen.com</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Fri, Mar 20, 2015 at 02:05:02PM +0100, Max Leske wrote:<br>
&gt; For those of you that haven???t seen the ???Metacello load error??? conversation between Dale and me, there seems to be a bug in DeflateStream. I???m quoting myself from the other thread:<br>
&gt;<br>
<br>
This sounds familiar, although I don&#39;t have a link to the details. IIRC we<br>
changed something in the image that exposed an existing bug in a primitive,<br>
then fixed that bug. So there were be some combinations of image and VM that<br>
would have a problem.<br>
<br>
I&#39;m sorry I can&#39;t give a better reference right now, but I think it was discussed<br>
on squeak-dev, and the VM fixes may have been added in VMMaker.oscog-eem.826 (Cog)<br>
and VMMaker-dtl.347 (VMM trunk).<br>
<br>
Dave<br>
<br></blockquote><div><br></div><div>If I remember, an inst. var. was added by Eliot in Stream hierarchy and that broke the primitives that were using hardcoded inst. var. offsets.<br></div><div>In newer VM, the primitives have been changed to accomodate for relative offset or something like that.<br></div><div>So a recent VM must be used.<br></div><div><br></div><div>We also had a doubt whether the Smalltalk fallback code was consistent with primitives or not, but I can&#39;t remember the conclusions...<br><br></div><div>Nicolas<br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
&gt; &gt;<br>
&gt; &gt; I&#39;ve figured it out. Your were right, the newest Cog VM doesn??????t exhibit the problem. The problem seems to be the method ZipWriteStream&gt;&gt;deflateBlock:chainLength:goodMatch:. The primitive in that method fails in 4.6 only when I open the 4.6 image with the VM packaged with the 4.5 all-in-one app (&#39;Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.331] 4.5??????). The fallback method generates an error.<br>
&gt; &gt; This is reproducible when using the fallback instead of the primitive with the other VM and a 4.5 image too, so there is definitely something wrong with the Zip implementation. Here??????s a snippet for reproducing the problem:<br>
<span class="">&gt; &gt;<br>
&gt; &gt; ZipWriteStream removeSelector: #deflateBlock:chainLength:goodMatch:.<br>
&gt; &gt;<br>
</span>&gt; &gt; (Installer monticello http: &#39;<a href="http://www.squeaksource.com/MetacelloRepository" target="_blank">http://www.squeaksource.com/MetacelloRepository</a>&#39; &lt;<a href="http://www.squeaksource.com/MetacelloRepository" target="_blank">http://www.squeaksource.com/MetacelloRepository</a>&#39;&gt;)<br>
<span class="">&gt; &gt;     package: &#39;Gofer-Core-lr.115.mcz&#39;;<br>
&gt; &gt;     install.<br>
&gt; &gt;<br>
&gt; &gt; (Smalltalk at: #Gofer) new<br>
</span>&gt; &gt;     url: &#39;<a href="http://seaside.gemstone.com/ss/metacello" target="_blank">http://seaside.gemstone.com/ss/metacello</a>&#39; &lt;<a href="http://seaside.gemstone.com/ss/metacello" target="_blank">http://seaside.gemstone.com/ss/metacello</a>&#39;&gt;;<br>
<div class="HOEnZb"><div class="h5">&gt; &gt;     addPackage: &#39;ConfigurationOfMetacello&#39;;<br>
&gt; &gt;     load<br>
&gt;<br>
&gt;<br>
&gt; Cheers,<br>
&gt; Max<br>
&gt;<br>
<br>
<br>
</div></div></blockquote></div><br></div></div>