[Glass] Failing to load Seaside using tODE

Dale Henrichs dale.henrichs at gemtalksystems.com
Fri Jan 7 10:39:38 PST 2022


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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/archives/glass/attachments/20220107/0ec5a404/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/0ec5a404/attachment-0001.png>


More information about the Glass mailing list