[Glass] Early access update: PR #13

Dale Henrichs via Glass glass at lists.gemtalksystems.com
Wed Nov 4 15:54:01 PST 2015


At this point I think that you've given me enough information to chew on 
.... I'll let you know if I need more info ... thanks!

Dale

On 11/04/2015 03:24 PM, Jon Paynter wrote:
>
>
> On Wed, Nov 4, 2015 at 2:25 PM, Dale Henrichs 
> <dale.henrichs at gemtalksystems.com 
> <mailto: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
>>     <mailto: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/40fe8f3c/attachment-0001.html>


More information about the Glass mailing list