<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"><<a href="mailto:lewis@mail.msen.com" target="_blank">lewis@mail.msen.com</a>></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>
> 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>
><br>
<br>
This sounds familiar, although I don'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'm sorry I can'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'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>
> ><br>
> > I've figured it out. Your were right, the newest Cog VM doesn??????t exhibit the problem. The problem seems to be the method ZipWriteStream>>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 ('Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.331] 4.5??????). The fallback method generates an error.<br>
> > 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="">> ><br>
> > ZipWriteStream removeSelector: #deflateBlock:chainLength:goodMatch:.<br>
> ><br>
</span>> > (Installer monticello http: '<a href="http://www.squeaksource.com/MetacelloRepository" target="_blank">http://www.squeaksource.com/MetacelloRepository</a>' <<a href="http://www.squeaksource.com/MetacelloRepository" target="_blank">http://www.squeaksource.com/MetacelloRepository</a>'>)<br>
<span class="">> > package: 'Gofer-Core-lr.115.mcz';<br>
> > install.<br>
> ><br>
> > (Smalltalk at: #Gofer) new<br>
</span>> > url: '<a href="http://seaside.gemstone.com/ss/metacello" target="_blank">http://seaside.gemstone.com/ss/metacello</a>' <<a href="http://seaside.gemstone.com/ss/metacello" target="_blank">http://seaside.gemstone.com/ss/metacello</a>'>;<br>
<div class="HOEnZb"><div class="h5">> > addPackage: 'ConfigurationOfMetacello';<br>
> > load<br>
><br>
><br>
> Cheers,<br>
> Max<br>
><br>
<br>
<br>
</div></div></blockquote></div><br></div></div>