<div dir="ltr">Hi everyone! I'm experimenting a little bit with GemStone. I tried to install Seaside but the instructions are not working for me.<div><br></div><div>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.</div><div><br></div><div>The first one:</div><div><br></div><div><font face="monospace">project install --url=<a href="http://gsdevkit.github.io/GsDevKit_home/Seaside32.ston">http://gsdevkit.github.io/GsDevKit_home/Seaside32.ston</a></font><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><br></div><div>This one fails, but it also says something about Seaside being already installed... so I just skip it.</div><div><br></div><div>But then, this command fails:</div><div><br></div><font face="monospace">project load --loads=`#('Welcome' 'Development' 'Zinc Project' 'Examples')` Seaside3</font><div><br></div><div>It raises an exception about accessing an array with a non-integer index.</div><div><br></div><div>It looks like there must be something outdated, but I'm not sure. So I can't load Seaside to start playing with it.</div><div>If I right-click "load" on the project list, it happens the same thing.</div><div><br></div><div>The following is an investigation on the issue in case it clarifies anything:</div><div><br></div><div>The error is raised in the following method:</div><div><br></div><div><font face="monospace">MetacelloGemStonePlatform>>downloadJSON: url eTagsCache: eTagsCache eTagsKey: eTagsKey username: username pass: pass</font></div><div><font face="monospace"> "(code ...)"</font></div><div><font face="monospace">  (status beginsWith: '403')</font></div><font face="monospace">                ifTrue: [ <br>                  | jsonObject |<br>                  "Oh snap! Rate limit exceeded"<br>                  jsonObject := MCFileTreeJsonParser parse: payload.<br>                  self error: (jsonObject at: 'message') ].</font></div><div dir="ltr"><font face="monospace"> "(more code...)"</font><br><div><br></div><div><font face="monospace">jsonObject</font> is actually an array, so <font face="monospace">jsonObject at: 'message'</font> raises an excepction.</div><div><br></div><div>These are the values of the variables:</div><div><br></div><div><font face="monospace"> - url: '<a href="https://api.github.com/repos/GsDevKit/Seaside31/tags">https://api.github.com/repos/GsDevKit/Seaside31/tags</a>'</font></div><div><font face="monospace"> - username: nil</font></div><div><font face="monospace"> - pass: nil</font></div><div><font face="monospace"> - eTagsKey: 'GsDevKit/Seaside31'</font></div><div><font face="monospace"> - eTagsCache: aDictionary( 'GsDevKit/Seaside31' -> aDictionary() )</font></div><div><font face="monospace"> - jsonObject: an array of dictionaries, each dictionary has the following information:</font></div><div><font face="monospace">   - commit: a dictionary with a "sha" and "url" keys</font></div><div><font face="monospace">   - name: a string like 'v3.1.4.2-gs'</font></div><div><font face="monospace">   - node_id: a base64 encoded string, when decoded is something like: '03:Ref8633068:refs/tags/v3.1.4.2-gs'</font></div><div><font face="monospace">     - tarball_url: a url</font></div><div><font face="monospace">     - zipball_url: a url</font></div><div>  </div><div><br></div><div>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:</div><div><br></div><div><font face="monospace">status := headerDict at: 'status' ifAbsent: [ '403' ].</font><br></div><div><br></div><div><font face="arial, sans-serif">Because the server is actually responding correctly, if I "curl <a href="https://api.github.com/repos/GsDevKit/Seaside31/tags">https://api.github.com/repos/GsDevKit/Seaside31/tags</a>" it works just fine.</font></div><div><font face="arial, sans-serif"><br></font></div><div><font face="arial, sans-serif">And the following method:</font></div><div><font face="arial, sans-serif"><br></font></div><div><font face="monospace">MetacelloGemStonePlatform>>extractHTTPHeader: aStream do: aBlock</font></div><div><font face="arial, sans-serif"><br></font></div><div><font face="arial, sans-serif">explicitly skips the first HTTP line (the status):</font></div><div><font face="arial, sans-serif"><br></font></div><div><font face="monospace"> line := aStream nextLine.   "strip status"</font><font face="arial, sans-serif"><br></font></div><div><br></div><div>I tried adding a line like the following:</div><div><br></div><font face="monospace">  header at: 'status' put: (line substrings at: 2).</font><br><div><br></div><div>But then I have a problem with an "X-Ratelimit-Remaining" header.</div><div><br></div><div>So I'm not sure... I think there's something outdated somewhere... I don't know how to proceed.</div><div><br></div><div>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.</div><div><br></div><div>Oh, before I forget, I'm running Arch Linux 64 bits, maybe the problem is my environment.</div><div><br></div><div>Thanks!</div><div><br></div><div>--</div>Ezequiel R. Aguerre</div></div></div></div></div>