I understand now.

Thanks,
Alexandre


On 4 May 2010, at 12:52, Dale Henrichs wrote:


----- "Alexandre Bergel" <[email protected]> wrote:

| Apparently the bug remains. When I load the last version of
| 'ConfigurationOfPharo project' in a fresh and updated Core 1.1, then
|
| OB-Standard.lr.442 is loaded and initialized.
|
| So, the problem persists :-)

Alexandre,

The short answer is that this isn't really a bug. ConfigurationOfAutomaticMethodCategorizer calls for version 1.1 of ConfigurationOfOmniBrowser which references OB-Standard-lr.442. Version 1.1.3 of ConfigurationOfOmniBrowser (which references OB- Standard-lr.463) is listed after ConfigurationOfAutomaticMethodCategorizer in 1.1-baseline so OB- Standard-lr.442 is loaded first, then OB-Standard-lr.463 will be loaded later.

This implies that ConfigurationOfAutomaticMethodCategorizer will not load correctly into Pharo 1.1, so the solution is to create a new version ConfigurationOfAutomaticMethodCategorizer that will load into Pharo 1.1 (i.e. referencing version 1.1.3 of ConfigurationOfOmniBrowser) and then update ConfigurationOfPharo accordingly...

I'll give the long answer here so that folks can have an example of debugging a load issue in Metacello.

The first thing I do is find the top MetacelloLoaderPolicy on the debugger stack and inspect loadDirective instance variable. Here's the printString:

linear load :
 explicit load : 1.1 [ConfigurationOfPharo]
   load : ConfigurationOfOCompletion-Alexandre_Bergel.17
 explicit load : 1.1 [ConfigurationOfPharo]
   load : ConfigurationOfProfStef-DaleHenrichs.8
 explicit load : 1.1 [ConfigurationOfPharo]
   load : ConfigurationOfOmniBrowser-MarianoMartinezPeck.41
 explicit load : 1.1 [ConfigurationOfPharo]
 explicit load : 1.1 [ConfigurationOfPharo]
 explicit load : 1.1 [ConfigurationOfPharo]
   load : ConfigurationOfPharoNonCore-MarianoMartinezPeck.2
 explicit load : 1.1 [ConfigurationOfPharo]
   load : ConfigurationOfRefactoringBrowser-MarianoMartinezPeck.22
 explicit load : 1.1 [ConfigurationOfPharo]
 explicit load : 1.1 [ConfigurationOfPharo]
 explicit load : 1.1 [ConfigurationOfPharo]
   load : ConfigurationOfShout-DaleHenrichs.11
 explicit load : 1.1 [ConfigurationOfPharo]
   load : ConfigurationOfNile-MarianoMartinezPeck.11
 explicit load : 1.1 [ConfigurationOfPharo]
