Re: [Pharo-users] #select was sent to nil
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
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 <dionisiydk@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
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 <chisvasileandrei@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 <dionisiydk@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
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 <chisvasileandrei@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 <chisvasileandrei@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 <dionisiydk@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
Hi Denis, We debugged a bit and this is what we found: https://pharo.manuscript.com/f/cases/22896/Creating-methods-in-a-subclass-wi... 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 <dionisiydk@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 <chisvasileandrei@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 <chisvasileandrei@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 <dionisiydk@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
Yes, it happens on two images. One fresh P7 where I installed GToolkit and DrGeo then use its tonel repo (save changes). And the other one from the GToolkit image download from gtoolkit.org and installed DrGeo then use its tonel repo (save changes) I don't use trait in DrGeo. Hilaire Le 15/01/2019 à 10:17, Denis Kudriashov a écrit :
Can you reproduce it?
-- Dr. Geo http://drgeo.eu
It happens if you create methods in a class having a superclass with traits. For example if you create a subclass of BlElement you will get this error. What class are you editing when you get this errror? Cheers, Andrei On Tue, 15 Jan 2019, 21:17 Hilaire <hilaire@drgeo.eu wrote:
Yes, it happens on two images. One fresh P7 where I installed GToolkit and DrGeo then use its tonel repo (save changes). And the other one from the GToolkit image download from gtoolkit.org and installed DrGeo then use its tonel repo (save changes)
I don't use trait in DrGeo.
Hilaire
Le 15/01/2019 à 10:17, Denis Kudriashov a écrit :
Can you reproduce it?
-- Dr. Geo http://drgeo.eu
Indeed, seems to only happen in a subclass of BlEement. Hilaire Le 15/01/2019 à 21:33, Andrei Chis a écrit :
It happens if you create methods in a class having a superclass with traits. For example if you create a subclass of BlElement you will get this error.
What class are you editing when you get this errror?
-- Dr. Geo http://drgeo.eu
participants (3)
-
Andrei Chis -
Denis Kudriashov -
Hilaire