[Glass] SIXX load conflict

Dale Henrichs via Glass glass at lists.gemtalksystems.com
Fri Mar 6 12:32:34 PST 2015


On 03/06/2015 11:49 AM, Dario Trussardi via Glass wrote:
> Dale,
>
>>
>> On 03/06/2015 02:19 AM, Dario Trussardi via Glass wrote:
>>> Dale,
>>>
>>>> Dario,
>>>>
>>>> I did a fresh createTodeStone using the latest gsDevKitHome release 
>>>> (SHA: 8fdc73fb176cf7e0ce33ad7d21eb448ba94ef5a6) and running the 
>>>> GsUpgrader-Core load multiple times does not run out of memory ..
>>>
>>> I do test in a new clean tODE stone.   All works fine without error.
>>>
>>> In the stone where the system erase the out of memory error   i loaded :
>>>
>>> GsDeployer bulkMigrate: [ {#('Seaside3' '3.0.13' 
>>> 'http://smalltalkhub.com/mc/Seaside/MetacelloConfigurations/main' 
>>> <http://smalltalkhub.com/mc/Seaside/MetacelloConfigurations/main%27>). 
>>> #('ZincHTTPComponents' '1.1' 
>>> 'http://www.squeaksource.com/ZincHTTPComponents' 
>>> <http://www.squeaksource.com/ZincHTTPComponents%27>). #('Magritte3' 
>>> '3.0' 'http://www.squeaksource.com/MetacelloRepository' 
>>> <http://www.squeaksource.com/MetacelloRepository%27>). 
>>> #('Magritte3AddOns' '3.0.0' 
>>> 'http://www.squeaksource.com/MetacelloRepository' 
>>> <http://www.squeaksource.com/MetacelloRepository%27>). #('Pier3' 
>>> '3.0.0' 'http://www.squeaksource.com/MetacelloRepository' 
>>> <http://www.squeaksource.com/MetacelloRepository%27>). 
>>> #('Pier3AddOns' '3.0.3' 
>>> 'http://www.squeaksource.com/MetacelloRepository' 
>>> <http://www.squeaksource.com/MetacelloRepository%27>)} do: [ :ar |
>>
>> So Dario, I want to START here ... please supply the full load 
>> statement that you are using ... you have cut off this expression so 
>> I cannot see how you  are actually doing the load .... When I asked 
>> you to "add" the following:
>>
>>   #( 'XMLSupport' '1.2.2' 
>> 'http://seaside.gemtalksystems.com/ss/MetacelloRepository')
>
Okay ... you probably should load XMLSupport 1.2.2 first, since I think 
that TopFeeder will bring in the troublesome version of XMLParser ...
> GsDeployer
>   bulkMigrate: [
>     {#('Seaside3' '3.0.13' 
> 'http://smalltalkhub.com/mc/Seaside/MetacelloConfigurations/main' 
> <http://smalltalkhub.com/mc/Seaside/MetacelloConfigurations/main%27>).
>     #('ZincHTTPComponents' '1.1' 
> 'http://www.squeaksource.com/ZincHTTPComponents' 
> <http://www.squeaksource.com/ZincHTTPComponents%27>).
>     #('Magritte3' '3.0' 
> 'http://www.squeaksource.com/MetacelloRepository' 
> <http://www.squeaksource.com/MetacelloRepository%27>).
>     #('Magritte3AddOns' '3.0.0' 
> 'http://www.squeaksource.com/MetacelloRepository' 
> <http://www.squeaksource.com/MetacelloRepository%27>).
>     #('Pier3' '3.0.0' 
> 'http://www.squeaksource.com/MetacelloRepository' 
> <http://www.squeaksource.com/MetacelloRepository%27>).
>     #('Pier3AddOns' '3.0.3' 
> 'http://www.squeaksource.com/MetacelloRepository' 
> <http://www.squeaksource.com/MetacelloRepository%27>).
> #( 'XMLSupport' '1.2.2' 
> 'http://seaside.gemtalksystems.com/ss/MetacelloRepository' 
> <http://seaside.gemtalksystems.com/ss/MetacelloRepository%27>)}
>       do: [ :ar |
>         | projectName version repository |
>         projectName := ar at: 1.
>         version := ar at: 2.
>         repository := ar at: 3.
>         Metacello new
>           configuration: projectName;
>           repository: repository;
>           get.
>         Metacello new
>           configuration: projectName;
>           version: version;
>           repository: repository;
>           onUpgrade: [ :ex :existing :new |
>                 existing locked
>                   ifTrue: [ ex disallow ]
>                   ifFalse: [ ex allow ] ];
>           onConflict: [ :ex | ex disallow ];
>           load.
>         Metacello new
>           configuration: projectName;
>           version: version;
>           repository: repository;
>           lock ] ]
>
> It work fine in a new tODE stone  ( N.B.  i add the #( 'XMLSupport' 
> '1.2.2' 'http://seaside.gemtalksystems.com/ss/MetacelloRepository' 
> <http://seaside.gemtalksystems.com/ss/MetacelloRepository%27>) )

If you notice, the last Metacello expression is using the `lock` command 
... The `lock` ensures that no matter what version may be specified for 
a project  in a configuration, the `locked` version of the project will 
always be loaded ...  this is very useful when the #stable version of 
projects is changed out from under you ...
>
> After i do:
>
> GsDeployer bulkMigrate: [
>   Metacello new
>       baseline: 'SIXX';
>       repository: 'github://glassdb/SIXX:master/repository' 
> <github://glassdb/SIXX:master/repository%27>;
>       load ].
>
> SixxExamples example2 also work fine.
I am still suspicious about having XMLSupport loaded last ... I think 
that you should change your script to load it first, then you'll ensure 
that a later version isn't loaded ...
>
> Thanks.
>
> I submit the all same commands into a tODE stone where i found SIXX error.
>
> On it when i do: SixxExamples example2
>
> the system go into error :
>
> nextWhitespace | nextChar | writeBuffer reset. [(nextChar := self 
> peek) notNil and: [SeparatorCharacters includes: nextChar]] whileTrue: 
> [writeBuffer nextPut: self next]. ^ writeBuffer stringContents.
>
> where SeparatorCharacters is not defined .
I don't know for certain, but this problem is probably due to the fact 
that XMLSupport wasn't loaded earlier in the process ... I think there 
are some pretty significant changes when XMLParser gets loaded, so I 
wouldn't trust a stone that was built without first loading and locking 
XMLSupport 1.2.2 ...
>
> I can work with new tODE stone if it is complicate solving this.
That's probably a good idea ...
>
> Question :
>
> a) for remove a tODE stone is sufficient  remove the relative   ..... 
> /stones/ xyz  directory ?
Yes. Make sure that you've shutdown the stone and the netldi and you can 
simply remove the $GS_HOME/gemstone/stones/<stone-name> directory and 
all of the stone-related stuff will be removed ...
>
> b) for my first deploy environment i refer to the latest  gsDevKit 
> release.  it's good
>

I don't think that there have been many substantive changes in the 
gsDevKitHome structure, but it is always good to use a recent version ...

Right now I am in the process of preparing a new release of gsDevKitHome 
and part of the prep has been to tag the "most recent" master as version 
0.0.1 (a 0.0.2 is planned) .... then when I do the NEW release it will 
be version 1.0.0 and will have some significant changes to project 
structure and the createStone scripts and installTode scripts will work 
a bit differently with the new version of tODE.

To use 1.0.0 will take a small amount amount of conversion work, but 
nonetheless I will plan on maintaining 0.0.1 for folks who don't want to 
move to 1.0.0 until they are good and ready ....

Dale
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/private/glass/attachments/20150306/a43a2e1a/attachment.html>


More information about the Glass mailing list