load : ConfigurationOfAutomaticMethodCategorizer- MarianoMartinezPeck.4
 explicit load : 1.1 [ConfigurationOfPharo]
 explicit load : 1.1 [ConfigurationOfPharo]
   load : ConfigurationOfNewInspector-MarianoMartinezPeck.5
 explicit load : 1.1 [ConfigurationOfPharo]
 preload : 1.1 [ConfigurationOfPharo] >> preloadForPharo
 linear load : 1.1 [ConfigurationOfPharo]
   explicit load : 1.1 [ConfigurationOfAutomaticMethodCategorizer]
   linear load : 1.1 [ConfigurationOfAutomaticMethodCategorizer]
     linear load : 1.1 [ConfigurationOfOmniBrowser]
       load : OmniBrowser-lr.458
       load : OB-Morphic-lr.112
       load : OB-Standard-lr.442
       postload : OB-Standard >> postLoadOBStandard
     load : AutomaticMethodCategorizer-DF.25
     load : AutomaticMethodCategorizerOB-DF.1
   linear load : 1.0 [ConfigurationOfShout]
     load : Shout-nice.83
     load : ShoutWorkspace.1-tween.4
   linear load : 1.0 [ConfigurationOfShout]
     load : ShoutTests-tween.9
   linear load : 1.1.1 [ConfigurationOfOCompletion]
     load : RoelTyper-DamienCassou.80
     load : Ocompletion-RomainRobbes.58
   linear load : 1.1.1 [ConfigurationOfOCompletion]
     load : OcompletionTests-MarianoMartinezPeck.3
   explicit load : 1.1.0 [ConfigurationOfPharoNonCore]
     load : ConfigurationOfPharoSound-MarianoMartinezPeck.8
   explicit load : 1.1.0 [ConfigurationOfPharoNonCore]
     load : ConfigurationOfPharoMorphicExtras-MarianoMartinezPeck.10
   preload : 1.1.0 [ConfigurationOfPharoNonCore] >> preloadForPharo
   linear load : 1.1.0 [ConfigurationOfPharoNonCore]
     linear load : 2.0 [ConfigurationOfPharoSound]
       load : Sound-MarianoMartinezPeck.49
       load : SoundMorphicUserInterface-MarianoMartinezPeck.9
     explicit load : 2.0 [ConfigurationOfPharoMorphicExtras]
     linear load : 2.0 [ConfigurationOfPharoMorphicExtras]
       load : MorphExamplesAndDemos-DamienCassou.5
       load : LED-StephaneDucasse.1
     load : ArchiveViewer-MarianoMartinezPeck.3
   postload : 1.1.0 [ConfigurationOfPharoNonCore] >> postloadForPharo
   linear load : 1.1 [ConfigurationOfNewInspector]
     load : NewInspector-FredericPluquet.64
   linear load : 1.2.1 [ConfigurationOfRefactoringBrowser]
     load : AST-Core-lr.67
     load : Refactoring-Core-lr.115
     load : Refactoring-Spelling-lr.19
   linear load : 1.2.1 [ConfigurationOfRefactoringBrowser]
     load : AST-Tests-Core-lr.9
     load : Refactoring-Tests-Core-lr.36
     load : Refactoring-Tests-Spelling-lr.4
   linear load : 1.1 [ConfigurationOfNile]
     load : Nile-Base-DamienCassou.81
   linear load : 1.1 [ConfigurationOfNile]
     load : Nile-Tests-DamienCassou.75
     load : Nile-Clients-MarianoMartinezPeck.178
   explicit load : 1.1.3 [ConfigurationOfOmniBrowser]
   linear load : 1.1.3 [ConfigurationOfOmniBrowser]
     load : OmniBrowser-lr.469
     load : OB-Morphic-lr.116
     load : OB-Standard-lr.463
     postload : OB-Standard >> postLoadOBStandard
     load : OB-SUnitIntegration-lr.24
     load : OB-Shout-lr.5
     load : OB-Refactory-lr.203
     load : OB-Regex-lr.22
     load : OCForOB-rr.2
   explicit load : 1.1.3 [ConfigurationOfOmniBrowser]
   linear load : 1.1.3 [ConfigurationOfOmniBrowser]
     load : OB-Tests-Core-lr.81
     load : OB-Tests-Morphic-lr.26
     load : BogusInfo-lr.18
     load : OB-Fake-lr.14
     load : OB-Tests-Standard-lr.110
   linear load : 1.0 [ConfigurationOfProfStef]
     load : ProfStef-Core-LaurentLaffont.2
   linear load : 1.0 [ConfigurationOfProfStef]
     load : ProfStef-Tests-LaurentLaffont.2
   load : ImageForDevelopers-pharo-MarianoMartinezPeck.224
 postload : 1.1 [ConfigurationOfPharo] >> postloadForPharo

Since OB-Standard is the problem package you can search for the package in the printString. The first occurrence is here:

 linear load : 1.1 [ConfigurationOfPharo]
   explicit load : 1.1 [ConfigurationOfAutomaticMethodCategorizer]
   linear load : 1.1 [ConfigurationOfAutomaticMethodCategorizer]
     linear load : 1.1 [ConfigurationOfOmniBrowser]
       load : OmniBrowser-lr.458
       load : OB-Morphic-lr.112
       load : OB-Standard-lr.442
       postload : OB-Standard >> postLoadOBStandard

and the second occurrence is here:

   linear load : 1.1.3 [ConfigurationOfOmniBrowser]
     load : OmniBrowser-lr.469
     load : OB-Morphic-lr.116
     load : OB-Standard-lr.463
     postload : OB-Standard >> postLoadOBStandard

The nesting level for '1.1.3 [ConfigurationOfOmniBrowser]' and '1.1 [ConfigurationOfAutomaticMethodCategorizer]' are the same which means that they are both referenced in '1.1 [ConfigurationOfPharo]'. That was enough to solve this particular problem, but in an Inspector, you can dive into the directives themselves and actually get to the MetacelloSpec that was used to create the directive...

Dale

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.






_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to