[Glass] Early access update: PR #13
Jon Paynter via Glass
glass at lists.gemtalksystems.com
Wed Oct 28 10:31:28 PDT 2015
The actual code I wrote isnt very much so if I lost it all, its annoying
but not a deal breaker. so I went and ran 'updateTode seaside' from the
server command line. But that failed with an error
gemstone at ubuntu:~/GsDevKit_home$ todeUpdate seaside
=================
GsDevKit script: todeUpdate seaside
path: /home/gemstone/GsDevKit_home/bin/todeUpdate
=================
=================
GsDevKit script: startStone -b seaside
path: /home/gemstone/GsDevKit_home/bin/startStone
=================
_____________________________________________________________________________
| GemStone/S64 Object-Oriented Data Management
System |
| Copyright (C) GemTalk Systems
1986-2015 |
| All rights
reserved. |
+-----------------------------------------------------------------------------+
| PROGRAM: WAITSTONE, GemStone Remote Process
Utility |
| VERSION: 3.2.8, Fri Aug 21 12:12:58
2015 |
| BUILD:
gss64_3_2_x_branch-37241 |
| BUILT FOR: x86-64
(Linux) |
| MODE: 64
bit |
| RUNNING ON: 2-CPU ubuntu x86_64 (Linux 3.2.0-23-generic #36-Ubuntu SMP
Tue |
| Apr 10 20:39:51 UTC 2012)
3529MB |
| PROCESS ID: 4044 DATE: 10/28/2015 10:16:51
PDT |
| USER IDS: REAL=gemstone (1001) EFFECTIVE=gemstone (1001) LOGIN=gemstone
(1001)
+-----------------------------------------------------------------------------+
| GEMSTONE_NRS_ALL =
#dir:$GEMSTONE_LOGDIR#log:%N%P.log |
|_____________________________________________________________________________|
Network service !#server!seaside is ready.
stone seaside already running, to restart use -r option
Update tODE on stone: seaside
=================
GsDevKit script: todeIt seaside script --script=updateServerTode
path: /home/gemstone/GsDevKit_home/bin/todeIt
=================
performing tode command: __script --script=updateServerTode__
tode > script --script=updateServerTode[Info]: libssl-3.2.8-32.so: loaded
[10/28/2015 10:16:52.816 PDT]
gci login: currSession 1 rpc gem processId 4066
---Starting backup to
'/home/gemstone/GsDevKit_home/server/stones/seaside/backups//preUpdate.dbf'
(10/28/2015 10:16:53)
---Finished backup to 28/10/2015 10:17:53 -- preUpdate.dbf.gz
========>Server Stack:
EXCEPTION: UserDefinedError: No #baseline pragma found
1. UserDefinedError(AbstractException)>>_signalWith: @5 line 25
2. UserDefinedError(AbstractException)>>signal @2 line 47
3. MetacelloBaselineConstructor(Object)>>error: @6 line 7
4. MetacelloBaselineConstructor>>extractBaselinePragmaFor: @6 line 5
5. MetacelloBaselineConstructor>>calculate:project: @4 line 4
6. MetacelloBaselineConstructor>>on:project: @2 line 2
7. MetacelloBaselineConstructor class>>on:project: @3 line 3
8. BaselineOfRouteEvent(ConfigurationOf)>>project @14 line 8
9.
MetacelloMCBaselineOfProjectSpec(MetacelloMCProjectSpec)>>projectClassProject
@4 line 4
10. MetacelloMCBaselineOfProjectSpec>>version @5 line 4
11. MetacelloMCBaselineOfProjectSpec>>versionString @3 line 2
12.
MetacelloMCBaselineOfProjectSpec>>validateVersionString:withDefaultVersionString:
@2 line 2
13.
MetacelloMCBaselineOfProjectSpec(MetacelloMCProjectSpec)>>validateForScriptLoad:withDefaultVersionString:withDefaultRepositoryDecription:
@23 line 35
14. MetacelloScriptEngine>>setDefaultsAndValidate: @4 line 6
15. [] in MetacelloScriptEngine>>lock @4 line 5
16. MetacelloScriptEngine(ExecBlock)>>ensure: @2 line 12
17. MetacelloProjectRegistration class>>copyRegistryRestoreOnErrorWhile: @8
line 14
18. MetacelloScriptEngine>>lock @2 line 4
19. [] in MetacelloScriptApiExecutor(MetacelloScriptExecutor)>>execute: @11
line 15
20. [] in MetacelloScriptApiExecutor>>executeString:do: @5 line 6
21. Array(Collection)>>do: @5 line 10
22. MetacelloScriptApiExecutor>>executeString:do: @6 line 4
23. String>>execute:against: @2 line 2
24. MetacelloScriptApiExecutor(MetacelloScriptExecutor)>>execute: @6 line 9
25. Metacello>>execute:args: @8 line 5
26. Metacello>>lock @2 line 4
27. TDMetacelloTool>>projectLock: @14 line 10
28. [] in TDMetacelloTool>>projectRegistrationDefinitionMap @14 line 17
29. [] in ExecBlock2(TDMetacelloTool)>>scanProjectDir:forProjects: @15 line
16
30. [] in TDProxyLeafNode>>composedChildrenDo: @3 line 5
31. [] in ExecBlock2(TDComposedDirectoryNode)>>composedChildrenDo: @2 line 3
32. [] in
ExecBlock1(TDPathComposedDirectoryNodeContents)>>composedChildrenDo: @5
line 5
33. OrderedCollection(Collection)>>do: @5 line 10
34.
TDPathComposedProjectEntryNodeContents(TDPathComposedDirectoryNodeContents)>>composedChildrenDo:
@5 line 5
35.
TDComposedProjectEntryNode(TDComposedDirectoryNode)>>composedChildrenDo: @3
line 3
36. TDRawGatewayNode(TDGatewayNode)>>composedChildrenDo: @3 line 2
37. TDFileSystemLeafNode>>composedChildrenDo: @7 line 3
38. TDProxyLeafNode>>composedChildrenDo: @3 line 3
39. TDObjectGatewayNode(TDGatewayNode)>>composedChildrenDo: @3 line 2
40. TDMetacelloTool>>scanProjectDir:forProjects: @2 line 3
41. TDMetacelloTool>>scanForProjects: @5 line 3
42. TDMetacelloTool>>projectRegistrationDefinitionMap @9 line 8
43. TDMetacelloTool>>projectRegistrationFor: @2 line 2
44. TDMetacelloTool>>resolveProjectRegistrationReference: @18 line 15
45. TDMetacelloTool>>projectload @5 line 40
46. TDMetacelloTool class(TDAbstractDevTool
class)>>performSubCommand:objIn:commandOptions:todeCommand: @23 line 22
47. [] in TDMetacelloTool class>>project @2 line 5
48. TDMetacelloTool class(ExecBlock)>>cull:cull:cull:cull: @7 line 4
49. TDTopezServer>>evaluateCommand:objIn: @18 line 22
50. TDTopezServer>>evaluateSTONCommand: @9 line 6
51. Executed Code
52. GsNMethod class>>_gsReturnToC @1 line 1
========>Client Stack:
Error: GemStone Server error: a UserDefinedError occurred (error 2318),
reason:halt, No #baseline pragma found
TodeSession>>logStackRequested:
TodeSession(GciSession)>>getNbResult
TodeSession(GciSession)>>getNbResultAsString
TodeSession(GciSession)>>executeStringExpectingStringNB:envId: in Block: [
...
BlockClosure>>ensure:
Cursor>>showWhile:
TodeSession(GciSession)>>executeStringExpectingStringNB:envId:
TDTopezGemStoneClient>>evaluateCommand:batchMode: in Block: [ ...
BlockClosure>>ensure:
TDTopezGemStoneClient>>evaluateCommand:batchMode:
TDShell>>evaluateCommand:
TDShell>>evaluate: in Block: [ :command | result := self evaluateCommand:
comma...etc...
TDCommandLine class>>line:forEachCommand: in Block: [ :isolated | ...
OrderedCollection>>do:
TDCommandLine class>>line:forEachCommand:
TDCommandLine class>>fromStream:selectLine:forEachCommand: in Block: [
:cmdLine | ...
OrderedCollection>>do:
TDCommandLine class>>fromStream:selectLine:forEachCommand:
TDShell>>evaluate: in Block: evaluate: aString...
BlockClosure>>on:do:
TDShell>>evaluate:
TDShell>>executeScript: in Block: [ ^ self evaluate: commands ]
Dictionary>>at:ifPresent:ifAbsent:
TDShell>>executeScript: in Block: [ ...
Dictionary>>at:ifPresent:ifAbsent: in Block: [ :v | ^ oneArgBlock value: v ]
BlockClosure>>cull:
Dictionary>>at:ifPresent:
Dictionary>>at:ifPresent:ifAbsent:
TDShell>>executeScript: in Block: [ ...
Dictionary>>at:ifPresent:ifAbsent:
gemstone at ubuntu:~/GsDevKit_home$
Dale - I realize your busy preparing for a conference, so no urgency on
this. Ideally somebody else can point out what I did wrong and we can fix
it.
On Mon, Oct 26, 2015 at 2:06 PM, Dale Henrichs <
dale.henrichs at gemtalksystems.com> wrote:
> perfect .. so when you see a project highlighted in red and the pattern
> `sha ^ sha[branch-name]` in the second field, that means that you have
> "version skew" between the SHA of the git commit that you have loaded in
> the image and the SHA of the git commit that is on disk ...
>
> This happens when you load tODE into your image and then checkout a
> different commit in your git repository:
> explicit checkout or a checkout by another stone sharing repo
> pull request from a remote
> commit to the git repo from a different stone sharing repo
>
> In this case when you run an updateGsDevKit with the `-t` option, the
> shared tODE repsository ($GS_HOME/shared/repos/tode) is updated via a `git
> pull` ... In the mail when I suggest using the `-t` option I probably
> mentioned doing a `todeUpdate <stone-name>` which would cause you stone to
> have the latest version of tODE loaded using `project load Tode`. When you
> load tODE, the project list is updated with the latest SHA.
>
> With Tode red (and not dirty no leading `*`) it is safe to go ahead and to
> a `project load Tode` ... and when you do that, it is likely that the new
> `project new` command will also be loaded.
>
> I don't update stones automatically via, because there is no way to know
> what you are using a stone for ... but since you know what you are doing,
> you can use the todeUpdate script on all of your stones after you've done
> an `updateGsDevKit -t` ... or you can wait until you bring up a stone and
> notice that projects are red and do the load then ...
>
> If the project (Tode in this case) has been modified and is read, you
> might be interested in thinking about things before loading because
> `project load Tode` does not load over dirty packages and you run the risk
> of not having code loaded that should have been ....
>
> You can use the `revert` menu item to load over the modified packages (a
> `project revert` is coming) and then do a `project load Tode`.
>
> You might want to look at the code that is coming in before making a
> decision in which case you use the `skew diff` menu item to see the
> differences between the two commits (SHAs) ... the diff will be a "file
> diff" since the differences might only be in a documentation file ...
>
> If you decide that you want to merge you current changes into the new
> version, you can use the `skew save` menu item that will walk through the
> steps to safely merge your changes into the incoming version and create a
> new version .... I plan to add an additional option called `skew clone`
> which will copy the git repo into a directory associated only with the
> stone ($GS_HOME/server/stones/<stone-name>/git/<project-name>) and checkout
> the SHA that you have loaded ... then you can do the merge yourself or not
> as you please without being affected by updates to the shared git
> repositories ....
>
> Dale
>
>
> On 10/26/2015 01:19 PM, Jon Paynter wrote:
>
> alt+shift+P (tode client is running under windows) gives me this:
>
> *aTDMetacelloProjectBrowser*
> --------------------
> |FileTree| 263ef78 [gemstone2.4]
> filetree:///home/gemstone/GsDevKit_home/shared/repos/filetree/repository
> |GLASS1| 208b331 [master]
> filetree:///home/gemstone/GsDevKit_home/shared/repos/glass/repository
> Gofer 1.0.5.4 [release]
> <http://seaside.gemtalksystems.com/ss/metacello>
> http://seaside.gemtalksystems.com/ss/metacello
> |Grease| b674ad0 [master]
> filetree:///home/gemstone/GsDevKit_home/shared/repos/Grease/repository
> |Metacello| 22cca92 [master]
> filetree:///home/gemstone/GsDevKit_home/shared/repos/metacello-work/repository
> |RB| d6639e0 [dev]
> filetree:///home/gemstone/GsDevKit_home/shared/repos/rb/repository
> |Ston| 25aace1 [gemstone]
> filetree:///home/gemstone/GsDevKit_home/shared/repos/ston/repository
> |Tode| b8c9e14 ^ 166f67d [master]
> filetree:///home/gemstone/GsDevKit_home/shared/repos/tode/repository
> *GsDevKit_home ae34dcf [master] $GS_HOME*
>
>
>
>
>
>
> *GsApplicationTools
> github://GsDevKit/gsApplicationTools:master/repository
> |PharoCompatibility|
> filetree:///home/gemstone/GsDevKit_home/shared/repos/PharoCompatibility/repository
> Seaside3
> github://GsDevKit/Seaside31:3.1.?/repository
> SIXX
> github://glassdb/SIXX:master/repository |XMLSupport|
> 1.2.2.1
> <http://seaside.gemtalksystems.com/ss/MetacelloRepository>http://seaside.gemtalksystems.com/ss/MetacelloRepository
> <http://seaside.gemtalksystems.com/ss/MetacelloRepository>
> ZincHTTPComponents
> github://GsDevKit/zinc:2.4.3.?/repository *
> ... with formatting & colors updated to match what is displayed in the
> tode window.
>
> On Mon, Oct 26, 2015 at 1:04 PM, Dale Henrichs <
> dale.henrichs at gemtalksystems.com> wrote:
>
>>
>>
>> On 10/26/2015 11:48 AM, Jon Paynter wrote:
>>
>> Great to hear there is a special command for this.
>>
>> I tried to use the cmd from tode client and im getting an error:
>> tode 1 > project new --class RouteEvents
>> Topez ERROR: a TodeCommandError occurred (error 121000), Unknown sub
>> command 'new' for command 'project'
>>
>> Im running the todeClient on my local PC (windows7) and gemstone on a VM
>> (ubuntu 12). both copies of GsDevKit_home are on the same commit:
>> $ git log -n1
>> commit ae34dcffa14e96cb03a60f41833ce20188ad141a
>> Merge: 39af1cf 989ae1d
>> Author: Dale Henrichs < <dale.henrichs at gemtalksystems.com>
>> dale.henrichs at gemtalksystems.com>
>> Date: Sat Oct 24 19:00:54 2015 -0700
>>
>> Merge pull request #13 from GsDevKit/dev
>>
>> Early Access - new project support
>>
>> I ran "updateGsDevKit -g -t -i" on both client and server.
>> Server update completed with no errors.
>> The client update gave an error:
>> ...finished downloadSmalltalkClient
>> create gsDevKitCommandLine.image image using
>> /d/gitvob/GsDevKit_home/sys/default
>> /pharo/windows/gsDevKitCommandLineLoad.st
>> cat: /d/gitvob/GsDevKit_home/shared/pharo/stderr: No such file or
>> directory
>>
>> so I created the missing file and re-ran
>> touch /d/gitvob/GsDevKit_home/shared/pharo/stderr
>> updateGsDevKit -g -t -i
>> and it completed without errors.
>>
>> Lastly the |Tode| entry in the project list shows up in red -- I take it
>> to mean there is some problem with the Tode project but I dont know enough
>> to tell what.
>>
>> Let me know if you need any more info.
>>
>>
>> Most likely you do not have the latest version of tODE loaded in your
>> stone ... the red is likely indicative, but please provide with me with a
>> ALT/CMD-SHIFT-P from the project list window, so I can verify what is wrong
>> - and explain what the red means (if it is what I think it is) ...
>>
>> Dale
>>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/private/glass/attachments/20151028/7a45bee2/attachment-0001.html>
More information about the Glass
mailing list