[Glass] Early access update: PR #13
Jon Paynter via Glass
glass at lists.gemtalksystems.com
Wed Nov 4 15:24:01 PST 2015
On Wed, Nov 4, 2015 at 2:25 PM, Dale Henrichs <
dale.henrichs at gemtalksystems.com> wrote:
>
>
> On 11/04/2015 01:49 PM, Jon Paynter wrote:
>
>
> On Wed, Nov 4, 2015 at 12:53 PM, Dale Henrichs <
> dale.henrichs at gemtalksystems.com> wrote:
>
>>
>> Pull when I post ... I do my development on separate branches for both
>> GsDevKit_home and tODE and I send out the email within an hour or merging
>> the changes for _home and tode into their respective master branches ... so
>> nothing (that you should use) is available unless you see a post ...
>>
>> Willdo. hopefully I havent made a hash of things by trying to pull daily.
>
> YOu can't over-pull, unless you are pulling from the dev branches:) I
> often break the universe on the dev branches, so stick to the master
> branches and you'll be fine ...
>
> Are you using $GS_HOme/bin/updateGsDevKit to do your "pulls"?
>
I think once twice I used the conventional 'git pull'
but the last several times I use the updateGsDevKit script.
Also - as an FYI the page:
https://github.com/GsDevKit/GsDevKit_home/blob/master/docs/FAQ.md
mentions to use "updateGsDevKitScript" which doesnt exist, so I use
"updateGsDevKit" instead
>
>
>> `mc list routeevent` will bring up a browser on the packages in the
>> image whose name matches the given pattern and there are 'delete' and
>> 'unload' menu items available (that perform the `mc` command for you) ...
>>
>> I removed the 2 packages BaselineOfRouteEvent and RouteEvent-Core using
> 'unload' from the tode shell
>
>
>>
>> This looks like the " a STONReaderError occurred (error 2710), Cannot
>> resolve class named #'TDObjectGatewayLeafNode" error that I mentioned in
>> the EA pull request #15[1] and I would like you to try running the
>> following bash shell command:
>>
>> $GS_HOME/bin/patches/patchIssue15 <stone-name>
>>
>>
> That completed without (visible) errors, but I did notice this while it
> was running
>
> Loaded -> Tode-GemStone-Server-Base-dkh.1 ---
> filetree:///home/gemstone/GsDevKit_home/shared/repos/tode/repository
> [e2fccee:master] --- cache
>
>
>
> *Warning: You are about to load new versions of the following packages
> that have unsaved changes in the image. If you continue, you will lose
> these changes. Tode-GemStone-Server-Core *
> Loaded -> Tode-GemStone-Server-Core-dkh.191 ---
> filetree:///home/gemstone/GsDevKit_home/shared/repos/tode/repository
> [e2fccee:master] --- cache
>
> Since I did not intentionally make changes to that package, I assume its
> ok to overwrite the changes.
>
> This message can pop up at times, when a method has been moved from one
> package to another ... it's actually a good thing to get everything loaded
> during an update, since the system depends upon all of the packages working
> together ..
>
>
> After restarting my tode client, project list works again.
>
> But when I re-run "project new --class RouteEvent" I get an error
> Could not create directory: errno=17,EEXIST, The file already exists :
> $GS_HOME/shared/repos/RouteEvent/repository
> 1. UserDefinedError(AbstractException)>>_signalWith: @5 line 25
> 2. UserDefinedError(AbstractException)>>signal @2 line 47
> 3. ServerFileDirectory(Object)>>error: @6 line 7
> 4. ServerFileDirectory(FileDirectory)>>createDirectory: @9 line 10
> 5.
> TDMetacelloTool>>projectNew:projectEntryPath:packageName:gitRootPath:requiredProjects:dependencies:repositories:superclassName:applicationClassCreationBlock:
> @7 line 5
> 6.
> TDMetacelloTool>>projectNew:projectEntryPath:packageName:gitRootPath:superclassName:applicationClassCreationBlock:
> @2 line 3
> 7.
> TDMetacelloTool>>projectNew:projectEntryPath:packageName:gitRootPath:applicationClassCreationBlock:
> @2 line 3
> 8. TDMetacelloTool>>projectnew @10 line 42
> 9. TDMetacelloTool class(TDAbstractDevTool
> class)>>performSubCommand:objIn:commandOptions:todeCommand: @23 line 22
> 10. [] in TDMetacelloTool class>>project @2 line 5
> 11. TDMetacelloTool class(ExecBlock)>>cull:cull:cull:cull: @7 line 4
> 12. TDTopezServer>>evaluateCommand:objIn: @18 line 22
> 13. TDTopezServer>>evaluateSTONCommand: @9 line 6
> 14. Executed Code
> 15. GsNMethod class>>_gsReturnToC @1 line 1
>
> so I remove the folder
> rm -Rf GsDevKit_home/shared/repos/RouteEvent
>
>
> Then re-run the project new cmd
>
> and now the same walkback re-occurrs:
>
> ah this is good to know ... I think I should be able to bullet proof
> things a bit more in `project new` .... when a failure occurs I should
> clean up things so that something like the following doesn't happen ...
>
> Until I update, you'll need to manually remove the git directory and the
> unload the packages in the image upon an error .. I think I can handle this
> much better
>
That I can do. Its pretty standard practice now.
> a UserDefinedError occurred (error 2318), reason:halt, 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. BaselineOfRouteEvent class(ConfigurationOf class)>>project @3 line 3
> 10. MetacelloToolBox>>baselineNamed: @14 line 18
> 11. MetacelloToolBox class>>baselineNamed: @3 line 3
> 12.
> TDMetacelloTool>>createBaselineOf:requiredProjects:dependencies:repositories:withPackageNamed:
> @2 line 3
> 13.
> TDMetacelloTool>>projectNew:projectEntryPath:packageName:gitRootPath:requiredProjects:dependencies:repositories:superclassName:applicationClassCreationBlock:
> @36 line 24
> 14.
> TDMetacelloTool>>projectNew:projectEntryPath:packageName:gitRootPath:superclassName:applicationClassCreationBlock:
> @2 line 3
> 15.
> TDMetacelloTool>>projectNew:projectEntryPath:packageName:gitRootPath:applicationClassCreationBlock:
> @2 line 3
> 16. TDMetacelloTool>>projectnew @10 line 42
> 17. TDMetacelloTool class(TDAbstractDevTool
> class)>>performSubCommand:objIn:commandOptions:todeCommand: @23 line 22
> 18. [] in TDMetacelloTool class>>project @2 line 5
> 19. TDMetacelloTool class(ExecBlock)>>cull:cull:cull:cull: @7 line 4
> 20. TDTopezServer>>evaluateCommand:objIn: @18 line 22
> 21. TDTopezServer>>evaluateSTONCommand: @9 line 6
> 22. Executed Code
> 23. GsNMethod class>>_gsReturnToC @1 line 1
>
> A little poking around in the code for each stack frame leaves me
> scratching my head.
> In the method
> TDMetacelloTool>>createBaselineOf:requiredProjects:dependencies:repositories:withPackageNamed:
>
>
> I see this:
> | toolBox |
> (toolBox := MetacelloToolBox baselineNamed: projectName)
> createBaselineOfMethod: 'baseline:' inCategory: 'baseline';
> addBaselineOfSection: #'common'
> .....<snip>....
>
> Where "MetacelloToolBox baselineNamed: projectName" is failing to because
> the baseline is missing, but it looks like the very next thing it does is
> to create the baseline method that is missing.
>
> No ... if you look at the code in frame 10, you'll see that the if the
> BaselineOf class doesn't exist, that a new one is created and an emtpy
> baseline: method is created ... the fact that you don't have a baseline:
> method implies that the class existed beforehand and was missing the method
> itself ,,,
>
hrm. true there. More debugging is needed. Im glad method breakpoints are
working.
So where is the method(s) that DO create the missing baseline method? I
can check if its missing, or maybe figure out why its not being called.
The class creation part is working as expected, I verified
MetacelloToolBox>>baselineNamed: is definitely creating a new class.. but
that seems to be all it does
>
> next, I tried creating a new project with a different name:
> project new --class RouteEvent1
>
> and I get the same walkback as above
>
>
> I'd liek to see that stack myself ... the one above involved
> BaselineRouteEvent and that was a class that we knew already existed in the
> image ... there must be something different this time around unless you
> already have a class named BaselineRouteEvent1 already created?
>
here is the walkback (this time for RouteEvent2, since I guess RouteEvent1
still has artifacts hanging around)
a UserDefinedError occurred (error 2318), reason:halt, 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. BaselineOfRouteEvent2(ConfigurationOf)>>project @14 line 8
9. BaselineOfRouteEvent2 class(ConfigurationOf class)>>project @3 line 3
10. MetacelloToolBox>>baselineNamed: @14 line 18
11. MetacelloToolBox class>>baselineNamed: @3 line 3
12.
TDMetacelloTool>>createBaselineOf:requiredProjects:dependencies:repositories:withPackageNamed:
@2 line 3
13.
TDMetacelloTool>>projectNew:projectEntryPath:packageName:gitRootPath:requiredProjects:dependencies:repositories:superclassName:applicationClassCreationBlock:
@36 line 24
14.
TDMetacelloTool>>projectNew:projectEntryPath:packageName:gitRootPath:superclassName:applicationClassCreationBlock:
@2 line 3
15.
TDMetacelloTool>>projectNew:projectEntryPath:packageName:gitRootPath:applicationClassCreationBlock:
@2 line 3
16. TDMetacelloTool>>projectnew @10 line 42
17. TDMetacelloTool class(TDAbstractDevTool
class)>>performSubCommand:objIn:commandOptions:todeCommand: @23 line 22
18. [] in TDMetacelloTool class>>project @2 line 5
19. TDMetacelloTool class(ExecBlock)>>cull:cull:cull:cull: @7 line 4
20. TDTopezServer>>evaluateCommand:objIn: @18 line 22
21. TDTopezServer>>evaluateSTONCommand: @9 line 6
22. Executed Code
23. GsNMethod class>>_gsReturnToC @1 line 1
Let me know if you want the contents of any of the stack frames
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/private/glass/attachments/20151104/f4428461/attachment-0001.html>
More information about the Glass
mailing list