#select was sent to nil

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

#select was sent to nil

Pharo Smalltalk Users mailing list
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


PharoDebug.log (1K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: #select was sent to nil

Denis Kudriashov
Hi Hilaire.

Can you reproduce it?

пн, 14 янв. 2019 г. в 23:24, Hilaire via Pharo-users <[hidden email]>:
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 | Threaded
Open this post in threaded view
|

Re: #select was sent to nil

Andrei Chis
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). 

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 <[hidden email]> wrote:
Hi Hilaire.

Can you reproduce it?

пн, 14 янв. 2019 г. в 23:24, Hilaire via Pharo-users <[hidden email]>:
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 | Threaded
Open this post in threaded view
|

Re: #select was sent to nil

Andrei Chis
I also get every few clicks the error below. 

Screen Shot 2019-01-15 at 17.00.41.png

On Tue, Jan 15, 2019 at 4:59 PM Andrei Chis <[hidden email]> 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). 

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 <[hidden email]> wrote:
Hi Hilaire.

Can you reproduce it?

пн, 14 янв. 2019 г. в 23:24, Hilaire via Pharo-users <[hidden email]>:
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 | Threaded
Open this post in threaded view
|

Re: #select was sent to nil

Denis Kudriashov
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 <[hidden email]>:
I also get every few clicks the error below. 



On Tue, Jan 15, 2019 at 4:59 PM Andrei Chis <[hidden email]> 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). 



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 <[hidden email]> wrote:
Hi Hilaire.

Can you reproduce it?

пн, 14 янв. 2019 г. в 23:24, Hilaire via Pharo-users <[hidden email]>:
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 | Threaded
Open this post in threaded view
|

Re: #select was sent to nil

Andrei Chis
Hi Denis,

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 <[hidden email]> 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 <[hidden email]>:
I also get every few clicks the error below. 

Screen Shot 2019-01-15 at 17.00.41.png

On Tue, Jan 15, 2019 at 4:59 PM Andrei Chis <[hidden email]> 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). 

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 <[hidden email]> wrote:
Hi Hilaire.

Can you reproduce it?

пн, 14 янв. 2019 г. в 23:24, Hilaire via Pharo-users <[hidden email]>:
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 | Threaded
Open this post in threaded view
|

Re: #select was sent to nil

HilaireFernandes
In reply to this post by Denis Kudriashov
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



Reply | Threaded
Open this post in threaded view
|

Re: #select was sent to nil

Andrei Chis
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 <[hidden email] 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



Reply | Threaded
Open this post in threaded view
|

Re: #select was sent to nil

Pharo Smalltalk Users mailing list
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



Reply | Threaded
Open this post in threaded view
|

Re: #select was sent to nil

Andrei Chis
The bug seems to have been introduce in Pharo7.0-SNAPSHOT.build.102.sha.3f660fc.arch.64bit by merging the pull request https://github.com/pharo-project/pharo/pull/1847

On Wed, Jan 16, 2019 at 1:32 AM Hilaire via Pharo-users <[hidden email]> wrote:
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



Reply | Threaded
Open this post in threaded view
|

Re: #select was sent to nil

Tudor Girba-2
Thanks for looking into this problem!

Doru


> On Jan 16, 2019, at 10:57 AM, Andrei Chis <[hidden email]> wrote:
>
> The bug seems to have been introduce in Pharo7.0-SNAPSHOT.build.102.sha.3f660fc.arch.64bit by merging the pull request https://github.com/pharo-project/pharo/pull/1847
>
> On Wed, Jan 16, 2019 at 1:32 AM Hilaire via Pharo-users <[hidden email]> wrote:
> 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
>
>
>

--
www.feenk.com

"Some battles are better lost than fought."