[Glass] Failing to load Seaside using tODE

Dale Henrichs dale.henrichs at gemtalksystems.com
Fri Jan 7 16:42:14 PST 2022


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/20220107/75f9db88/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/20220107/75f9db88/attachment-0003.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/20220107/75f9db88/attachment-0004.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/20220107/75f9db88/attachment-0005.png>


More information about the Glass mailing list