[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