[V3dot10] Report testing MinimalKernel - MNU when Opening Monticello. Later error loading SquekmapPackageLoader

Milan Zimmermann milan.zimmermann at sympatico.ca
Wed Mar 14 19:05:57 UTC 2007


Hi Pavel,

First sorry for the late reply here, i have been away for a week, and spent 
the rest (barely) catching up ... 

Thanks for your comments, a few notes inline.

On 2007 March 4 01:23, Pavel Krivanek wrote:
> Hi Milan,
>
> On 3/4/07, Milan Zimmermann <milan.zimmermann at sympatico.ca> wrote:
> > Hi,
> >
> > I have tried the following steps:
> >
> > 1) Downloaded KernelImageMC.20070226.zip from
> > http://comtalk.net/public/pub/KernelImage/
> >
> > 2) Started the above image in 3.9 VM, and typed in:
> > ((MCHttpRepository location: 'http://squeaksource.com/KernelImage'user:
> > '' password: '')
> > loadVersionFromFileNamed:'MinimalMorphicLoader-pk.24.mcz') load. (one
> > line)
> > MinimalMorphicLoader load.
> >
> > This got me into the Squeak world
> >
> > 3) Saved and Quit
> >
> > 4) Restarted
> >
> > 5) clicked Open->Monticello Browser
> >
> >         ##Got a MessageNotUnderstood: DisplayText>>privForegroundColor
> >
> > Is this expected?
> >
> > If I abandon, Monticello does open. It is also interesting, when I quit
> > after that, and open monticello again, I do not get the MNU again....but
> > after a while I did again. Abandoning seems to have worked ok.
>
> This kind of initial errors is quite common but of course not welcome.
> I have just solved some of them. So if you will see that, you may try
> to find a solution. One iffy problem is with the LRUCache.

OK, I will try again with latest version. If I see a problem like this, I will 
at least try to understand what causes it, or try to fix.

>
> > 6) Then I added this repository:
> >
> > MCHttpRepository
> >                 location: 'http://squeaksource.com/KernelImage'
> >                 user: ''
> >                 password: ''
> >
> > 7) Then I loaded EToysLoader-pk.10.mcz
> >
> > Loaded ok
> >
> > 8)  Then, trying to Open->SqueakMapPackageLoader, I get a MNU:
> >
> >         UndefinedObject>>select
>
> I looked at it and "SMSqueakMap bootStrap" solves it but we have to
> find a better solution.

Does this need to run before opening the SqueakMapPackageLoader..

>
> > 9) I loaded and tried my (simple) eToysTests here:
> >
> > http://www.squeaksource.com/eToysTests.html
> >
> > and they worked on the build image. They are simple, but still, this is
> > great that the built image passes them.
>
> Great, what about MinimalMoprhic system?

After having loaded both Minimal Morphic and eToys, I ran Morphic tests that 
are available (they are in categories such as EToys-MorphicTests-AAA where 
AAA=Basic, Kernel, etc). When running them, I get a question:

Which sound service would you prefer? Answering "Basic" the test continues.

There are 3 failures:
	PasteUpMorphtest
	SimpleSwitchMorphtest
	TextMorphTest
I will try in the latest version and look into the details of why. This is on 
the version about 10 days old, so the failures could have changed.

>
> > Apart from finishing and adding more eToys tests that I plan, time
> > permiting I'd like to help some with 3.10, but not sure where to start. I
> > guess first step is for me to ask whether the MNU in Step 5 and 8 are
> > expected. Also, I assume one thing would be to get rid of any overrides
> > that might be in MorpicLoader or eToysLoader, are there any?
>
> There's very simple test how to see the overrides. Firstly you have to
>
> evaluate this code:
> | sources  |
>
> sources := Dictionary new.
> Smalltalk allClassesAndTraits do: [:c |
>
>        | methods |
>
>        methods := sources at: c name put: Dictionary new.
>        c selectors do: [:sel |
>                methods at: sel put: {(c sourceCodeAt: sel) asString. c
> organization categoryOfElement: sel} ].
>        c isTrait ifFalse: [
>                methods := sources at: c class name put: Dictionary new.
>                c class selectors do: [:sel |
>                        methods at: sel put: {(c class sourceCodeAt:
> sel) asString. c class organization categoryOfElement: sel} ]]].
>
> Smalltalk at: #OldSources put: sources.
>
>
> then load the package, open transcript and evaluate this one:

Pavel, do you mean "load the mcz which I want to test for overrides?"

>
>
> OldSources keysAndValuesDo: [:class :methods |
>        methods keysAndValuesDo: [:sel :source |
>
> 		| newSource newCategory |
>
> 		newSource := ((Compiler evaluate: class) sourceCodeAt: sel) asString.
> 		newCategory := (Compiler evaluate: class) organization categoryOfElement:
> sel. ((newSource = source first) and: [newCategory = source second])
> ifFalse: [ Transcript show: class; show: ' >> ', sel; cr ]]].

Let me understand what this means: It sounds like in the Monticello world, 
an "override" is a method that exists in the MCZ that we loaded (between 
evaluating the first and second code), and the method modified it's 
methodCategory after being loaded from the MCZ (sort of "stole" the 
methodCategory from what it was in the old code) - is that a correct 
understanding? Thanks.

I will run this all over with your latest versions,

Milan

>
> this is list of overrides of MinimalMorphic:
> http://www.comtalk.net/Squeak/102
>
> Cheers,
> -- Pavel
>
> > Milan
> >
> > _______________________________________________
> > V3dot10 mailing list
> > V3dot10 at lists.squeakfoundation.org
> > http://lists.squeakfoundation.org/mailman/listinfo/v3dot10
>
> _______________________________________________
> V3dot10 mailing list
> V3dot10 at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/v3dot10


More information about the V3dot10 mailing list