Re: [Pharo-users] Roassal2 in recent Pharo 7 causes DNU #asTraitComposition

2017-10-17 Thread Alistair Grant
Hi Andrei,

On Tue, Oct 17, 2017 at 01:58:22PM +0200, Andrei Chis wrote:
> 
> 
> On Tue, Oct 17, 2017 at 1:04 PM, Alistair Grant  wrote:
> 
> On Tue, Oct 17, 2017 at 09:33:39AM +, Alistair Grant wrote:
> > On Tue, Oct 17, 2017 at 06:28:05AM +, Alistair Grant wrote:
> > > Hi All,
> > >
> > > I'm attempting to load Roassal2 in to Pharo7 and am getting:
> > >
> > > UndefinedObject(Object)>>doesNotUnderstand: #asTraitComposition
> > >
> > >
> > > It can be reproduced in a clean Pharo7 image, e.g.
> > > Pharo7.0-32bit-d1b0e3e.image (downloaded 16 Oct 2017), and executing:
> > >
> > > Gofer it
> > > smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';
> > > configurationOf: 'Roassal2';
> > > loadStable.
> > >
> > >
> > > OS: Ubuntu 16.04.
> > >
> > > I last rebuilt my image on 3 October without any problems.
> > >
> > > Any suggestions?  I suspect the combination of Monticello and Traits
> > > will take me quite a while to figure out.
> >
> > This could simply be an ordering issue, i.e. maybe Monticello /
> > Metacello needs to ensure that the traits are loaded before the classes.
> >
> > Presumably at some point during the load there is a list of classes that
> > are going to be loaded.  If someone can point me to the correct location
> > it will save some time tracking it down.
> 
> OK, it looks like Roassal has gone through quite a bit of development in
> the last couple of months, and that TGTExampleIcon is simply missing
> from the repository
> (https://github.com/feenkcom/gtoolkit-examples/tree/master/src/
> GToolkit-Examples.package,
> I hope) but is still referenced somewhere.
> 
> Using ConfigurationOfRoassal2-AlexandreBergel.111 (the version I loaded
> on 3 Oct) loads successfully, while
> ConfigurationOfRoassal2-AlexandreBergel.114 fails as described above.
> 
> 
> I added for now the trait back. Can you check that the loading works?
> 
> But better would be to release a new stable version of roassal that links with
> the new version of gtexamples, or update the current version of roassal to 
> load
> the gtexample version before the change.
> 
> @Alexandre I can make a new stable version with the current version of roassal
> + gt examples
> 
> Cheers,
> Andrei

Yes, that loads successfully now, thanks!

Cheers,
Alistair




Re: [Pharo-users] Roassal2 in recent Pharo 7 causes DNU #asTraitComposition

2017-10-17 Thread Andrei Chis
On Tue, Oct 17, 2017 at 1:04 PM, Alistair Grant 
wrote:

> On Tue, Oct 17, 2017 at 09:33:39AM +, Alistair Grant wrote:
> > On Tue, Oct 17, 2017 at 06:28:05AM +, Alistair Grant wrote:
> > > Hi All,
> > >
> > > I'm attempting to load Roassal2 in to Pharo7 and am getting:
> > >
> > > UndefinedObject(Object)>>doesNotUnderstand: #asTraitComposition
> > >
> > >
> > > It can be reproduced in a clean Pharo7 image, e.g.
> > > Pharo7.0-32bit-d1b0e3e.image (downloaded 16 Oct 2017), and executing:
> > >
> > > Gofer it
> > > smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';
> > > configurationOf: 'Roassal2';
> > > loadStable.
> > >
> > >
> > > OS: Ubuntu 16.04.
> > >
> > > I last rebuilt my image on 3 October without any problems.
> > >
> > > Any suggestions?  I suspect the combination of Monticello and Traits
> > > will take me quite a while to figure out.
> >
> > This could simply be an ordering issue, i.e. maybe Monticello /
> > Metacello needs to ensure that the traits are loaded before the classes.
> >
> > Presumably at some point during the load there is a list of classes that
> > are going to be loaded.  If someone can point me to the correct location
> > it will save some time tracking it down.
>
> OK, it looks like Roassal has gone through quite a bit of development in
> the last couple of months, and that TGTExampleIcon is simply missing
> from the repository
> (https://github.com/feenkcom/gtoolkit-examples/tree/master/
> src/GToolkit-Examples.package,
> I hope) but is still referenced somewhere.
>
> Using ConfigurationOfRoassal2-AlexandreBergel.111 (the version I loaded
> on 3 Oct) loads successfully, while
> ConfigurationOfRoassal2-AlexandreBergel.114 fails as described above.
>

