[squeak-dev] Project loading broking in trunk since Squeak 5.3 release (was: Etoys help needed loading e.g. CarAndPen.014.pr)

David T. Lewis lewis at mail.msen.com
Tue Sep 15 00:24:36 UTC 2020


I tracked this down a bit further, and the issue began after this change:

   Name: Collections-eem.885
   Author: eem
   Time: 15 April 2020, 4:37:54.800631 pm
   UUID: 45d219d3-6ed0-4401-a820-44eebe21d71a
   Ancestors: Collections-eem.883, Collections-dtl.884
   
   Switch elementsForwardIdentityTo: to not copy the hash, see http://forum.world.st/How-to-become-immediate-objects-td5114931.html.
   Add elementsForwardIdentityAndHashTo: for the old behavior.

I made some updates to image segments to accomodate this change, and
the Etoys project loading works again. Updates are in the inbox in
System-dtl.1171.

@eliot- This needs review because I just made naive updates that seem
to work, but I touched several methods and I'm not sure if it got it
right.

Dave


On Mon, Sep 14, 2020 at 04:45:08PM -0400, David T. Lewis wrote:
> Changing the subject line for follow up.
> 
> We seem to have introduced a bug in project loading somewhere between
> #19537 and #19582 in trunk. Karl has done the initial analysis, see below.
> 
> Dave
> 
> 
> On Mon, Sep 14, 2020 at 07:44:30PM +0200, karl ramberg wrote:
> > So I narrowed it down a little more.
> > In image #19537 I can both Inspect and Explore IdentityDictionary
> > allVarMaps here:
> > 
> > SmartRefStream>>convert2: partiallyCorrectInst allVarMaps: allVarMaps
> > "Go through the normal instance conversion process and return a modern
> > object."
> > 
> > | className varMap |
> > 
> > self flag: #bobconv.
> >       self halt.
> > varMap := allVarMaps at: partiallyCorrectInst.
> > className := varMap at: #ClassName. "original"
> > ^self applyConversionMethodsTo: partiallyCorrectInst className: className
> > varMap: varMap.
> > 
> > 
> > In image 19582 it is broken. I can Inspect  allVarMaps   but Explore i give
> > error 'Key not found:'
> > 
> > So that is between 13 of mars and 16 of april 2020.
> > 
> > 
> > 
> > 
> > Best,
> > Karl
> > 
> > 
> > 
> > 
> > On Mon, Sep 14, 2020 at 6:44 PM karl ramberg <karlramberg at gmail.com> wrote:
> > 
> > > There is some change that broke project loading.
> > > I can load  CarAndPen.014.pr in image update:  #19422
> > > In  #19616 I get the "Key not found:" error from IdentityDictionary
> > >
> > > Best,
> > > Karl
> > >
> > >
> > >
> > > On Mon, Sep 14, 2020 at 5:31 PM karl ramberg <karlramberg at gmail.com>
> > > wrote:
> > >
> > >> While looking at this error I found another issue I think is a bug.
> > >> I can't explore IndentityDictionary but I can inspect it.
> > >>
> > >> [image: bild.png]
> > >>
> > >> [image: bild.png]
> > >> Best,
> > >> Karl
> > >>
> > >> On Mon, Sep 14, 2020 at 5:01 PM David T. Lewis <lewis at mail.msen.com>
> > >> wrote:
> > >>
> > >>> On Mon, Sep 14, 2020 at 01:45:39PM +0200, Tobias Pape wrote:
> > >>> >
> > >>> > > On 14.09.2020, at 13:36, Thiede, Christoph <
> > >>> Christoph.Thiede at student.hpi.uni-potsdam.de> wrote:
> > >>> > >
> > >>> > > I tested this in a fresh trunk image before deleting any binding.
> > >>> >
> > >>> > ah, well,
> > >>> > But it doesn't find it's world, either way :D
> > >>> > -t
> > >>> >
> > >>>
> > >>> I see very different errors when I try to load an old Etoys project. I do
> > >>> not know why, and I don't have time to debug it. That is why I am hoping
> > >>> that
> > >>> someone (Karl perhaps) has a trunk-level image that *can* load old
> > >>> projects.
> > >>>
> > >>> If so, then my question is: What sort of errors or failure do you
> > >>> actually
> > >>> see when you load one of those projects after "Smalltalk removeKey:
> > >>> #World"?
> > >>>
> > >>> It may or may not be a problem that needs to be fixed. It is hard to know
> > >>> without actually seeing the problem.
> > >>>
> > >>> Dave
> > >>>
> > >>>
> > >>>
> > >>>
> 
> 
> 
> 
> > 
> 
> 


More information about the Squeak-dev mailing list