[Glass] Failing to load Seaside using tODE

Dale Henrichs dale.henrichs at gemtalksystems.com
Mon Jan 10 18:25:34 PST 2022


Ezequiel,

The good news is that we HAVE identified the compile error so that IS
progress!

I've tried evaluating the same expressions in my 3.6.3 tODE image and I get:
[image: image.png]

So there is definitely something odd going on ...

Could you provide the whole stack for the CompileError that you are seeing
(just the frames list for now) and information about the OS that you are
running on ... a print window of the `project list`, too, just  to cover
our bases ...

I will talk it over with some of the guys in the (virtual) office tomorrow
to see if we can get to the bottom of this for you...

Dale

On Mon, Jan 10, 2022 at 5:28 PM Ezequiel R. Aguerre <ezeaguerre at gmail.com>
wrote:

> Well, I reinstalled everything from scratch. Seaside installed fine, but
> when I execute the "load" command it fails with the same error :(
>
> Here is the error string:
>
>    testGreaseString
>            self assert: 'Timberwolf' greaseString = 'Timberwolf'.
>            self assert: #DireWolf greaseString = 'DireWolf'.
>            self deny: #DireWolf greaseString isSymbol.
>            self assert: true greaseString = 'true'.
>            self assert: 666 greaseString = '666'.
>            "make sure we're not immediate"
>            self assert: ((2 raisedTo: 64) + 1) greaseString =
> '18446744073709551617'.
>            "make sure we're not immediate"
>            self assert: ((2 raisedTo: 64) + 1) negated greaseString =
> '-18446744073709551617'.
>            self assert: $A greaseString = 'A'.
>            self assert: nil greaseString = 'nil'.
>            [       "Smalltalk/X has constant folding so 1 / 0 will be
> evaluated at compile time
>                    resulting in an error when loading the code."
>                    1 perform: #/ with: 0 ]
>                    on: ZeroDivide
>                    do: [ :error | self assert: error greaseString isString
> ].
>            self assert: 15.25 greaseString = '15.25'.
>            self assert: nil greaseString isString.
>            self assert: (4 @ 2) greaseString = '4 at 2'.
>            "#greaseString for a byte array should not do any decoding
>            this is in place to catch encoding errors early"
>            self assert: #(101 97 ) asByteArray greaseString ~= 'ea'.
>            self assert: #(101 97 ) asByteArray greaseString isString.
>            self assert: Object new greaseString isString.
>            "Printing scaled decimals (
> https://github.com/SeasideSt/Grease/issues/1)"
>            self assert: 1.21s3 greaseString = '1.210'.
>  *                      ^1
>  *******
>            self assert: -1.21s3 greaseString = '-1.210'
>  *                       ^2
> *******
>
> 1: [1028] illegal exponent
> 2: [1028] illegal exponent
>
>
> It's weird, it should be working I suppose...
>
> If I open a Pharo Workspace it works fine, but on the Workspace of the gem
> it won't work (if I understand correctly, the second workspace is executing
> on the Smalltalk of the "Gem" process). I attach an image of the issue.
>
> Looking the documentation, it seems GemStone should support scaled
> decimals:
> https://downloads.gemtalksystems.com/docs/GemStone64/3.2.x/GS64-ProgGuide-3.2/6-Numerics.htm#pgfId-265610
>
> However, I haven't seen any reference to the ScaledDecimal class or
> support for literals of that type in the programming guide of the latest
> version:
> https://downloads.gemtalksystems.com/docs/GemStone32/6.0.x/GSS-ProgGuide-6.0.pdf
> and the BNF section near the end of the PDF doesn't seem to support the
> scaled decimal literals...
>
> Maybe I'm missing some support from the compiler? Maybe I need to install
> or load something that I don't have loaded on my system?
>
> Thank you very much! I'll keep trying other things
>
> --
> Ezequiel R. Aguerre
>
>
> El vie, 7 ene 2022 a la(s) 21:42, Dale Henrichs (
> dale.henrichs at gemtalksystems.com) escribió:
>
>> Ezequiel,
>>
>> Good work, so far you have done all of the right things and at the moment
>> I'm a bit stymied on the compile error you are seeing ... I have confirmed
>> that you are using the latest available SHA in all of the loaded projects
>> and determined that I do not have the latest SHA on my machine, but the
>> differences are all do to work I had done recently to convert the projects
>> to use github ci instead of travis so the code bases are identical...
>>
>> Now, I didn't load Seaside into my image (yet), but I did load the Grease
>> project tests using:
>>
>>> project load --loads=`#('Tests')` Grease
>>
>> and GRPlatformTest>>testGreaseString loads without error ... I copied the
>> source that you pasted into your message, and compiled it in my image
>> without error ... but I did get the following diffs (white space difference
>> in two multiline comments) and the diffs are due to the mailer stripping
>> out tabs:
>>
>>> ____________________ Grease ____________________
>>> ==================== Grease-Tests-Core (-) --> image (+)
>>>  ====================
>>> Item was changed:
>>>   ----- Method: GRPlatformTest>>testGreaseString (in category 'tests')
>>> -----testGreaseString
>>>   self assert: 'Timberwolf' greaseString = 'Timberwolf'.
>>>   self assert: #'DireWolf' greaseString = 'DireWolf'.
>>>   self deny: #'DireWolf' greaseString isSymbol.
>>>   self assert: true greaseString = 'true'.
>>>   self assert: 666 greaseString = '666'. "make sure we're not immediate"
>>>   self assert: ((2 raisedTo: 64) + 1) greaseString =
>>> '18446744073709551617'. "make sure we're not immediate"
>>>   self
>>>   assert: ((2 raisedTo: 64) + 1) negated greaseString =
>>> '-18446744073709551617'.
>>>   self assert: $A greaseString = 'A'.
>>>   self assert: nil greaseString = 'nil'.
>>>   [
>>>   "Smalltalk/X has constant folding so 1 / 0 will be evaluated at
>>> compile time
>>> + resulting in an error when loading the code."
>>> - resulting in an error when loading the code."
>>>   1 perform: #'/' with: 0 ]
>>>   on: ZeroDivide
>>>   do: [ :error | self assert: error greaseString isString ].
>>>   self assert: 15.25 greaseString = '15.25'.
>>>   self assert: nil greaseString isString.
>>>   self assert: (4 @ 2) greaseString = '4 at 2'. "#greaseString for a byte
>>> array should not do any decoding
>>> + this is in place to catch encoding errors early"
>>> - this is in place to catch encoding errors early"
>>>   self assert: #(101 97) asByteArray greaseString ~= 'ea'.
>>>   self assert: #(101 97) asByteArray greaseString isString.
>>>   self assert: Object new greaseString isString. "Printing scaled
>>> decimals (https://github.com/SeasideSt/Grease/issues/1)"
>>>   self assert: 1.21s3 greaseString = '1.210'.
>>>   self assert: -1.21s3 greaseString = '-1.210'!
>>
>>
>> So you are right, there are no syntax errors in the source...
>>
>> If your next attempt ends up with a compile error again, select the
>> #compileMethod:category: frame (frame 4 in your stack) and click on the
>> `errorString` temp var in the inspector and in the String inspector use the
>> Object >> print menu item:
>> [image: image.png]
>>
>> To get a readable display of the compilation error ... in my case I
>> attempted to compile `testGreaseString "a` and got the following (using
>> png, because tODE uses a fixed width font and the error display is
>> formatted assuming a fixed width font):
>> [image: image.png]
>>
>> Given the fact that you copied the method source and there are no compile
>> errors in the source, the problem might be related to an unexpected string
>> encoding (so a screen shot like mine above will give us a clue as to the
>> class of the source) or ???
>>
>> Dale
>>
>>
>>
>> On Fri, Jan 7, 2022 at 2:07 PM Ezequiel R. Aguerre <ezeaguerre at gmail.com>
>> wrote:
>>
>>> Hi!
>>>
>>> Thanks for the help!
>>>
>>> I created the stone and client from scratch, just to be sure:
>>>
>>> createStone devKit_363 3.6.3
>>> createClient devKit_363
>>>
>>> The testLogin commands gives:
>>>
>>> tode 1 > testLogin
>>> Stone            : !@titan#server!devKit_363
>>> Stone host       : titan
>>> GemStone version : 3.6.3
>>> cpu kind         : x86_64
>>> GLASS version    : >=1.0-beta.8.5.1 [ConfigurationOfGLASS]
>>> Metacello version: >=1.0-beta.32.3 [ConfigurationOfMetacello]
>>> GLASS1:
>>>        repository:
>>> /home/eze/dev/smalltalk/gemstone/GsDevKit_home/shared/repos/glass/repository
>>> Tode:
>>>        repository:
>>> /home/eze/dev/smalltalk/gemstone/GsDevKit_home/shared/repos/tode/repository
>>>
>>> At this moment, with the what I suppose is the fresh install, the
>>> project list is:
>>>
>>> aTDMetacelloProjectBrowser
>>> --------------------
>>> + GsDevKit_home       e3b4149 [master]       $GS_HOME
>>> |Foo|
>>>  filetree://$GS_HOME/shared/repos/Foo/repository
>>> |NeoJSON|
>>>  filetree://$GS_HOME/shared/repos/NeoJSON/repository
>>> |FileTree|            28ab532 [gemstone2.4]
>>>  filetree:///home/eze/dev/smalltalk/gemstone/GsDevKit_home/shared/repos/filetree/repository
>>> |GLASS1|              b3209f2d [master]
>>>  filetree:///home/eze/dev/smalltalk/gemstone/GsDevKit_home/shared/repos/glass/repository
>>> Gofer                 1.0.5.4 [release]
>>> http://seaside.gemtalksystems.com/ss/metacello
>>> |Grease|              eef515d [master]
>>> filetree:///home/eze/dev/smalltalk/gemstone/GsDevKit_home/shared/repos/Grease/repository
>>> |Metacello|           e3963155 [master]
>>>  filetree:///home/eze/dev/smalltalk/gemstone/GsDevKit_home/shared/repos/metacello-work/repository
>>> |RB|                  00d0408 [dev]
>>>  filetree:///home/eze/dev/smalltalk/gemstone/GsDevKit_home/shared/repos/rb/repository
>>> |Ston|                daadc02 [gemstone]
>>> filetree:///home/eze/dev/smalltalk/gemstone/GsDevKit_home/shared/repos/ston/repository
>>> |Tode|                60a33e11c [master]
>>> filetree:///home/eze/dev/smalltalk/gemstone/GsDevKit_home/shared/repos/tode/repository
>>> |ZincHTTPComponents|  2c834394 [gs_master]
>>> filetree:///home/eze/dev/smalltalk/gemstone/GsDevKit_home/shared/repos/zinc/repository
>>> |Zodiac|              0cf6770 [gs_master]
>>>  filetree:///home/eze/dev/smalltalk/gemstone/GsDevKit_home/shared/repos/zodiac/repository
>>> |GsApplicationTools|
>>> filetree://$GS_HOME/shared/repos/gsApplicationTools/repository
>>> |PharoCompatibility|
>>> filetree:///home/eze/dev/smalltalk/gemstone/GsDevKit_home/shared/repos/PharoCompatibility/repository
>>> Seaside3
>>> github://GsDevKit/Seaside31:3.1.?/repository
>>> |SmalltalkCI|
>>>  filetree:///home/eze/dev/smalltalk/gemstone/GsDevKit_home/shared/repos/smalltalkCI/repository
>>>
>>>
>>> Then, I try to install Seaside:
>>>
>>> project install --url=
>>> http://gsdevkit.github.io/GsDevKit_home/Seaside32.ston
>>>
>>> At this time, I get a "growl morph" notification saying:
>>>
>>> Information
>>> A project entry for 'Seaside3' is already defined in this stones'
>>> /projects node,
>>> download skipped.
>>>
>>> And I get the following error:
>>>
>>> UserDefinedError: Error during download: 'a ArgumentError occurred
>>> (error 2004), reason:rtErrBadSubscript, A subscript ''message'' that w...
>>> --------------------
>>> 1. UserDefinedError(AbstractException)>>_signalWith: @5 line 25
>>> 2. UserDefinedError(AbstractException)>>signal @2 line 47
>>> 3. MetacelloGemStonePlatform(Object)>>error: @6 line 7
>>> 4. [] in
>>> MetacelloGemStonePlatform>>downloadJSON:eTagsCache:eTagsKey:username:pass:
>>> @34 line 28
>>> 5. [] in
>>> UndefinedObject(MetacelloGemStonePlatform)>>downloadJSON:eTagsCache:eTagsKey:username:pass:
>>> @106 line 73
>>> 6. ArgumentError(AbstractException)>>_executeHandler: @7 line 11
>>> 7. ArgumentError(AbstractException)>>_signalWith: @1 line 2
>>> 8. ArgumentError(AbstractException)>>signal @2 line 47
>>> 9. Array(Object)>>_error:args: @15 line 11
>>> 10. Array(Object)>>_errorNonIntegerIndex: @2 line 5
>>> 11. Array>>at: @6 line 13
>>> 12. [] in
>>> MetacelloGemStonePlatform>>downloadJSON:eTagsCache:eTagsKey:username:pass:
>>> @92 line 68
>>> 13. MetacelloGemStonePlatform>>extractHTTPHeader:do: @33 line 26
>>> 14. [] in
>>> MetacelloGemStonePlatform>>downloadJSON:eTagsCache:eTagsKey:username:pass:
>>> @55 line 39
>>> 15. ExecBlock0(ExecBlock)>>on:do: @3 line 44
>>> 16. [] in
>>> UndefinedObject(MetacelloGemStonePlatform)>>downloadJSON:eTagsCache:eTagsKey:username:pass:
>>> @45 line 72
>>> 17. [] in UndefinedObject(FileDirectory)>>readOnlyFileNamed:do: @8 line 4
>>> 18. ExecBlock0(ExecBlock)>>ensure: @2 line 12
>>> 19. ServerFileDirectory(FileDirectory)>>readOnlyFileNamed:do: @4 line 4
>>> 20.
>>> MetacelloGemStonePlatform>>downloadJSON:eTagsCache:eTagsKey:username:pass:
>>> @17 line 32
>>> 21. MCGitHubRepository>>downloadJSONTags @13 line 5
>>> 22.
>>> MCGitHubRepository(MCGitBasedNetworkRepository)>>resolveProjectVersionPattern:
>>> @9 line 8
>>> 23. MCGitHubRepository(MCGitBasedNetworkRepository)>>projectVersion: @10
>>> line 15
>>> 24.
>>> MCGitHubRepository(MCGitBasedNetworkRepository)>>projectPath:projectVersion:repoPath:
>>> @3 line 3
>>> 25. MCGitHubRepository class(MCGitBasedNetworkRepository
>>> class)>>parseLocation:version: @47 line 36
>>> 26. MCGitHubRepository class(MCGitBasedNetworkRepository
>>> class)>>location:version: @2 line 2
>>> 27. MCGitHubRepository class(MCGitBasedNetworkRepository
>>> class)>>location: @2 line 2
>>> 28. [] in
>>> MetacelloGemStonePlatform(MetacelloPlatform)>>createRepository: @76 line 44
>>> 29. SmalltalkProxy>>at:ifPresent: @10 line 7
>>> 30. MetacelloGemStonePlatform(MetacelloPlatform)>>createRepository: @20
>>> line 41
>>> 31. MetacelloGemStonePlatform>>createRepository: @53 line 45
>>> 32. MetacelloMCBaselineProject(MetacelloMCProject)>>createRepository: @3
>>> line 3
>>> 33. MetacelloRepositorySpec>>createRepository @3 line 3
>>> 34.
>>> TDMetacelloTool>>projectClone:cloneWithSSH:defaultProjectEntryPath:gitRootPath:checkout:
>>> @22 line 33
>>> 35. [] in TDMetacelloTool>>projectclone @55 line 70
>>> 36. Dictionary(AbstractDictionary)>>at:ifPresent:ifAbsent: @3 line 5
>>> 37. TDMetacelloTool>>projectclone @4 line 24
>>> 38. TDMetacelloTool(Object)>>perform: @1 line 8
>>> 39. TDMetacelloTool class(TDAbstractDevTool
>>> class)>>performSubCommand:objIn:commandOptions:todeCommand: @26 line 23
>>> 40. [] in TDMetacelloTool class>>project @5 line 5
>>> 41. ExecBlock4(ExecBlock)>>cull:cull:cull:cull: @20 line 14
>>> 42. TDTopezServer>>evaluateCommand:objIn: @18 line 22
>>> 43. [] in TDTopezServer>>evaluateCommandStream: @8 line 6
>>> 44. [] in TDCommandLine class>>line:forEachCommand: @19 line 12
>>> 45. OrderedCollection(Collection)>>do: @5 line 10
>>> 46. TDCommandLine class>>line:forEachCommand: @3 line 5
>>> 47. [] in TDCommandLine class>>fromStream:selectLine:forEachCommand: @39
>>> line 28
>>> 48. OrderedCollection(Collection)>>do: @5 line 10
>>> 49. TDCommandLine class>>fromStream:selectLine:forEachCommand: @33 line
>>> 26
>>> 50. TDCommandLine class>>fromStream:forEachCommand: @2 line 4
>>> 51. TDTopezServer>>evaluateCommandStream: @2 line 4
>>> 52. TDTopezServer>>evaluateCommandString: @3 line 2
>>> 53. [] in
>>> TDProjectSpecEntryDefinition(TDProjectEntryDefinition)>>installProjectUsing:registration:
>>> @11 line 4
>>> 54. ExecBlock0(ExecBlock)>>on:do: @3 line 44
>>> 55.
>>> TDProjectSpecEntryDefinition(TDProjectEntryDefinition)>>installProjectUsing:registration:
>>> @5 line 5
>>> 56.
>>> TDMetacelloUnloadedProjectRegistrationDefinition(TDMetacelloProjectRegistrationDefinition)>>installProjectUsing:
>>> @3 line 2
>>> 57. TDMetacelloTool>>projectInstallFor: @2 line 2
>>> 58. TDMetacelloTool>>projectInstall: @4 line 4
>>> 59. TDMetacelloTool>>projectinstall @4 line 31
>>> 60. TDMetacelloTool(Object)>>perform: @1 line 8
>>> 61. TDMetacelloTool class(TDAbstractDevTool
>>> class)>>performSubCommand:objIn:commandOptions:todeCommand: @26 line 23
>>> 62. [] in TDMetacelloTool class>>project @5 line 5
>>> 63. ExecBlock4(ExecBlock)>>cull:cull:cull:cull: @20 line 14
>>> 64. TDTopezServer>>evaluateCommand:objIn: @18 line 22
>>> 65. TDTopezServer>>evaluateSTONCommand: @9 line 6
>>> 66. Executed Code
>>> 67. GsNMethod class>>_gsReturnToC @1 line 11
>>>
>>>
>>> The error seems to be the same that when I tried to load the packages.
>>> The inspector window gives the following information:
>>>
>>>
>>> [] in
>>> MetacelloGemStonePlatform>>downloadJSON:eTagsCache:eTagsKey:username:pass:
>>> @92 line 68
>>> --------------------
>>> .             -> [] in
>>> MetacelloGemStonePlatform>>downloadJSON:eTagsCache:eTagsKey:username:pass:
>>> @92 line 68
>>> self          -> aMetacelloGemStonePlatform
>>> errorBlock    -> anExecBlock2
>>> errorFileName -> '/tmp/curl-8880-tmptags8880json.err'
>>> etagInfo      -> aDictionary( )
>>> eTagsCache    -> aDictionary( 'GsDevKit/Seaside31'->aDictionary( ))
>>> eTagsKey      -> 'GsDevKit/Seaside31'
>>> eTagsUrl      -> 'https://api.github.com/repos/GsDevKit/Seaside31/tags'
>>> fileStream    -> aBinaryOrTextFile
>>> headerDict    -> aDictionary( 'x-xss-protection'->'0',
>>> 'x-ratelimit-remaining'->'59', 'vary'->'Accept, Accept-Encoding, Accept,
>>> X-Requested-With', 'etag'-...
>>> jsonFile      -> aServerFileDirectory
>>> jsonFileName  -> '/tmp/tags-8880.json'
>>> jsonObject    -> anArray[207044097]( aDictionary( 'commit'->aDictionary(
>>> 'sha'->'55f1bac4334065c80a89f9f81b2d57e61d8b01c3', 'url'->'
>>> https://api.github.com...
>>> pass          -> nil
>>> payload       -> '[ { "name": "v3.1.4.2-gs", "zipball_url": "
>>> https://api.github.com/repos/GsDevKit/Seaside31/zipball/refs/tags/v3.1.4.2-gs",
>>> "t. . .'
>>> status        -> '403'
>>> tag           -> nil
>>> url           -> 'https://api.github.com/repos/GsDevKit/Seaside31/tags'
>>> username      -> nil
>>> (thisContext) -> [] in
>>> MetacelloGemStonePlatform>>downloadJSON:eTagsCache:eTagsKey:username:pass:
>>> @92 line 68
>>>
>>> The file '/tmp/curl-8880-tmptags8880json.err' has the following contents:
>>>
>>> -----START OF FILE-----
>>>   % Total    % Received % Xferd  Average Speed   Time    Time     Time
>>>  Current
>>>                                  Dload  Upload   Total   Spent    Left
>>>  Speed
>>>
>>>   0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--
>>>     0
>>>   6  4419    6   295    0     0    660      0  0:00:06 --:--:--  0:00:06
>>>   659
>>> 100  4419  100  4419    0     0   9870      0 --:--:-- --:--:-- --:--:--
>>>  9863
>>> -----END OF FILE-----
>>>
>>> The file '/tmp/tags-8880.json' has the following contents:
>>>
>>> -----START OF FILE-----
>>> HTTP/2 200
>>> server: GitHub.com
>>> date: Fri, 07 Jan 2022 21:35:05 GMT
>>> content-type: application/json; charset=utf-8
>>> cache-control: public, max-age=60, s-maxage=60
>>> vary: Accept, Accept-Encoding, Accept, X-Requested-With
>>> etag:
>>> W/"6cec2f5c39604a85c812b3f81160363597deeb49b5387df7e75866b339cda9a2"
>>> last-modified: Tue, 16 Apr 2019 18:33:33 GMT
>>> x-github-media-type: github.v3; format=json
>>> access-control-expose-headers: ETag, Link, Location, Retry-After,
>>> X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used,
>>> X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes,
>>> X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type,
>>> X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset
>>> access-control-allow-origin: *
>>> strict-transport-security: max-age=31536000; includeSubdomains; preload
>>> x-frame-options: deny
>>> x-content-type-options: nosniff
>>> x-xss-protection: 0
>>> referrer-policy: origin-when-cross-origin,
>>> strict-origin-when-cross-origin
>>> content-security-policy: default-src 'none'
>>> x-ratelimit-limit: 60
>>> x-ratelimit-remaining: 59
>>> x-ratelimit-reset: 1641594905
>>> x-ratelimit-resource: core
>>> x-ratelimit-used: 1
>>> accept-ranges: bytes
>>> content-length: 4419
>>> x-github-request-id: 834A:138F:112672:13821B:61D8B209
>>>
>>> [
>>>   {
>>>     "name": "v3.1.4.2-gs",
>>>     "zipball_url": "
>>> https://api.github.com/repos/GsDevKit/Seaside31/zipball/refs/tags/v3.1.4.2-gs
>>> ",
>>>     "tarball_url": "
>>> https://api.github.com/repos/GsDevKit/Seaside31/tarball/refs/tags/v3.1.4.2-gs
>>> ",
>>>     "commit": {
>>>       "sha": "55f1bac4334065c80a89f9f81b2d57e61d8b01c3",
>>>       "url": "
>>> https://api.github.com/repos/GsDevKit/Seaside31/commits/55f1bac4334065c80a89f9f81b2d57e61d8b01c3
>>> "
>>>     },
>>>     "node_id": "MDM6UmVmODYzMzA2ODpyZWZzL3RhZ3MvdjMuMS40LjItZ3M="
>>>   },
>>>   {
>>>     "name": "v3.1.4.1-gs",
>>>     "zipball_url": "
>>> https://api.github.com/repos/GsDevKit/Seaside31/zipball/refs/tags/v3.1.4.1-gs
>>> ",
>>>     "tarball_url": "
>>> https://api.github.com/repos/GsDevKit/Seaside31/tarball/refs/tags/v3.1.4.1-gs
>>> ",
>>>     "commit": {
>>>       "sha": "839c99bef7328014a5feb5ad1b11f68ac3f38b5d",
>>>       "url": "
>>> https://api.github.com/repos/GsDevKit/Seaside31/commits/839c99bef7328014a5feb5ad1b11f68ac3f38b5d
>>> "
>>>     },
>>>     "node_id": "MDM6UmVmODYzMzA2ODpyZWZzL3RhZ3MvdjMuMS40LjEtZ3M="
>>>   },
>>>   {
>>>     "name": "v3.1.4-gs",
>>>     "zipball_url": "
>>> https://api.github.com/repos/GsDevKit/Seaside31/zipball/refs/tags/v3.1.4-gs
>>> ",
>>>     "tarball_url": "
>>> https://api.github.com/repos/GsDevKit/Seaside31/tarball/refs/tags/v3.1.4-gs
>>> ",
>>>     "commit": {
>>>       "sha": "72a2da4fe2a4ba1030cea00152e8768ef7d2de13",
>>>       "url": "
>>> https://api.github.com/repos/GsDevKit/Seaside31/commits/72a2da4fe2a4ba1030cea00152e8768ef7d2de13
>>> "
>>>     },
>>>     "node_id": "MDM6UmVmODYzMzA2ODpyZWZzL3RhZ3MvdjMuMS40LWdz"
>>>   },
>>>   {
>>>     "name": "v3.1.3.1-gs",
>>>     "zipball_url": "
>>> https://api.github.com/repos/GsDevKit/Seaside31/zipball/refs/tags/v3.1.3.1-gs
>>> ",
>>>     "tarball_url": "
>>> https://api.github.com/repos/GsDevKit/Seaside31/tarball/refs/tags/v3.1.3.1-gs
>>> ",
>>>     "commit": {
>>>       "sha": "4a81a77a6099f4e0860e0eea3b712e733071b54a",
>>>       "url": "
>>> https://api.github.com/repos/GsDevKit/Seaside31/commits/4a81a77a6099f4e0860e0eea3b712e733071b54a
>>> "
>>>     },
>>>     "node_id": "MDM6UmVmODYzMzA2ODpyZWZzL3RhZ3MvdjMuMS4zLjEtZ3M="
>>>   },
>>>   {
>>>     "name": "v3.1.3-gs",
>>>     "zipball_url": "
>>> https://api.github.com/repos/GsDevKit/Seaside31/zipball/refs/tags/v3.1.3-gs
>>> ",
>>>     "tarball_url": "
>>> https://api.github.com/repos/GsDevKit/Seaside31/tarball/refs/tags/v3.1.3-gs
>>> ",
>>>     "commit": {
>>>       "sha": "5e9d3fd2a25f69eda78a4d5cf085b90fa04ebed5",
>>>       "url": "
>>> https://api.github.com/repos/GsDevKit/Seaside31/commits/5e9d3fd2a25f69eda78a4d5cf085b90fa04ebed5
>>> "
>>>     },
>>>     "node_id": "MDM6UmVmODYzMzA2ODpyZWZzL3RhZ3MvdjMuMS4zLWdz"
>>>   },
>>>   {
>>>     "name": "v3.1.2.1-gs",
>>>     "zipball_url": "
>>> https://api.github.com/repos/GsDevKit/Seaside31/zipball/refs/tags/v3.1.2.1-gs
>>> ",
>>>     "tarball_url": "
>>> https://api.github.com/repos/GsDevKit/Seaside31/tarball/refs/tags/v3.1.2.1-gs
>>> ",
>>>     "commit": {
>>>       "sha": "b739758692a49257ae983f59e1d8dc51012dc5b7",
>>>       "url": "
>>> https://api.github.com/repos/GsDevKit/Seaside31/commits/b739758692a49257ae983f59e1d8dc51012dc5b7
>>> "
>>>     },
>>>     "node_id": "MDM6UmVmODYzMzA2ODpyZWZzL3RhZ3MvdjMuMS4yLjEtZ3M="
>>>   },
>>>   {
>>>     "name": "v3.1.2-gs",
>>>     "zipball_url": "
>>> https://api.github.com/repos/GsDevKit/Seaside31/zipball/refs/tags/v3.1.2-gs
>>> ",
>>>     "tarball_url": "
>>> https://api.github.com/repos/GsDevKit/Seaside31/tarball/refs/tags/v3.1.2-gs
>>> ",
>>>     "commit": {
>>>       "sha": "b63324ef268def592ec48fc88b617cbc09bfcdd5",
>>>       "url": "
>>> https://api.github.com/repos/GsDevKit/Seaside31/commits/b63324ef268def592ec48fc88b617cbc09bfcdd5
>>> "
>>>     },
>>>     "node_id": "MDM6UmVmODYzMzA2ODpyZWZzL3RhZ3MvdjMuMS4yLWdz"
>>>   },
>>>   {
>>>     "name": "3.1.1.3-gs31",
>>>     "zipball_url": "
>>> https://api.github.com/repos/GsDevKit/Seaside31/zipball/refs/tags/3.1.1.3-gs31
>>> ",
>>>     "tarball_url": "
>>> https://api.github.com/repos/GsDevKit/Seaside31/tarball/refs/tags/3.1.1.3-gs31
>>> ",
>>>     "commit": {
>>>       "sha": "da304b220e6cb5bcb7c333a8a37bb0446f81ab74",
>>>       "url": "
>>> https://api.github.com/repos/GsDevKit/Seaside31/commits/da304b220e6cb5bcb7c333a8a37bb0446f81ab74
>>> "
>>>     },
>>>     "node_id": "MDM6UmVmODYzMzA2ODpyZWZzL3RhZ3MvMy4xLjEuMy1nczMx"
>>>   },
>>>   {
>>>     "name": "3.1.1-gs31",
>>>     "zipball_url": "
>>> https://api.github.com/repos/GsDevKit/Seaside31/zipball/refs/tags/3.1.1-gs31
>>> ",
>>>     "tarball_url": "
>>> https://api.github.com/repos/GsDevKit/Seaside31/tarball/refs/tags/3.1.1-gs31
>>> ",
>>>     "commit": {
>>>       "sha": "9c53917253e0512a8a3ffd569b6d20fea8c5179e",
>>>       "url": "
>>> https://api.github.com/repos/GsDevKit/Seaside31/commits/9c53917253e0512a8a3ffd569b6d20fea8c5179e
>>> "
>>>     },
>>>     "node_id": "MDM6UmVmODYzMzA2ODpyZWZzL3RhZ3MvMy4xLjEtZ3MzMQ=="
>>>   }
>>> ]
>>> -----END OF FILE-----
>>>
>>>
>>> So, I tried to remove Seaside, I did the following:
>>>
>>> tode 1 > project unlock Seaside3
>>> [225346049 sz:10 TDMetacelloTool] aTDMetacelloTool
>>> tode 1 > project unregister Seaside3
>>> [226365953 sz:10 TDMetacelloTool] aTDMetacelloTool
>>> tode 1 > project delete Seaside3
>>> [208488449 sz:10 TDMetacelloTool] aTDMetacelloTool
>>> tode 1 > project unlock GsApplicationTools
>>> [208475649 sz:10 TDMetacelloTool] aTDMetacelloTool
>>> tode 1 > project unregister GsApplicationTools
>>> [208450305 sz:10 TDMetacelloTool] aTDMetacelloTool
>>> tode 1 > project delete GsApplicationTools
>>> [207945473 sz:10 TDMetacelloTool] aTDMetacelloTool
>>>
>>> And then reinstalled it:
>>>
>>> tode 1 > project install --url=
>>> https://gsdevkit.github.io/GsDevKit_home/Seaside32.ston
>>>
>>> 'cd $GS_HOME/shared/repos; git clone  --no-checkout
>>> https://github.com/SeasideSt/Seaside.git'
>>> Clonando en 'Seaside'...
>>>
>>> 'cd $GS_HOME/shared/repos/Seaside; git --git-dir
>>> $GS_HOME/shared/repos/Seaside/.git --work-tree
>>> $GS_HOME/shared/repos/Seaside checkout master'
>>> Ya en 'master'
>>> Tu rama está actualizada con 'origin/master'.
>>>
>>> 'cd $GS_HOME/shared/repos/Seaside; git --git-dir
>>> $GS_HOME/shared/repos/Seaside/.git --work-tree
>>> $GS_HOME/shared/repos/Seaside symbolic-ref HEAD'
>>> refs/heads/master
>>>
>>> 'cd $GS_HOME/shared/repos; git clone  --no-checkout
>>> https://github.com/GsDevKit/gsApplicationTools.git'
>>> Clonando en 'gsApplicationTools'...
>>>
>>> 'cd $GS_HOME/shared/repos/gsApplicationTools; git --git-dir
>>> $GS_HOME/shared/repos/gsApplicationTools/.git --work-tree
>>> $GS_HOME/shared/repos/gsApplicationTools checkout master'
>>> Ya en 'master'
>>> Tu rama está actualizada con 'origin/master'.
>>>
>>> 'cd $GS_HOME/shared/repos/gsApplicationTools; git --git-dir
>>> $GS_HOME/shared/repos/gsApplicationTools/.git --work-tree
>>> $GS_HOME/shared/repos/gsApplicationTools symbolic-ref HEAD'
>>> refs/heads/master
>>> [226664449 sz:18 TDProjectSpecEntryDefinition] ^
>>> TDProjectSpecEntryDefinition new
>>>     baseline: 'Seaside3'
>>>       repository: 'github://SeasideSt/Seaside:master/repository'
>>>       loads: #(...
>>> tode 1 >
>>>
>>> And it seemed to work, now the project window reports:
>>>
>>> aTDMetacelloProjectBrowser
>>> --------------------
>>> |* Grease|            eef515d [master]
>>> filetree:///home/eze/dev/smalltalk/gemstone/GsDevKit_home/shared/repos/Grease/repository
>>> + GsDevKit_home       e3b4149 [master]       $GS_HOME
>>> |Foo|
>>>  filetree://$GS_HOME/shared/repos/Foo/repository
>>> |NeoJSON|
>>>  filetree://$GS_HOME/shared/repos/NeoJSON/repository
>>> |FileTree|            28ab532 [gemstone2.4]
>>>  filetree:///home/eze/dev/smalltalk/gemstone/GsDevKit_home/shared/repos/filetree/repository
>>> |GLASS1|              b3209f2d [master]
>>>  filetree:///home/eze/dev/smalltalk/gemstone/GsDevKit_home/shared/repos/glass/repository
>>> Gofer                 1.0.5.4 [release]
>>> http://seaside.gemtalksystems.com/ss/metacello
>>> |Metacello|           e3963155 [master]
>>>  filetree:///home/eze/dev/smalltalk/gemstone/GsDevKit_home/shared/repos/metacello-work/repository
>>> |RB|                  00d0408 [dev]
>>>  filetree:///home/eze/dev/smalltalk/gemstone/GsDevKit_home/shared/repos/rb/repository
>>> |Ston|                daadc02 [gemstone]
>>> filetree:///home/eze/dev/smalltalk/gemstone/GsDevKit_home/shared/repos/ston/repository
>>> |Tode|                60a33e11c [master]
>>> filetree:///home/eze/dev/smalltalk/gemstone/GsDevKit_home/shared/repos/tode/repository
>>> |ZincHTTPComponents|  2c834394 [gs_master]
>>> filetree:///home/eze/dev/smalltalk/gemstone/GsDevKit_home/shared/repos/zinc/repository
>>> |Zodiac|              0cf6770 [gs_master]
>>>  filetree:///home/eze/dev/smalltalk/gemstone/GsDevKit_home/shared/repos/zodiac/repository
>>> |GsApplicationTools|
>>> filetree://$GS_HOME/shared/repos/gsApplicationTools/repository
>>> |PharoCompatibility|
>>> filetree:///home/eze/dev/smalltalk/gemstone/GsDevKit_home/shared/repos/PharoCompatibility/repository
>>> |Seaside3|
>>> filetree://$GS_HOME/shared/repos/Seaside/repository
>>> |SmalltalkCI|
>>>  filetree:///home/eze/dev/smalltalk/gemstone/GsDevKit_home/shared/repos/smalltalkCI/repository
>>>
>>> But then it fails when I try to load it:
>>>
>>> tode 1 > project load --loads=`#('Welcome' 'Development' 'Zinc Project'
>>> 'Examples')` Seaside3
>>>
>>> It fails compiling a method.
>>>
>>> This is the stacktrace:
>>>
>>> UserDefinedError: Compile error in Class: #'GRPlatformTest' method:
>>>  testGreaseString
>>>            self assert: 'Timberwolf' greaseString...
>>> --------------------
>>> 1. UserDefinedError(AbstractException)>>_signalWith: @5 line 25
>>> 2. UserDefinedError(AbstractException)>>signal @2 line 47
>>> 3. GRPlatformTest class(Object)>>error: @6 line 7
>>> 4. GRPlatformTest class(Behavior)>>compileMethod:category: @9 line 16
>>> 5. MCPlatformSupport class>>compile:source:classified:withStamp: @4 line
>>> 5
>>> 6. MCMethodDefinition>>load @3 line 3
>>> 7. MCMethodDefinition(MCDefinition)>>loadOver: @2 line 2
>>> 8. [] in MCPackageLoader>>basicLoad @66 line 18
>>> 9. MessageNotUnderstood(AbstractException)>>_executeHandler: @7 line 11
>>> 10. MessageNotUnderstood(AbstractException)>>_signalWith: @1 line 2
>>> 11. MessageNotUnderstood(AbstractException)>>signal @2 line 47
>>> 12. MCMethodDefinition(Object)>>doesNotUnderstand: @9 line 10
>>> 13. MCMethodDefinition(Object)>>_doesNotUnderstand:args:envId:reason: @8
>>> line 14
>>> 14. [] in MCPackageLoader>>basicLoad @61 line 14
>>> 15. ExecBlock0(ExecBlock)>>on:do: @3 line 44
>>> 16. [] in UndefinedObject(MCPackageLoader)>>basicLoad @56 line 15
>>> 17. ExecBlock0(ExecBlock)>>on:do: @3 line 44
>>> 18. [] in UndefinedObject(MCPackageLoader)>>basicLoad @52 line 19
>>> 19. OrderedCollection(Collection)>>do: @5 line 10
>>> 20. OrderedCollection(Collection)>>do:displayingProgress: @2 line 3
>>> 21. [] in MCPackageLoader>>basicLoad @24 line 13
>>> 22. ExecBlock0(ExecBlock)>>on:do: @3 line 44
>>> 23. [] in MCPackageLoader>>basicLoad @15 line 49
>>> 24. ExecBlock0(ExecBlock)>>ensure: @2 line 12
>>> 25. MCPackageLoader>>basicLoad @11 line 51
>>> 26. [] in MCPackageLoader>>loadWithNameLike: @12 line 4
>>> 27. [] in UndefinedObject(MCPackageLoader)>>useChangeSetNamed:during:
>>> @13 line 9
>>> 28. ExecBlock0(ExecBlock)>>ensure: @2 line 12
>>> 29. MCPackageLoader>>useChangeSetNamed:during: @9 line 9
>>> 30. MCPackageLoader>>useNewChangeSetNamedLike:during: @3 line 2
>>> 31. MCPackageLoader>>loadWithNameLike: @6 line 4
>>> 32. MCVersionLoader>>load @9 line 6
>>> 33. MetacelloGoferLoad(GoferLoad)>>execute @6 line 3
>>> 34. [] in
>>> UndefinedObject(MetacelloCommonMCSpecLoader)>>loadPackageDirective:gofer:
>>> @46 line 17
>>> 35. [] in
>>> MetacelloLoadingMCSpecLoader(MetacelloCommonMCSpecLoader)>>loadPackageDirective:gofer:
>>> @23 line 21
>>> 36. MetacelloGemStonePlatform(MetacelloPlatform)>>do:displaying: @2 line
>>> 3
>>> 37.
>>> MetacelloLoadingMCSpecLoader(MetacelloCommonMCSpecLoader)>>loadPackageDirective:gofer:
>>> @7 line 5
>>> 38.
>>> MetacelloLinearLoadDirective(MetacelloVersionLoadDirective)>>loadPackageDirective:gofer:
>>> @4 line 4
>>> 39. MetacelloPackageLoadDirective>>loadUsing:gofer: @2 line 3
>>> 40. [] in
>>> UndefinedObject(MetacelloVersionLoadDirective)>>loadLinearLoadDirective:gofer:
>>> @8 line 3
>>> 41. OrderedCollection(Collection)>>do: @5 line 10
>>> 42.
>>> MetacelloLinearLoadDirective(MetacelloVersionLoadDirective)>>loadLinearLoadDirective:gofer:
>>> @3 line 3
>>> 43. MetacelloLinearLoadDirective>>loadUsing:gofer: @6 line 4
>>> 44. [] in
>>> UndefinedObject(MetacelloVersionLoadDirective)>>loadLinearLoadDirective:gofer:
>>> @8 line 3
>>> 45. OrderedCollection(Collection)>>do: @5 line 10
>>> 46.
>>> MetacelloLinearLoadDirective(MetacelloVersionLoadDirective)>>loadLinearLoadDirective:gofer:
>>> @3 line 3
>>> 47. MetacelloLinearLoadDirective>>loadUsing:gofer: @6 line 4
>>> 48. [] in
>>> UndefinedObject(MetacelloVersionLoadDirective)>>loadLinearLoadDirective:gofer:
>>> @8 line 3
>>> 49. OrderedCollection(Collection)>>do: @5 line 10
>>> 50.
>>> MetacelloLinearLoadDirective(MetacelloVersionLoadDirective)>>loadLinearLoadDirective:gofer:
>>> @3 line 3
>>> 51. MetacelloLinearLoadDirective>>loadUsing:gofer: @6 line 4
>>> 52.
>>> MetacelloLinearLoadDirective(MetacelloVersionLoadDirective)>>loadWithPolicy:
>>> @7 line 7
>>> 53. MetacelloLoaderPolicy>>load @6 line 4
>>> 54. MetacelloFetchingMCSpecLoader>>doLoad @4 line 3
>>> 55. [] in UndefinedObject(MetacelloMCVersion)>>doLoadRequiredFromArray:
>>> @40 line 12
>>> 56. MetacelloGemStonePlatform(MetacelloPlatform)>>do:displaying: @2 line
>>> 3
>>> 57. [] in MetacelloMCVersion>>doLoadRequiredFromArray: @31 line 12
>>> 58. ExecBlock0(ExecBlock)>>ensure: @2 line 12
>>> 59. MetacelloMCVersion>>doLoadRequiredFromArray: @22 line 16
>>> 60. Array(Collection)>>loadRequiredForMetacelloMCVersion: @2 line 3
>>> 61. MetacelloMCVersion>>load: @2 line 3
>>> 62. [] in
>>> MetacelloScriptEngine>>load:onProjectDownGrade:onProjectUpgrade: @18 line 16
>>> 63. ExecBlock0(ExecBlock)>>on:do: @3 line 44
>>> 64. [] in MetacelloScriptEngine>>handleNotificationsForAction: @20 line 6
>>> 65. ExecBlock0(ExecBlock)>>on:do: @3 line 44
>>> 66. [] in MetacelloScriptEngine>>handleNotificationsForAction: @12 line
>>> 14
>>> 67. ExecBlock0(ExecBlock)>>on:do: @3 line 44
>>> 68. [] in MetacelloScriptEngine>>handleNotificationsForAction: @6 line 20
>>> 69. ExecBlock0(ExecBlock)>>on:do: @3 line 44
>>> 70. MetacelloScriptEngine>>handleNotificationsForAction: @2 line 24
>>> 71. [] in
>>> MetacelloScriptEngine>>load:onProjectDownGrade:onProjectUpgrade: @6 line 5
>>> 72. ExecBlock0(ExecBlock)>>ensure: @2 line 12
>>> 73. MetacelloProjectRegistration class>>copyRegistryRestoreOnErrorWhile:
>>> @8 line 14
>>> 74. MetacelloScriptEngine>>load:onProjectDownGrade:onProjectUpgrade: @2
>>> line 3
>>> 75. MetacelloScriptEngine>>load: @2 line 3
>>> 76. MetacelloScriptEngine(Object)>>perform:withArguments: @1 line 12
>>> 77. [] in MetacelloScriptApiExecutor(MetacelloScriptExecutor)>>execute:
>>> @40 line 15
>>> 78. [] in MetacelloScriptApiExecutor>>executeString:do: @13 line 6
>>> 79. Array(Collection)>>do: @5 line 10
>>> 80. MetacelloScriptApiExecutor>>executeString:do: @6 line 4
>>> 81. String>>execute:against: @2 line 2
>>> 82. MetacelloScriptApiExecutor(MetacelloScriptExecutor)>>execute: @6
>>> line 9
>>> 83. Metacello>>execute:args: @8 line 5
>>> 84. Metacello>>load: @2 line 2
>>> 85. [] in TDMetacelloTool>>basicProjectLoadFromSpec: @102 line 47
>>> 86. [] in GsDeployer>>deploy: @21 line 8
>>> 87. ExecBlock0(ExecBlock)>>on:do: @3 line 44
>>> 88. [] in GsDeployer>>deploy: @7 line 9
>>> 89. [] in MCPlatformSupport class>>commitOnAlmostOutOfMemoryDuring: @11
>>> line 7
>>> 90. ExecBlock0(ExecBlock)>>ensure: @2 line 12
>>> 91. MCPlatformSupport class>>commitOnAlmostOutOfMemoryDuring: @6 line 8
>>> 92. [] in UndefinedObject(GsDeployer)>>mcPlatformSupportDo: @13 line 11
>>> 93. ExecBlock0(ExecBlock)>>ensure: @2 line 12
>>> 94. GsDeployer>>mcPlatformSupportDo: @9 line 12
>>> 95. GsDeployer>>deploy: @2 line 3
>>> 96. GsDeployer class>>bulkMigrate: @5 line 15
>>> 97. TDMetacelloTool>>basicProjectLoadFromSpec: @62 line 61
>>> 98.
>>> TDProjectSpecEntryDefinition>>projectLoadFromSpec:using:registration: @8
>>> line 5
>>> 99.
>>> TDMetacelloUnloadedProjectRegistrationDefinition(TDMetacelloProjectRegistrationDefinition)>>projectLoadFromSpec:using:
>>> @3 line 3
>>> 100. TDMetacelloTool>>projectLoadFromSpec:registration: @2 line 2
>>> 101. [] in TDMetacelloTool>>projectload @247 line 151
>>> 102. Dictionary(AbstractDictionary)>>at:ifPresent:ifAbsent: @3 line 5
>>> 103. TDMetacelloTool>>projectload @62 line 148
>>> 104. TDMetacelloTool(Object)>>perform: @1 line 8
>>> 105. TDMetacelloTool class(TDAbstractDevTool
>>> class)>>performSubCommand:objIn:commandOptions:todeCommand: @26 line 23
>>> 106. [] in TDMetacelloTool class>>project @5 line 5
>>> 107. ExecBlock4(ExecBlock)>>cull:cull:cull:cull: @20 line 14
>>> 108. TDTopezServer>>evaluateCommand:objIn: @18 line 22
>>> 109. TDTopezServer>>evaluateSTONCommand: @9 line 6
>>> 110. Executed Code
>>> 111. GsNMethod class>>_gsReturnToC @1 line 11
>>>
>>> This is the method that it tried to compile:
>>>
>>> testGreaseString
>>> self assert: 'Timberwolf' greaseString = 'Timberwolf'.
>>> self assert: #DireWolf greaseString = 'DireWolf'.
>>> self deny: #DireWolf greaseString isSymbol.
>>> self assert: true greaseString = 'true'.
>>> self assert: 666 greaseString = '666'.
>>> "make sure we're not immediate"
>>> self assert: ((2 raisedTo: 64) + 1) greaseString =
>>> '18446744073709551617'.
>>> "make sure we're not immediate"
>>> self assert: ((2 raisedTo: 64) + 1) negated greaseString =
>>> '-18446744073709551617'.
>>> self assert: $A greaseString = 'A'.
>>> self assert: nil greaseString = 'nil'.
>>> [ "Smalltalk/X has constant folding so 1 / 0 will be evaluated at
>>> compile time
>>> resulting in an error when loading the code."
>>> 1 perform: #/ with: 0 ]
>>> on: ZeroDivide
>>> do: [ :error | self assert: error greaseString isString ].
>>> self assert: 15.25 greaseString = '15.25'.
>>> self assert: nil greaseString isString.
>>> self assert: (4 @ 2) greaseString = '4 at 2'.
>>> "#greaseString for a byte array should not do any decoding
>>> this is in place to catch encoding errors early"
>>> self assert: #(101 97 ) asByteArray greaseString ~= 'ea'.
>>> self assert: #(101 97 ) asByteArray greaseString isString.
>>> self assert: Object new greaseString isString.
>>> "Printing scaled decimals (https://github.com/SeasideSt/Grease/issues/1
>>> )"
>>> self assert: 1.21s3 greaseString = '1.210'.
>>> self assert: -1.21s3 greaseString = '-1.210'
>>>
>>>
>>> I don't see any syntax errors there.
>>>
>>> So, I'm not sure what's going on. Now I have to leave, but I'll try to
>>> delete everything and start again from scratch when I come back.
>>>
>>> Thank you very much for your help!
>>>
>>> --
>>> Ezequiel R. Aguerre
>>>
>>>
>>> El vie, 7 ene 2022 a la(s) 15:40, Dale Henrichs via Glass (
>>> glass at lists.gemtalksystems.com) escribió:
>>>
>>>> Ezequiel,
>>>>
>>>> When you get a tODE debugger window on an error:
>>>> [image: image.png]
>>>> you can use the `step *` menu items (and keyboard shortcuts) to control
>>>> stepping ... for reporting errors the `Window>>print window` produces a
>>>> test window that contains all of the frames in a form that you can copy
>>>> from (print window is available for every tODE window).
>>>>
>>>> So providing us with a print of the stack window will help us
>>>> understand the error you are getting in more detail ... providing a print
>>>> window of the `project list` will give us information about all of the
>>>> projects you have loaded and more importantly the version/SHA/branch that
>>>> you are using for each of those projects. Here's the "print window" from
>>>> `project list` in my image:
>>>>
>>>>> --------------------
>>>>> + FileSystemGemStone
>>>>>  filetree://$GS_HOME/shared/repos/FileSystem-GemStone/repository
>>>>> |GsSqueak|
>>>>>  filetree://$GS_HOME/shared/repos/BP2017RH1/dhenrich/tODEIntegration/src
>>>>> |RemoteServiceReplication|
>>>>>  filetree:///home/dhenrich/rogue/_homes/rogue/_home/shared/repos/RemoteServiceReplication/filetree
>>>>> |FileTree|                  28ab532 [gemstone2.4]
>>>>> filetree:///home/dhenrich/rogue/_homes/rogue/_home/shared/repos/filetree/repository
>>>>> |GLASS1|                    d78deea2 ^ b3209f2d [master]
>>>>>  filetree:///home/dhenrich/rogue/_homes/rogue/_home/shared/repos/glass/repository
>>>>> GsDevKit_home               82c7842 [master]                $GS_HOME
>>>>> |Tonel|
>>>>> filetree://$GS_HOME/shared/repos/tonel/src
>>>>> Gofer                       1.0.5.4 [release]
>>>>> http://seaside.gemtalksystems.com/ss/metacello
>>>>> |Grease|                    3466bfa ^ eef515d [master]
>>>>>  filetree:///home/dhenrich/rogue/_homes/rogue/_home/shared/repos/Grease/repository
>>>>> |Metacello|                 0128f801 [master]
>>>>> filetree:///home/dhenrich/rogue/_homes/rogue/_home/shared/repos/metacello-work/repository
>>>>> |RB|                        6790c6e [dev]
>>>>> filetree:///home/dhenrich/rogue/_homes/rogue/_home/shared/repos/rb/repository
>>>>> |Ston|                      eb35c53 [gemstone]
>>>>>  filetree:///home/dhenrich/rogue/_homes/rogue/_home/shared/repos/ston/repository
>>>>> |ZincHTTPComponents|        eddbfb0 ^ 2c834394 [gs_master]
>>>>>  filetree:///home/dhenrich/rogue/_homes/rogue/_home/shared/repos/zinc/repository
>>>>> |Tode|                      5957d0464 [master]
>>>>>  filetree:///home/dhenrich/rogue/_homes/rogue/_home/shared/repos/tode/repository
>>>>> |Zodiac|                    58b1125 [gs_master]
>>>>> filetree:///home/dhenrich/rogue/_homes/rogue/_home/shared/repos/zodiac/repository
>>>>> BitmapCharacterSet
>>>>>  github://GsDevKit/BitmapCharacterSet:gemstone/filetree
>>>>> |GsApplicationTools|
>>>>>  filetree://$GS_HOME/shared/repos/gsApplicationTools/repository
>>>>> |Obex|
>>>>>  filetree://$GS_HOME/shared/repos/obex/repository
>>>>> OrderPreservingDictionary
>>>>> github://GsDevKit/OrderPreservingDictionary:gemstone/filetree
>>>>> |Parasol|
>>>>> filetree://$GS_HOME/shared/repos/Parasol/repository
>>>>> |PharoCompatibility|
>>>>>  filetree:///home/dhenrich/rogue/_homes/rogue/_home/shared/repos/PharoCompatibility/repository
>>>>> |Seaside3|
>>>>>  filetree://$GS_HOME/shared/repos/Seaside/repository
>>>>> SIXX
>>>>>  github://glassdb/SIXX:master/repository
>>>>> |SmalltalkCI|
>>>>> filetree:///home/dhenrich/rogue/_homes/rogue/_home/shared/repos/smalltalkCI/repository
>>>>> XMLParser
>>>>> github://GsDevKit/XML-XMLParser:gemstone/filetree
>>>>> XMLWriter
>>>>> github://GsDevKit/XML-XMLWriter:gemstone/filetree
>>>>> XPath
>>>>> github://GsDevKit/XML-XPath:gemstone/filetree
>>>>
>>>> using "print window" is preferable to a screen shot, because we can use
>>>> copy and paste to extract information from the window (and it's easier for
>>>> you to extract information from the system and paste it into bug reports as
>>>> well)
>>>>
>>>> Dale
>>>>
>>>> On Fri, Jan 7, 2022 at 7:16 AM Johan Brichau via Glass <
>>>> glass at lists.gemtalksystems.com> wrote:
>>>>
>>>>> Hi Ezequiel,
>>>>>
>>>>> I am using the same instructions for loading the current Seaside
>>>>> master in a GsDevkit stone, so let’s see what is happening in your case…
>>>>>
>>>>> Which version of GemStone are you using?
>>>>>
>>>>> From the variables you are quoting, it seems that you are trying to
>>>>> load the (old) Seaside31 project.
>>>>> That should not be happening of the project was defined correctly. So,
>>>>> the root cause is probably because the first step is failing.
>>>>>
>>>>> Can you give more info on what is ‘failing’ when you type:
>>>>> project install --url=
>>>>> http://gsdevkit.github.io/GsDevKit_home/Seaside32.ston
>>>>>
>>>>>
>>>>> Cheers,
>>>>> Johan
>>>>>
>>>>>
>>>>> On 7 Jan 2022, at 01:59, Ezequiel R. Aguerre via Glass <
>>>>> glass at lists.gemtalksystems.com> wrote:
>>>>>
>>>>> Hi everyone! I'm experimenting a little bit with GemStone. I tried to
>>>>> install Seaside but the instructions are not working for me.
>>>>>
>>>>> I've used the scripts of the GsDevKit_home to setup everything, I can
>>>>> launch tODE successfully, but when I type the following commands in the
>>>>> shell, they don't work.
>>>>>
>>>>> The first one:
>>>>>
>>>>> project install --url=
>>>>> http://gsdevkit.github.io/GsDevKit_home/Seaside32.ston
>>>>>
>>>>> This one fails, but it also says something about Seaside being already
>>>>> installed... so I just skip it.
>>>>>
>>>>> But then, this command fails:
>>>>>
>>>>> project load --loads=`#('Welcome' 'Development' 'Zinc Project'
>>>>> 'Examples')` Seaside3
>>>>>
>>>>> It raises an exception about accessing an array with a non-integer
>>>>> index.
>>>>>
>>>>> It looks like there must be something outdated, but I'm not sure. So I
>>>>> can't load Seaside to start playing with it.
>>>>> If I right-click "load" on the project list, it happens the same thing.
>>>>>
>>>>> The following is an investigation on the issue in case it clarifies
>>>>> anything:
>>>>>
>>>>> The error is raised in the following method:
>>>>>
>>>>> MetacelloGemStonePlatform>>downloadJSON: url eTagsCache: eTagsCache
>>>>> eTagsKey: eTagsKey username: username pass: pass
>>>>>  "(code ...)"
>>>>>   (status beginsWith: '403')
>>>>>                 ifTrue: [
>>>>>                   | jsonObject |
>>>>>                   "Oh snap! Rate limit exceeded"
>>>>>                   jsonObject := MCFileTreeJsonParser parse: payload.
>>>>>                   self error: (jsonObject at: 'message') ].
>>>>>  "(more code...)"
>>>>>
>>>>> jsonObject is actually an array, so jsonObject at: 'message' raises
>>>>> an excepction.
>>>>>
>>>>> These are the values of the variables:
>>>>>
>>>>>  - url: 'https://api.github.com/repos/GsDevKit/Seaside31/tags'
>>>>>  - username: nil
>>>>>  - pass: nil
>>>>>  - eTagsKey: 'GsDevKit/Seaside31'
>>>>>  - eTagsCache: aDictionary( 'GsDevKit/Seaside31' -> aDictionary() )
>>>>>  - jsonObject: an array of dictionaries, each dictionary has the
>>>>> following information:
>>>>>    - commit: a dictionary with a "sha" and "url" keys
>>>>>    - name: a string like 'v3.1.4.2-gs'
>>>>>    - node_id: a base64 encoded string, when decoded is something like:
>>>>> '03:Ref8633068:refs/tags/v3.1.4.2-gs'
>>>>>      - tarball_url: a url
>>>>>      - zipball_url: a url
>>>>>
>>>>>
>>>>> I don't know how to use the debugger yet, so I can't step through the
>>>>> code. But I think the problem is actually up above, in the following line:
>>>>>
>>>>> status := headerDict at: 'status' ifAbsent: [ '403' ].
>>>>>
>>>>> Because the server is actually responding correctly, if I "curl
>>>>> https://api.github.com/repos/GsDevKit/Seaside31/tags" it works just
>>>>> fine.
>>>>>
>>>>> And the following method:
>>>>>
>>>>> MetacelloGemStonePlatform>>extractHTTPHeader: aStream do: aBlock
>>>>>
>>>>> explicitly skips the first HTTP line (the status):
>>>>>
>>>>>  line := aStream nextLine. "strip status"
>>>>>
>>>>> I tried adding a line like the following:
>>>>>
>>>>>   header at: 'status' put: (line substrings at: 2).
>>>>>
>>>>> But then I have a problem with an "X-Ratelimit-Remaining" header.
>>>>>
>>>>> So I'm not sure... I think there's something outdated somewhere... I
>>>>> don't know how to proceed.
>>>>>
>>>>> Or maybe this kind of things are better asked on the Github issue
>>>>> tracker? I don't know, I didn't want to open an issue that may not be an
>>>>> issue at all.
>>>>>
>>>>> Oh, before I forget, I'm running Arch Linux 64 bits, maybe the problem
>>>>> is my environment.
>>>>>
>>>>> Thanks!
>>>>>
>>>>> --
>>>>> Ezequiel R. Aguerre
>>>>> _______________________________________________
>>>>> Glass mailing list
>>>>> Glass at lists.gemtalksystems.com
>>>>> https://lists.gemtalksystems.com/mailman/listinfo/glass
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Glass mailing list
>>>>> Glass at lists.gemtalksystems.com
>>>>> https://lists.gemtalksystems.com/mailman/listinfo/glass
>>>>>
>>>> _______________________________________________
>>>> Glass mailing list
>>>> Glass at lists.gemtalksystems.com
>>>> https://lists.gemtalksystems.com/mailman/listinfo/glass
>>>>
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/archives/glass/attachments/20220110/96fd1d78/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 120038 bytes
Desc: not available
URL: <http://lists.gemtalksystems.com/mailman/archives/glass/attachments/20220110/96fd1d78/attachment-0004.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 62268 bytes
Desc: not available
URL: <http://lists.gemtalksystems.com/mailman/archives/glass/attachments/20220110/96fd1d78/attachment-0005.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 10413 bytes
Desc: not available
URL: <http://lists.gemtalksystems.com/mailman/archives/glass/attachments/20220110/96fd1d78/attachment-0006.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 17040 bytes
Desc: not available
URL: <http://lists.gemtalksystems.com/mailman/archives/glass/attachments/20220110/96fd1d78/attachment-0007.png>


More information about the Glass mailing list