[Glass] Cannot load Seaside anymore in a just-migrated GemStone [WAS] Re: Zinc 2.4.3 on Gemstone

Mariano Martinez Peck via Glass glass at lists.gemtalksystems.com
Thu Oct 15 12:25:43 PDT 2015


Hi guys,

I have a weird scenario I cannot solve. I am trying to load my app code
(together with all it's dependencies) in a just migrated stone (from
GemStone 3.1.0.4 to GemStone 3.2.9). I performed all the steps of the
migration.  Yet, I have an error, pasted below. However, if I run the same
code to load my app in a fresh 3.2.9 extent, that works perfectly. It only
fails in my migrated (from 3.1.0.4) stone.

The problem is in

WAWalkbackErrorHandler class >> initialize
WAAdmin applicationExceptionHandlingDefaults at: #exceptionHandler put: self

It fails because the

WAConfiguration >> attributeAt: aSymbol
^ self attributeAt: aSymbol ifAbsent: [ WAAttributeNotFound signalWithKey:
aSymbol ]

gives a key not found.

I did a search  in the mailing list and found related threads:

http://forum.world.st/Glass-Zinc-2-4-3-on-Gemstone-td4759789.html#a4759875
https://github.com/seasidest/seaside/issues/643

But none show a solution.

And yes, it is obvious it will fail because:

WAAdmin applicationExceptionHandlingDefaults allAttributes ->
 anIdentityDictionary( )

Also, as you can see, the result of WAAdmin
applicationExceptionHandlingDefaults has no parent or anything:

Inspect aWASharedConfiguration/
--------------------
.                     -> aWASharedConfiguration
(class)@              -> WASharedConfiguration
(oop)@                -> 1169561601
(committed)@          -> true
cachedSearchContexts@ -> anIdentityDictionary(
#'exceptionHandler'->aWAAttributeSearchContext)
expressions@          -> aDictionary( )
name@                 -> 'Application Exception Handling Defaults'
parents@              -> anOrderedCollection( )


I even tried the re-initialization of Seaside as provided by Bruno the
other day:

WAAdmin unregister: 'reps'.
WAAdmin unregister: 'advisors'.
WAAdmin unregister: 'clients'.

WAGemStoneProductionErrorHandler  initialize.
WAWalkbackErrorHandler initialize.
WARemoteDebuggingWalkbackErrorHandler initialize.

[
   WADispatcher default.
   WASystemConfiguration allSubclasses
     do: [ :each | each instance buildDescription ] ]
     ensure: [ System commitTransaction ] .


Still, same error.


Any clues? Is there  way I can re-initialize all Seaside?


This is the stack:

aTDDebugger
--------------------
1. WAAttributeNotFound(AbstractException)>>_signalWith: @6 line 25
2. WAAttributeNotFound(AbstractException)>>signal @2 line 47
3. WAAttributeNotFound class>>signalWithKey: @4 line 4
4. [] in ExecBlock0(WAConfiguration)>>attributeAt: @2 line 2
5. IdentityDictionary>>at:ifAbsent: @5 line 8
6. WASharedConfiguration(WAConfiguration)>>attributeAt:ifAbsent: @3 line 2
7. WASharedConfiguration(WAConfiguration)>>attributeAt: @2 line 2
8. WASharedConfiguration(WAUserConfiguration)>>at:put: @2 line 7
9. WAWalkbackErrorHandler class>>initialize @3 line 2
10. MCMethodDefinition>>postload @11 line 6
11. MCMethodDefinition(MCDefinition)>>postloadOver: @2 line 2
12. [] in MCPackageLoader>>basicLoad @3 line 48
13. OrderedCollection(Collection)>>do: @5 line 10
14. OrderedCollection(Collection)>>do:displayingProgress: @2 line 3
15. [] in MCPackageLoader>>basicLoad @15 line 48
16. MCPackageLoader(ExecBlock)>>on:do: @3 line 42
17. [] in MCPackageLoader>>basicLoad @2 line 49
18. MCPackageLoader(ExecBlock)>>ensure: @2 line 12
19. MCPackageLoader>>basicLoad @11 line 51
20. [] in MCPackageLoader>>loadWithNameLike: @2 line 4
21. [] in ExecBlock0(MCPackageLoader)>>useChangeSetNamed:during: @2 line 9
22. ExecBlock0(ExecBlock)>>ensure: @2 line 12
23. MCPackageLoader>>useChangeSetNamed:during: @9 line 9
24. MCPackageLoader>>useNewChangeSetNamedLike:during: @3 line 2
25. MCPackageLoader>>loadWithNameLike: @6 line 4
26. MCVersionLoader>>load @9 line 6
27. MetacelloGoferLoad(GoferLoad)>>execute @6 line 3
28. [] in
MetacelloLoadingMCSpecLoader(MetacelloCommonMCSpecLoader)>>loadPackageDirective:gofer:
@5 line 17
29. [] in
MetacelloLoadingMCSpecLoader(MetacelloCommonMCSpecLoader)>>loadPackageDirective:gofer:
@14 line 21
30. MetacelloGemStonePlatform(MetacelloPlatform)>>do:displaying: @2 line 3
31.
MetacelloLoadingMCSpecLoader(MetacelloCommonMCSpecLoader)>>loadPackageDirective:gofer:
@7 line 5
32.
MetacelloLinearLoadDirective(MetacelloVersionLoadDirective)>>loadPackageDirective:gofer:
@4 line 4
33. MetacelloPackageLoadDirective>>loadUsing:gofer: @2 line 3
34. [] in
ExecBlock1(MetacelloVersionLoadDirective)>>loadLinearLoadDirective:gofer:
@2 line 3
35. OrderedCollection(Collection)>>do: @5 line 10
36.
MetacelloLinearLoadDirective(MetacelloVersionLoadDirective)>>loadLinearLoadDirective:gofer:
@3 line 3
37. MetacelloLinearLoadDirective>>loadUsing:gofer: @6 line 4
38. [] in
ExecBlock1(MetacelloVersionLoadDirective)>>loadLinearLoadDirective:gofer:
@2 line 3
39. OrderedCollection(Collection)>>do: @5 line 10
40.
MetacelloLinearLoadDirective(MetacelloVersionLoadDirective)>>loadLinearLoadDirective:gofer:
@3 line 3
41. MetacelloLinearLoadDirective>>loadUsing:gofer: @6 line 4
42. [] in
ExecBlock1(MetacelloVersionLoadDirective)>>loadLinearLoadDirective:gofer:
@2 line 3
43. OrderedCollection(Collection)>>do: @5 line 10
44.
MetacelloLinearLoadDirective(MetacelloVersionLoadDirective)>>loadLinearLoadDirective:gofer:
@3 line 3
45. MetacelloLinearLoadDirective>>loadUsing:gofer: @6 line 4
46. [] in
ExecBlock1(MetacelloVersionLoadDirective)>>loadLinearLoadDirective:gofer:
@2 line 3
47. OrderedCollection(Collection)>>do: @5 line 10
48.
MetacelloLinearLoadDirective(MetacelloVersionLoadDirective)>>loadLinearLoadDirective:gofer:
@3 line 3
49. MetacelloLinearLoadDirective>>loadUsing:gofer: @6 line 4
50. [] in
ExecBlock1(MetacelloVersionLoadDirective)>>loadLinearLoadDirective:gofer:
@2 line 3
51. OrderedCollection(Collection)>>do: @5 line 10
52.
MetacelloLinearLoadDirective(MetacelloVersionLoadDirective)>>loadLinearLoadDirective:gofer:
@3 line 3
53. MetacelloLinearLoadDirective>>loadUsing:gofer: @6 line 4
54.
MetacelloLinearLoadDirective(MetacelloVersionLoadDirective)>>loadWithPolicy:
@7 line 7
55. MetacelloLoaderPolicy>>load @6 line 4
56. MetacelloFetchingMCSpecLoader>>doLoad @4 line 3
57. [] in ExecBlock0(MetacelloMCVersion)>>doLoadRequiredFromArray: @2 line
12
58. MetacelloGemStonePlatform(MetacelloPlatform)>>do:displaying: @2 line 3
59. [] in MetacelloMCVersion>>doLoadRequiredFromArray: @7 line 12
60. MetacelloMCVersion(ExecBlock)>>ensure: @2 line 12
61. MetacelloMCVersion>>doLoadRequiredFromArray: @22 line 16
62. Array(Collection)>>loadRequiredForMetacelloMCVersion: @2 line 3
63. MetacelloMCVersion>>load: @2 line 3
64. [] in MetacelloScriptEngine>>load:onProjectDownGrade:onProjectUpgrade:
@10 line 16
65. MetacelloScriptEngine(ExecBlock)>>on:do: @3 line 42
66. [] in MetacelloScriptEngine>>handleNotificationsForAction: @6 line 6
67. MetacelloScriptEngine(ExecBlock)>>on:do: @3 line 42
68. [] in MetacelloScriptEngine>>handleNotificationsForAction: @4 line 14
69. MetacelloScriptEngine(ExecBlock)>>on:do: @3 line 42
70. [] in MetacelloScriptEngine>>handleNotificationsForAction: @2 line 20
71. MetacelloScriptEngine(ExecBlock)>>on:do: @3 line 42
72. MetacelloScriptEngine>>handleNotificationsForAction: @2 line 24
73. [] in MetacelloScriptEngine>>load:onProjectDownGrade:onProjectUpgrade:
@2 line 5
74. MetacelloScriptEngine(ExecBlock)>>ensure: @2 line 12
75. MetacelloProjectRegistration class>>copyRegistryRestoreOnErrorWhile: @8
line 14
76. MetacelloScriptEngine>>load:onProjectDownGrade:onProjectUpgrade: @2
line 3
77. MetacelloScriptEngine>>load: @2 line 3
78. [] in MetacelloScriptApiExecutor(MetacelloScriptExecutor)>>execute: @11
line 15
79. [] in MetacelloScriptApiExecutor>>executeString:do: @5 line 6
80. Array(Collection)>>do: @5 line 10
81. MetacelloScriptApiExecutor>>executeString:do: @6 line 4
82. String>>execute:against: @2 line 2
83. MetacelloScriptApiExecutor(MetacelloScriptExecutor)>>execute: @6 line 9
84. Metacello>>execute:args: @8 line 5
85. Metacello>>load: @2 line 2
86. [] in Executed Code
87. ExecBlock0(ExecBlock)>>ensure: @2 line 12
88. Executed Code
89. String(CharacterCollection)>>evaluateIn:symbolList:literalVars: @4 line
13
90.
TDWorkspaceClientElementBuilder(TDClientSourceElementBuilder)>>evaluateString:
@5 line 3
91.
TDWorkspaceClientElementBuilder(TDClientSourceElementBuilder)>>doItMenuAction:selectedText:
@2 line 2
92.
TDWorkspaceClientElementBuilder(TDWindowBuilder)>>handleMenuActions:listElement:actionArg:
@12 line 10
93. [] in
TDWorkspaceClientElementBuilder(TDClientSourceElementBuilder)>>menuActionBlock
@6 line 8
94.
TDWorkspaceClientElementBuilder(ExecBlock)>>value:value:value:value:value:
@2 line 11
95. GsNMethod class>>_gsReturnToC @1 line 1


Thanks in advance for any help.

On Thu, Oct 15, 2015 at 1:40 PM, Gerhard Obermann <obi068 at gmail.com> wrote:

> Hi,
>
> Not really, i only found the following in my notes.
>
> HTH
> Gerhard
>
>
>
>    -
>
>    Load Seaside 3.1.x but don’t initialize Seaside Classes
>
>
> | performInitialization |
>
> performInitialization := #().
>
> [
>
> GsDeployer deploy: [  Metacello new
>
>    baseline: 'Seaside3';
>
>    repository: 'github://glassdb/Seaside31:gemstone3.1/repository';
>
>    load: 'CI'].
>
> ] on: MCPerformPostloadNotification do: [:ex |
>
>           (performInitialization includes: ex postloadClass
> theNonMetaClass name)
>
>             ifTrue: [
>
>               "perform initialization"
>
>               ex resume: true ]
>
>             ifFalse: [
>
>               GsFile gciLogServer: ' Skip ', ex postloadClass name
> asString, ' initialization.'.
>
>                ex resume: false ] ]
>
>
> On Thu, Oct 15, 2015 at 5:47 PM, Mariano Martinez Peck <
> marianopeck at gmail.com> wrote:
>
>> Hi Gerhard,
>>
>> I am getting the exact same issue. Do you remember what you did to fix it?
>>
>> Thanks,
>>
>> On Wed, May 21, 2014 at 10:39 AM, Gerhard Obermann <obi068 at gmail.com>
>> wrote:
>>
>>> Hi Dale!
>>>
>>> I think as soon as I can load the stuff in my upgraded 3.2. DB, i can
>>> test and contribute to zink and/or Glass / Seaside 3.1.
>>> If it wont work until tomorrow i have to stay on 3.1.0.5 for the next
>>> few months at least.
>>>
>>> At the moment i am trying to load Seaside 3.1.1 with
>>> PS: To be able to load this i have loaded the Baseline packages BaselineOfGLASS1,
>>> BaselineOfSeaside3 , BaselineOfZinc manually from my forked GIT clone.
>>>
>>> GsDeployer deploy: [
>>>   Metacello new
>>>     configuration: 'Grease';
>>>     repository: '
>>> http://www.smalltalkhub.com/mc/Seaside/MetacelloConfigurations/main';
>>>     get.
>>>
>>>   "Load Seaside31"
>>> GsDeployer deploy: [
>>>   Metacello new
>>>     baseline: 'Seaside3';
>>>     repository: 'github://glassdb/Seaside31:gemstone3.1/repository';
>>>     load: 'CI'].
>>>
>>>
>>> Not sure if i need to load  Metacello new
>>>     baseline: 'GLASS1';
>>>     repository: 'github://glassdb/glass:master/repository';
>>>     load.
>>> after the upgrade.
>>>
>>> What is the difference between
>>>   (ConfigurationOfGLASS project version: '1.0-beta.9.1') load
>>> and
>>>  Metacello new
>>>     baseline: 'GLASS1';
>>>     repository: 'github://glassdb/glass:master/repository';
>>>     load.
>>>
>>> *The load of the Seaside package failed with the init of *
>>> *WAWalkbackErrorHandler => initialize*
>>> * WAAdmin applicationExceptionHandlingDefaults at: #exceptionHandler
>>> put: self*
>>>
>>> [1] WAAttributeNotFound (AbstractException) >> _signalWith:
>>> inCextensionArg: nil
>>> res: nil
>>> .t1: a WAAttributeNotFound occurred (error 2710)
>>> receiver: a WAAttributeNotFound occurred (error 2710)
>>> [2] WAAttributeNotFound (AbstractException) >> signal
>>> receiver: a WAAttributeNotFound occurred (error 2710)
>>> [3] WAAttributeNotFound class >> signalWithKey:
>>> aSymbol: #'exceptionHandler'
>>> receiver: WAAttributeNotFound
>>> [4] [] in  ExecBlock0 (WAConfiguration) >> attributeAt:
>>> aSymbol: #'exceptionHandler'
>>> receiver: nil
>>> [5] IdentityDictionary >> at:ifAbsent:
>>> aKey: #'exceptionHandler'
>>> aBlock: anExecBlock0
>>> anAssoc: nil
>>> .t1: anExecBlock0
>>> receiver: anIdentityDictionary( )
>>> [6] WASharedConfiguration (WAConfiguration) >> attributeAt:ifAbsent:
>>> aSymbol: #'exceptionHandler'
>>> aBlock: anExecBlock0
>>> receiver: aWASharedConfiguration
>>> [7] WASharedConfiguration (WAConfiguration) >> attributeAt:
>>> aSymbol: #'exceptionHandler'
>>> aSymbol: #'exceptionHandler'
>>> receiver: aWASharedConfiguration
>>> [8] WASharedConfiguration (WAUserConfiguration) >> at:put:
>>> aSymbol: #'exceptionHandler'
>>> anObject: WAWalkbackErrorHandler
>>> receiver: aWASharedConfiguration
>>> [9] WAWalkbackErrorHandler class >> initialize
>>> receiver: WAWalkbackErrorHandler
>>> [10] MCMethodDefinition >> postload
>>> receiver: aMCMethodDefinition(WAWalkbackErrorHandler class>>initialize)
>>>
>>>
>>> Transcript:
>>> Fetched -> FastCGIPool-dkh.2 --- http://seaside.gemstone.com/ss/fastcgi
>>> --- http://seaside.gemstone.com/ss/fastcgiredirecting to
>>> http://seaside.gemtalksystems.com/ss/fastcgi/FastCGI-dkh.33.mcz
>>>
>>> Fetched -> FastCGI-dkh.33 --- http://seaside.gemstone.com/ss/fastcgi
>>> --- http://seaside.gemstone.com/ss/fastcgi
>>> Fetched -> Seaside-Adaptors-FastCGI-dkh.26 ---
>>> github://glassdb/Seaside31:gemstone3.1/repository ---
>>> github://glassdb/Seaside31:gemstone3.1/repository
>>> Loaded -> Grease-Core-JohanBrichau.86 ---
>>> http://www.smalltalkhub.com/mc/Seaside/Grease11/main --- cache
>>> Loaded -> Grease-GemStone-Core-JohanBrichau.52 ---
>>> http://www.smalltalkhub.com/mc/Seaside/Grease11/main --- cache
>>> Evaluated -> Grease-GemStone-Core >> initializeTransactionMutex1051
>>> Loaded -> Seaside-Core.gemstone-JohanBrichau.815 ---
>>> github://glassdb/Seaside31:gemstone3.1/repository --- cache
>>> Loaded -> Seaside-GemStone300-Core-DaleHenrichs.4 ---
>>> github://glassdb/Seaside31:gemstone3.1/repository --- cache
>>> Loaded -> Seaside-GemStone-Core-JohanBrichau.66 ---
>>> github://glassdb/Seaside31:gemstone3.1/repository --- cache
>>> Loaded -> Seaside-GemStone-Basic-Development-JohanBrichau.29 ---
>>> github://glassdb/Seaside31:gemstone3.1/repository --- cache
>>> Loaded -> Grease-Tests-Core-JohanBrichau.95 ---
>>> http://www.smalltalkhub.com/mc/Seaside/Grease11/main --- cache
>>> Loaded -> Grease-Tests-GemStone-Core-dkh.14 ---
>>> http://www.smalltalkhub.com/mc/Seaside/Grease11/main --- cache
>>> Loaded -> Seaside-Component-pmm.101 ---
>>> github://glassdb/Seaside31:gemstone3.1/repository --- cache
>>> Loaded -> Seaside-Canvas-pmm.127 ---
>>> github://glassdb/Seaside31:gemstone3.1/repository --- cache
>>> Loaded -> Seaside-Email-pmm.25 ---
>>> github://glassdb/Seaside31:gemstone3.1/repository --- cache
>>> Loaded -> Seaside-GemStone-Email-JohanBrichau.14 ---
>>> github://glassdb/Seaside31:gemstone3.1/repository --- cache
>>> Loaded -> Seaside-InternetExplorer-pmm.7 ---
>>> github://glassdb/Seaside31:gemstone3.1/repository --- cache
>>> Loaded -> Seaside-Session.gemstone-JohanBrichau.169 ---
>>> github://glassdb/Seaside31:gemstone3.1/repository --- cache
>>> Loaded -> Seaside-GemStone-Session-DaleHenrichs.3 ---
>>> github://glassdb/Seaside31:gemstone3.1/repository --- cache
>>> Loaded -> Seaside-RenderLoop-pmm.96 ---
>>> github://glassdb/Seaside31:gemstone3.1/repository --- cache
>>> Loaded -> Seaside-Tools-Core.gemstone-dkh.23 ---
>>> github://glassdb/Seaside31:gemstone3.1/repository --- cache
>>> Loaded -> Seaside-Flow-pmm.24 ---
>>> github://glassdb/Seaside31:gemstone3.1/repository --- cache
>>> Loaded -> Seaside-Examples-pmm.24 ---
>>> github://glassdb/Seaside31:gemstone3.1/repository --- cache
>>> Loaded -> Seaside-Widgets-StephanEggermont.35 ---
>>> github://glassdb/Seaside31:gemstone3.1/repository --- cache
>>> Loaded -> Seaside-GemStone-Tools-Production-JohanBrichau.15 ---
>>> github://glassdb/Seaside31:gemstone3.1/repository --- cache
>>> Loaded -> Seaside-Tools-Web-pmm.119 ---
>>> github://glassdb/Seaside31:gemstone3.1/repository --- cache
>>> Loaded -> Seaside-GemStone-Tools-Web-DaleHenrichs.4 ---
>>> github://glassdb/Seaside31:gemstone3.1/repository --- cache
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Wed, May 21, 2014 at 3:06 PM, Dale Henrichs <
>>> dale.henrichs at gemtalksystems.com> wrote:
>>>
>>>> Marching Orders! Very good ...
>>>>
>>>> Johan, Gerhard, et. al., I want to follow your lead and fill in where
>>>> the work is needed ...
>>>>
>>>> Do you guys think that getting Seaside/Zinc/etc. ported to GemStone3.2
>>>> takes precedence over getting Zinc running on GemStone3.1?
>>>>
>>>> I can take a crack at solving Gerhard's Seaside3.1 loading error, but
>>>> Zinc has been on the brink for so long, maybe I should hit it hard and get
>>>> the tests passing in GemStone 3.1 (encoding issues are right up my alley:)?
>>>>
>>>> If there are other outstanding problems that folks are looking at they
>>>> can be added into the mix...
>>>>
>>>> Dale
>>>>
>>>>
>>>> On Tue, May 20, 2014 at 10:42 PM, Johan Brichau <johan at yesplan.be>
>>>> wrote:
>>>>
>>>>> Hi all,
>>>>>
>>>>> I have been tampering off and on over the last few months to make Zinc
>>>>> 2.4.3 work in Gemstone.
>>>>>
>>>>> I made a pull request [1] with my changes, though not all tests are
>>>>> passing and since most of the changes had to do with encoding, byte arrays
>>>>> vs strings, multibyte strings, etc... I really need someone to take a look
>>>>> at them. Also, the pace is quite slow by myself ;-)
>>>>>
>>>>> This email is just to make sure that the pull request does not go
>>>>> unnoticed for someone wanting to take up work on the port.
>>>>>
>>>>> cheers!
>>>>> Johan
>>>>>
>>>>> [1] https://github.com/glassdb/zinc/pull/48
>>>>> _______________________________________________
>>>>> Glass mailing list
>>>>> Glass at lists.gemtalksystems.com
>>>>> http://lists.gemtalksystems.com/mailman/listinfo/glass
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Glass mailing list
>>>> Glass at lists.gemtalksystems.com
>>>> http://lists.gemtalksystems.com/mailman/listinfo/glass
>>>>
>>>>
>>>
>>> _______________________________________________
>>> Glass mailing list
>>> Glass at lists.gemtalksystems.com
>>> http://lists.gemtalksystems.com/mailman/listinfo/glass
>>>
>>>
>>
>>
>> --
>> Mariano
>> http://marianopeck.wordpress.com
>>
>
>


-- 
Mariano
http://marianopeck.wordpress.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/private/glass/attachments/20151015/e1bc09a3/attachment-0001.html>


More information about the Glass mailing list