I added for now the trait back. Can you check that the loading works?

But better would be to release a new stable version of roassal that links
with the new version of gtexamples, or update the current version of
roassal to load the gtexample version before the change.

@Alexandre I can make a new stable version with the current version of
roassal + gt examples

Cheers,
Andrei



>
> Cheers,
> Alistair
>
>
>


Re: [Pharo-users] Roassal2 in recent Pharo 7 causes DNU #asTraitComposition

2017-10-17 Thread Alistair Grant
On Tue, Oct 17, 2017 at 09:33:39AM +, Alistair Grant wrote:
> On Tue, Oct 17, 2017 at 06:28:05AM +, Alistair Grant wrote:
> > Hi All,
> > 
> > I'm attempting to load Roassal2 in to Pharo7 and am getting:
> > 
> > UndefinedObject(Object)>>doesNotUnderstand: #asTraitComposition
> > 
> > 
> > It can be reproduced in a clean Pharo7 image, e.g.
> > Pharo7.0-32bit-d1b0e3e.image (downloaded 16 Oct 2017), and executing:
> > 
> > Gofer it
> > smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';
> > configurationOf: 'Roassal2';
> > loadStable.
> > 
> > 
> > OS: Ubuntu 16.04.
> > 
> > I last rebuilt my image on 3 October without any problems.
> > 
> > Any suggestions?  I suspect the combination of Monticello and Traits
> > will take me quite a while to figure out.
> 
> This could simply be an ordering issue, i.e. maybe Monticello /
> Metacello needs to ensure that the traits are loaded before the classes.
> 
> Presumably at some point during the load there is a list of classes that
> are going to be loaded.  If someone can point me to the correct location
> it will save some time tracking it down.

OK, it looks like Roassal has gone through quite a bit of development in
the last couple of months, and that TGTExampleIcon is simply missing
from the repository
(https://github.com/feenkcom/gtoolkit-examples/tree/master/src/GToolkit-Examples.package,
I hope) but is still referenced somewhere.

Using ConfigurationOfRoassal2-AlexandreBergel.111 (the version I loaded
on 3 Oct) loads successfully, while
ConfigurationOfRoassal2-AlexandreBergel.114 fails as described above.

Cheers,
Alistair




Re: [Pharo-users] Roassal2 in recent Pharo 7 causes DNU #asTraitComposition

2017-10-17 Thread Alistair Grant
On Tue, Oct 17, 2017 at 06:28:05AM +, Alistair Grant wrote:
> Hi All,
> 
> I'm attempting to load Roassal2 in to Pharo7 and am getting:
> 
> UndefinedObject(Object)>>doesNotUnderstand: #asTraitComposition
> 
> 
> It can be reproduced in a clean Pharo7 image, e.g.
> Pharo7.0-32bit-d1b0e3e.image (downloaded 16 Oct 2017), and executing:
> 
> Gofer it
> smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';
> configurationOf: 'Roassal2';
> loadStable.
> 
> 
> OS: Ubuntu 16.04.
> 
> I last rebuilt my image on 3 October without any problems.
> 
> Any suggestions?  I suspect the combination of Monticello and Traits
> will take me quite a while to figure out.

This could simply be an ordering issue, i.e. maybe Monticello /
Metacello needs to ensure that the traits are loaded before the classes.

Presumably at some point during the load there is a list of classes that
are going to be loaded.  If someone can point me to the correct location
it will save some time tracking it down.


