[Glass] Failing to load Seaside using tODE

Ezequiel R. Aguerre ezeaguerre at gmail.com
Fri Jan 7 14:07:28 PST 2022


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/338462ac/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/338462ac/attachment-0001.png>


More information about the Glass mailing list