Hi Denis,

We debugged a bit and this is what we found:
https://pharo.manuscript.com/f/cases/22896/Creating-methods-in-a-subclass-with-a-class-using-a-trait
Could you try to reproduce and see if you get the same error?
Seems that adding methods to classes that have a superclass with traits is
broken.

Cheers,
Andrei


On Tue, Jan 15, 2019 at 5:36 PM Denis Kudriashov <dionisi...@gmail.com>
wrote:

> Hi Andrei.
> The error is related to absent package of selected method.
> Calypso assumes that method always has a package because otherwise many
> other things will not work.
> Even if this case will be protected by ifNotNil check it looks like a
> broken system state.
>
> Can you check following script?
>
> SystemNavigation default allMethodsSelect: [ :each | each package isNil ]
>
>
>
> вт, 15 янв. 2019 г. в 16:08, Andrei Chis <chisvasileand...@gmail.com>:
>
>> I also get every few clicks the error below.
>>
>> [image: Screen Shot 2019-01-15 at 17.00.41.png]
>>
>> On Tue, Jan 15, 2019 at 4:59 PM Andrei Chis <chisvasileand...@gmail.com>
>> wrote:
>>
>>> I think I get the same error in a GToolkit image that I build today on
>>> top of
>>> Pharo-7.0.0+rc1.build.121.sha.0640e0d300e69541033fb1c4270c9b0d7d401b01 (64
>>> Bit).
>>>
>>> [image: Screen Shot 2019-01-15 at 16.52.51.png]
>>>
>>> In `ClyIcebergShowMethodVersionCommand>>canBeExecutedInContext:`
>>> executing `aToolContext lastSelectedMethod package` returns nil. So I get a
>>> compiled method having the package as nil.
>>>
>>> The error seems to happen more randomly, but after selecting 3-4 methods
>>> from a package where I did a commit using iceberg it mostly appears.
>>>
>>>
>>>
>>> UndefinedObject(Object)>>doesNotUnderstand: #name
>>> [ :each | each includesPackageNamed: aPackage name ] in IceRepository
>>> class>>registeredRepositoryIncludingPackage: in Block: [ :each | each
>>> includesPackageNamed: aPackage name...etc...
>>> [ :each |
>>> (aBlock value: each)
>>> ifTrue: [ ^ foundBlock cull: each ] ] in
>>> OrderedCollection(Collection)>>detect:ifFound:ifNone: in Block: [ :each |
>>> ...
>>> OrderedCollection>>do:
>>> OrderedCollection(Collection)>>detect:ifFound:ifNone:
>>> OrderedCollection(Collection)>>detect:ifNone:
>>> IceRepository class>>registeredRepositoryIncludingPackage:
>>> ClyIcebergShowMethodVersionCommand class>>canBeExecutedInContext:
>>> ClyMethodContextOfFullBrowser(CmdToolContext)>>allowsExecutionOf:
>>>
>>> ClyBrowserTabCommandActivation(CmdCommandActivationStrategy)>>isActiveInContext:
>>> CmdCommandActivator>>canExecuteCommand
>>> CmdCommandActivator>>buildBrowserTabActions
>>> CmdCommandMenuItem>>buildBrowserTabActions
>>> [ :each | each buildBrowserTabActions ] in
>>> CmdRootMenuGroup(CmdMenuGroup)>>buildBrowserTabActions in Block: [ :each |
>>> each buildBrowserTabActions ]
>>> [ :each | col addAll: (aBlock value: each) ] in
>>> SortedCollection(Collection)>>flatCollect:as: in Block: [ :each | col
>>> addAll: (aBlock value: each) ]
>>> SortedCollection(OrderedCollection)>>do:
>>> SortedCollection(Collection)>>flatCollect:as:
>>> SortedCollection>>flatCollect:
>>> CmdRootMenuGroup(CmdMenuGroup)>>buildBrowserTabActions
>>> CmdMenu>>buildBrowserTabActions
>>> ClyMethodCodeEditorToolMorph(ClyBrowserToolMorph)>>createTab
>>> ClyTabManager>>addTool:
>>> [ :each | self addTool: each ] in ClyTabManager>>updateTabsWith: in
>>> Block: [ :each | self addTool: each ]
>>> OrderedCollection>>do:
>>> ClyTabManager>>updateTabsWith:
>>> [ newTools := OrderedCollection new.
>>> browser
>>> navigationContextsDo: [ :each | self buildToolsOn: newTools for: each ].
>>> needsNewSelection := self requiresNewDesiredSelection.
>>> selectedTools := self selectedTools.
>>> currentTools := tools copy.
>>> self updateTabsWith: newTools.
>>> tools ~= currentTools | needsNewSelection
>>> ifTrue: [ self restoreSelectedTools: selectedTools ] ] in
>>> ClyTabManager>>updateTools in Block: [ newTools := OrderedCollection new....
>>> BlockClosure>>ensure:
>>> ClyTabManager>>updateToolsBy:
>>> ClyTabManager>>updateTools
>>> ClyFullBrowser(ClyBrowserMorph)>>rebuildAllTools
>>>
>>>
>>> On Tue, Jan 15, 2019 at 10:23 AM Denis Kudriashov <dionisi...@gmail.com>
>>> wrote:
>>>
>>>> Hi Hilaire.
>>>>
>>>> Can you reproduce it?
>>>>
>>>> пн, 14 янв. 2019 г. в 23:24, Hilaire via Pharo-users <
>>>> pharo-users@lists.pharo.org>:
>>>>
>>>>> Hi,
>>>>>
>>>>> After installing drgeo and save some modification on tonel repo. I got
>>>>> this persisting error on calypso whatever the button I click on the
>>>>> browser ui.
>>>>>
>>>>> Hilaire
>>>>>
>>>>> --
>>>>> Dr. Geo
>>>>> http://drgeo.eu
>>>>>
>>>>>

Reply via email to