----- "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

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

Reply via email to