Thanks!
Alistair



> Stack Trace:
> 
> UndefinedObject(Object)>>doesNotUnderstand: #asTraitComposition
> MCClassDefinition>>traitCompositionCompiled
> [ :builder | 
> builder
>   superclass: superClass;
>   name: name;
>   layoutClass: (ObjectLayout layoutForType: type);
>   slots: self instanceVariables;
>   sharedVariables: self classVariables;
>   sharedPools: self sharedPoolsString;
>   classSlots: self classInstanceVariables;
>   traitComposition: self traitCompositionCompiled;
>   classTraitComposition: self classTraitCompositionCompiled;
>   comment: comment stamp: commentStamp;
>   category: category;
>   environment: superClass environment ] in [ PharoClassInstaller
>   make: [ :builder | 
>   builder
>   superclass: superClass;
>   name: name;
>   layoutClass: (ObjectLayout layoutForType: type);
>   slots: self instanceVariables;
>   sharedVariables: self classVariables;
>   sharedPools: self sharedPoolsString;
>   classSlots: self classInstanceVariables;
>   traitComposition: self traitCompositionCompiled;
>   classTraitComposition: self 
> classTraitCompositionCompiled;
>   comment: comment stamp: commentStamp;
>   category: category;
>   environment: superClass environment ] ] in 
> MCClassDefinition>>createClass in Block: [ :builder | ...
> PharoClassInstaller class(AbstractClassInstaller class)>>make:
> [ PharoClassInstaller
>   make: [ :builder | 
>   builder
>   superclass: superClass;
>   name: name;
>   layoutClass: (ObjectLayout layoutForType: type);
>   slots: self instanceVariables;
>   sharedVariables: self classVariables;
>   sharedPools: self sharedPoolsString;
>   classSlots: self classInstanceVariables;
>   traitComposition: self traitCompositionCompiled;
>   classTraitComposition: self 
> classTraitCompositionCompiled;
>   comment: comment stamp: commentStamp;
>   category: category;
>   environment: superClass environment ] ] in 
> MCClassDefinition>>createClass in Block: [ PharoClassInstaller...
> BlockClosure>>on:do:
> MCClassDefinition>>createClass
> MCClassDefinition>>load
> MCClassDefinition(MCDefinition)>>addMethodAdditionTo:
> [ :each | each addMethodAdditionTo: methodAdditions ] in 
> MCPackageLoader>>basicLoadDefinitions in Block: [ :each | each 
> addMethodAdditionTo: methodAddition...etc...
> [ :each | 
> | newLabel |
> "Special handling for first and last element"
> (count = 0
>   or: [ count + 1 = size
>   or: [ (Time millisecondsSince: lastUpdate) >= msecs ] ])
>   ifTrue: [ bar current: count.
>   oldLabel = (newLabel := (labelBlock cull: each) ifNil: [ 
> oldLabel ])
>   ifFalse: [ bar label: newLabel.
>   oldLabel := newLabel ].
>   lastUpdate := Time millisecondClockValue ].
> aBlock value: each.
> count := count + 1 ] in [ :bar | 
> labelBlock := aStringOrBlock isString
>   ifTrue: [ bar label: aStringOrBlock.
>   [ :dummyItem | aStringOrBlock ] ]
>   ifFalse: [ aStringOrBlock ].
> self
>   do: [ :each | 
>   | newLabel |
>   "Special handling for first and last element"
>   (count = 0
>   or: [ count + 1 = size
>   or: [ (Time millisecondsSince: 
> lastUpdate) >= msecs ] ])
>   ifTrue: [ bar current: count.
>   oldLabel
>   = 

[Pharo-users] Roassal2 in recent Pharo 7 causes DNU #asTraitComposition

2017-10-17 Thread Alistair Grant
Hi All,

I'm attempting to load Roassal2 in to Pharo7 and am getting:

UndefinedObject(Object)>>doesNotUnderstand: #asTraitComposition


It can be reproduced in a clean Pharo7 image, e.g.
Pharo7.0-32bit-d1b0e3e.image (downloaded 16 Oct 2017), and executing:

Gofer it
smalltalkhubUser: 'ObjectProfile' project: 'Roassal2';
configurationOf: 'Roassal2';
loadStable.


OS: Ubuntu 16.04.

I last rebuilt my image on 3 October without any problems.

Any suggestions?  I suspect the combination of Monticello and Traits
will take me quite a while to figure out.

Thanks,
Alistair



Stack Trace:

UndefinedObject(Object)>>doesNotUnderstand: #asTraitComposition
MCClassDefinition>>traitCompositionCompiled
[ :builder | 
builder
superclass: superClass;
name: name;
layoutClass: (ObjectLayout layoutForType: type);
slots: self instanceVariables;
sharedVariables: self classVariables;
sharedPools: self sharedPoolsString;
classSlots: self classInstanceVariables;
traitComposition: self traitCompositionCompiled;
classTraitComposition: self classTraitCompositionCompiled;
comment: comment stamp: commentStamp;
category: category;
environment: superClass environment ] in [ PharoClassInstaller
make: [ :builder | 
builder
superclass: superClass;
name: name;
layoutClass: (ObjectLayout layoutForType: type);
slots: self instanceVariables;
sharedVariables: self classVariables;
sharedPools: self sharedPoolsString;
classSlots: self classInstanceVariables;
traitComposition: self traitCompositionCompiled;
classTraitComposition: self 
classTraitCompositionCompiled;
comment: comment stamp: commentStamp;
category: category;
environment: superClass environment ] ] in 
MCClassDefinition>>createClass in Block: [ :builder | ...
PharoClassInstaller class(AbstractClassInstaller class)>>make:
[ PharoClassInstaller
make: [ :builder | 
builder
superclass: superClass;
name: name;
layoutClass: (ObjectLayout layoutForType: type);
slots: self instanceVariables;
sharedVariables: self classVariables;
sharedPools: self sharedPoolsString;
classSlots: self classInstanceVariables;
traitComposition: self traitCompositionCompiled;
classTraitComposition: self 
classTraitCompositionCompiled;
comment: comment stamp: commentStamp;
category: category;
environment: superClass environment ] ] in 
MCClassDefinition>>createClass in Block: [ PharoClassInstaller...
BlockClosure>>on:do:
MCClassDefinition>>createClass
MCClassDefinition>>load
MCClassDefinition(MCDefinition)>>addMethodAdditionTo:
[ :each | each addMethodAdditionTo: methodAdditions ] in 
MCPackageLoader>>basicLoadDefinitions in Block: [ :each | each 
addMethodAdditionTo: methodAddition...etc...
[ :each | 
| newLabel |
"Special handling for first and last element"
(count = 0
or: [ count + 1 = size
or: [ (Time millisecondsSince: lastUpdate) >= msecs ] ])
ifTrue: [ bar current: count.
oldLabel = (newLabel := (labelBlock cull: each) ifNil: [ 
oldLabel ])
ifFalse: [ bar label: newLabel.
oldLabel := newLabel ].
lastUpdate := Time millisecondClockValue ].
aBlock value: each.
count := count + 1 ] in [ :bar | 
labelBlock := aStringOrBlock isString
ifTrue: [ bar label: aStringOrBlock.
[ :dummyItem | aStringOrBlock ] ]
ifFalse: [ aStringOrBlock ].
self
do: [ :each | 
| newLabel |
"Special handling for first and last element"
(count = 0
or: [ count + 1 = size
or: [ (Time millisecondsSince: 
lastUpdate) >= msecs ] ])
ifTrue: [ bar current: count.
oldLabel
= (newLabel := (labelBlock cull: each) 
ifNil: [ oldLabel ])
ifFalse: [ bar label: newLabel.
oldLabel := newLabel ].
lastUpdate := Time millisecondClockValue ].
aBlock value: each.
count := count + 1 ] ] in 
OrderedCollection(Collection)>>do:displayingProgress:every: in Block: [ :each | 
...
OrderedCollection>>do:
[ :bar | 
labelBlock :=