DNU with GT Debugger

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

DNU with GT Debugger

stepharo
While trying to debug pillar I got a DNU when clicking on the raw pane
(when the items was selected)

DNU:

presentation rawSelection is aLinkedList and it does not understand key




'From Pharo 6.0 of 13 May 2016 [Latest update: #60173] on 9 August 2016
at 11:45:10.355092 am'!

!GTRawObjectVariablesBrowser methodsFor: 'private building' stamp:
'AndreiChis 4/26/2016 10:37'!
variablesIn: composite
     ^ composite table
         showOnly: 50;
         shouldValidate: false;
         allowsRecursiveSearch: false;
         children: [ :assoc |
             assoc key = 'self'
                 ifTrue: [ #() ]
                 ifFalse: [ self variableValuePairsFor: assoc value ] ];
         icon: [ :assoc | self iconFor: assoc value ];
         display: [ :anObject |
             self rebuildCacheFor: anObject.
             self variableValuePairsFor: anObject ];
         column: 'Variable'
             evaluated: [:assoc | '  ', (GTObjectPrinter new
asNonTruncatedTextFrom: assoc key) ];
         column: 'Value'
             evaluated: [:assoc | GTObjectPrinter new
asTruncatedTextFrom: assoc value ]
             modified: [:newValue :assoc :presentation |
                 self updateInstanceVariable: assoc key from:
presentation entity basedOn: newValue.
                 presentation update ];
         morphicSelectionAct: [:list | list selection value browse ]
             icon: GLMUIThemeExtraIcons glamorousBrowse
             on: $b
             entitled: 'Browse';
         morphicSelectionAct: [:list | list selection value inspect ]
             icon: GLMUIThemeExtraIcons glamorousInspect
             on: $i
             entitled: 'Inspect';
         selectionAct: [:list |
             ((list selection pointersToExcept: { list selection })
                                     reject: [ :each | each
pointsOnlyWeaklyTo: list selection ]) inspect ]
             on: $t
             entitled: 'Open pointers to';
         dynamicActionsOnSelection: [ :presentation |
             (presentation entity class hasInstVarNamed: presentation
rawSelection key)

                                                           ^^^^^^^^ here



                 ifTrue: [
                     {
                         GLMGenericAction new
                                 action: [:list | self systemNavigation
browseAllAccessesTo: list rawSelection key from: list entity class ];
                                 title: 'List methods using this variable'.
                         GLMGenericAction new
                                 action: [:list | self systemNavigation
browseAllStoresInto: list rawSelection key from: list entity class ];
                                 title: 'List methods storing into this
variable'.
                     }
                     ]
                 ifFalse: [ #() ] ]! !


GTRawObjectVariablesBrowser-variablesIn.st (2K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: DNU with GT Debugger

Tudor Girba-2
Hi,

Thanks for the report. Do you happen to have an image around?

Doru


> On Aug 9, 2016, at 11:47 AM, stepharo <[hidden email]> wrote:
>
> While trying to debug pillar I got a DNU when clicking on the raw pane (when the items was selected)
>
> DNU:
>
> presentation rawSelection is aLinkedList and it does not understand key
>
>
>
>
> 'From Pharo 6.0 of 13 May 2016 [Latest update: #60173] on 9 August 2016 at 11:45:10.355092 am'!
>
> !GTRawObjectVariablesBrowser methodsFor: 'private building' stamp: 'AndreiChis 4/26/2016 10:37'!
> variablesIn: composite
>    ^ composite table
>        showOnly: 50;
>        shouldValidate: false;
>        allowsRecursiveSearch: false;
>        children: [ :assoc |
>            assoc key = 'self'
>                ifTrue: [ #() ]
>                ifFalse: [ self variableValuePairsFor: assoc value ] ];
>        icon: [ :assoc | self iconFor: assoc value ];
>        display: [ :anObject |
>            self rebuildCacheFor: anObject.
>            self variableValuePairsFor: anObject ];
>        column: 'Variable'
>            evaluated: [:assoc | '  ', (GTObjectPrinter new asNonTruncatedTextFrom: assoc key) ];
>        column: 'Value'
>            evaluated: [:assoc | GTObjectPrinter new asTruncatedTextFrom: assoc value ]
>            modified: [:newValue :assoc :presentation |
>                self updateInstanceVariable: assoc key from: presentation entity basedOn: newValue.
>                presentation update ];
>        morphicSelectionAct: [:list | list selection value browse ]
>            icon: GLMUIThemeExtraIcons glamorousBrowse
>            on: $b
>            entitled: 'Browse';
>        morphicSelectionAct: [:list | list selection value inspect ]
>            icon: GLMUIThemeExtraIcons glamorousInspect
>            on: $i
>            entitled: 'Inspect';
>        selectionAct: [:list |
>            ((list selection pointersToExcept: { list selection })
>                                    reject: [ :each | each pointsOnlyWeaklyTo: list selection ]) inspect ]
>            on: $t
>            entitled: 'Open pointers to';
>        dynamicActionsOnSelection: [ :presentation |
>            (presentation entity class hasInstVarNamed: presentation rawSelection key)
>
>                                                          ^^^^^^^^ here
>
>
>
>                ifTrue: [
>                    {
>                        GLMGenericAction new
>                                action: [:list | self systemNavigation browseAllAccessesTo: list rawSelection key from: list entity class ];
>                                title: 'List methods using this variable'.
>                        GLMGenericAction new
>                                action: [:list | self systemNavigation browseAllStoresInto: list rawSelection key from: list entity class ];
>                                title: 'List methods storing into this variable'.
>                    }
>                    ]
>                ifFalse: [ #() ] ]! !
>
> <GTRawObjectVariablesBrowser-variablesIn.st>

--
www.tudorgirba.com
www.feenk.com

"Reasonable is what we are accustomed with."


Reply | Threaded
Open this post in threaded view
|

Re: DNU with GT Debugger

stepharo
Hi doru


I sent you a drop box where you just have to click to repeat the problem.

Let me know if this is enough. Else I should send you more scripts and
files.

Stef


Le 9/8/16 à 12:07, Tudor Girba a écrit :

> Hi,
>
> Thanks for the report. Do you happen to have an image around?
>
> Doru
>
>
>> On Aug 9, 2016, at 11:47 AM, stepharo <[hidden email]> wrote:
>>
>> While trying to debug pillar I got a DNU when clicking on the raw pane (when the items was selected)
>>
>> DNU:
>>
>> presentation rawSelection is aLinkedList and it does not understand key
>>
>>
>>
>>
>> 'From Pharo 6.0 of 13 May 2016 [Latest update: #60173] on 9 August 2016 at 11:45:10.355092 am'!
>>
>> !GTRawObjectVariablesBrowser methodsFor: 'private building' stamp: 'AndreiChis 4/26/2016 10:37'!
>> variablesIn: composite
>>     ^ composite table
>>         showOnly: 50;
>>         shouldValidate: false;
>>         allowsRecursiveSearch: false;
>>         children: [ :assoc |
>>             assoc key = 'self'
>>                 ifTrue: [ #() ]
>>                 ifFalse: [ self variableValuePairsFor: assoc value ] ];
>>         icon: [ :assoc | self iconFor: assoc value ];
>>         display: [ :anObject |
>>             self rebuildCacheFor: anObject.
>>             self variableValuePairsFor: anObject ];
>>         column: 'Variable'
>>             evaluated: [:assoc | '  ', (GTObjectPrinter new asNonTruncatedTextFrom: assoc key) ];
>>         column: 'Value'
>>             evaluated: [:assoc | GTObjectPrinter new asTruncatedTextFrom: assoc value ]
>>             modified: [:newValue :assoc :presentation |
>>                 self updateInstanceVariable: assoc key from: presentation entity basedOn: newValue.
>>                 presentation update ];
>>         morphicSelectionAct: [:list | list selection value browse ]
>>             icon: GLMUIThemeExtraIcons glamorousBrowse
>>             on: $b
>>             entitled: 'Browse';
>>         morphicSelectionAct: [:list | list selection value inspect ]
>>             icon: GLMUIThemeExtraIcons glamorousInspect
>>             on: $i
>>             entitled: 'Inspect';
>>         selectionAct: [:list |
>>             ((list selection pointersToExcept: { list selection })
>>                                     reject: [ :each | each pointsOnlyWeaklyTo: list selection ]) inspect ]
>>             on: $t
>>             entitled: 'Open pointers to';
>>         dynamicActionsOnSelection: [ :presentation |
>>             (presentation entity class hasInstVarNamed: presentation rawSelection key)
>>
>>                                                           ^^^^^^^^ here
>>
>>
>>
>>                 ifTrue: [
>>                     {
>>                         GLMGenericAction new
>>                                 action: [:list | self systemNavigation browseAllAccessesTo: list rawSelection key from: list entity class ];
>>                                 title: 'List methods using this variable'.
>>                         GLMGenericAction new
>>                                 action: [:list | self systemNavigation browseAllStoresInto: list rawSelection key from: list entity class ];
>>                                 title: 'List methods storing into this variable'.
>>                     }
>>                     ]
>>                 ifFalse: [ #() ] ]! !
>>
>> <GTRawObjectVariablesBrowser-variablesIn.st>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "Reasonable is what we are accustomed with."
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: DNU with GT Debugger

Tudor Girba-2
Hi,

Thanks. I could reproduce the problem and I extracted a simpler case:
https://pharo.fogbugz.com/f/cases/18899/Raw-presentation-from-the-debugger-inspector-raises-error-when-the-rawSelection-comes-from-another-presentation

Cheers,
Doru


> On Aug 9, 2016, at 2:00 PM, stepharo <[hidden email]> wrote:
>
> Hi doru
>
>
> I sent you a drop box where you just have to click to repeat the problem.
>
> Let me know if this is enough. Else I should send you more scripts and files.
>
> Stef
>
>
> Le 9/8/16 à 12:07, Tudor Girba a écrit :
>> Hi,
>>
>> Thanks for the report. Do you happen to have an image around?
>>
>> Doru
>>
>>
>>> On Aug 9, 2016, at 11:47 AM, stepharo <[hidden email]> wrote:
>>>
>>> While trying to debug pillar I got a DNU when clicking on the raw pane (when the items was selected)
>>>
>>> DNU:
>>>
>>> presentation rawSelection is aLinkedList and it does not understand key
>>>
>>>
>>>
>>>
>>> 'From Pharo 6.0 of 13 May 2016 [Latest update: #60173] on 9 August 2016 at 11:45:10.355092 am'!
>>>
>>> !GTRawObjectVariablesBrowser methodsFor: 'private building' stamp: 'AndreiChis 4/26/2016 10:37'!
>>> variablesIn: composite
>>>    ^ composite table
>>>        showOnly: 50;
>>>        shouldValidate: false;
>>>        allowsRecursiveSearch: false;
>>>        children: [ :assoc |
>>>            assoc key = 'self'
>>>                ifTrue: [ #() ]
>>>                ifFalse: [ self variableValuePairsFor: assoc value ] ];
>>>        icon: [ :assoc | self iconFor: assoc value ];
>>>        display: [ :anObject |
>>>            self rebuildCacheFor: anObject.
>>>            self variableValuePairsFor: anObject ];
>>>        column: 'Variable'
>>>            evaluated: [:assoc | '  ', (GTObjectPrinter new asNonTruncatedTextFrom: assoc key) ];
>>>        column: 'Value'
>>>            evaluated: [:assoc | GTObjectPrinter new asTruncatedTextFrom: assoc value ]
>>>            modified: [:newValue :assoc :presentation |
>>>                self updateInstanceVariable: assoc key from: presentation entity basedOn: newValue.
>>>                presentation update ];
>>>        morphicSelectionAct: [:list | list selection value browse ]
>>>            icon: GLMUIThemeExtraIcons glamorousBrowse
>>>            on: $b
>>>            entitled: 'Browse';
>>>        morphicSelectionAct: [:list | list selection value inspect ]
>>>            icon: GLMUIThemeExtraIcons glamorousInspect
>>>            on: $i
>>>            entitled: 'Inspect';
>>>        selectionAct: [:list |
>>>            ((list selection pointersToExcept: { list selection })
>>>                                    reject: [ :each | each pointsOnlyWeaklyTo: list selection ]) inspect ]
>>>            on: $t
>>>            entitled: 'Open pointers to';
>>>        dynamicActionsOnSelection: [ :presentation |
>>>            (presentation entity class hasInstVarNamed: presentation rawSelection key)
>>>
>>>                                                          ^^^^^^^^ here
>>>
>>>
>>>
>>>                ifTrue: [
>>>                    {
>>>                        GLMGenericAction new
>>>                                action: [:list | self systemNavigation browseAllAccessesTo: list rawSelection key from: list entity class ];
>>>                                title: 'List methods using this variable'.
>>>                        GLMGenericAction new
>>>                                action: [:list | self systemNavigation browseAllStoresInto: list rawSelection key from: list entity class ];
>>>                                title: 'List methods storing into this variable'.
>>>                    }
>>>                    ]
>>>                ifFalse: [ #() ] ]! !
>>>
>>> <GTRawObjectVariablesBrowser-variablesIn.st>
>> --
>> www.tudorgirba.com
>> www.feenk.com
>>
>> "Reasonable is what we are accustomed with."
>>
>>
>>
>
>

--
www.tudorgirba.com
www.feenk.com

"Innovation comes in the least expected form.
That is, if it is expected, it already happened."


Reply | Threaded
Open this post in threaded view
|

Re: DNU with GT Debugger

stepharo
Good!

I should say that my superpowers to find bugs and glitches is hyper
frustrating.



Le 9/8/16 à 18:10, Tudor Girba a écrit :

> Hi,
>
> Thanks. I could reproduce the problem and I extracted a simpler case:
> https://pharo.fogbugz.com/f/cases/18899/Raw-presentation-from-the-debugger-inspector-raises-error-when-the-rawSelection-comes-from-another-presentation
>
> Cheers,
> Doru
>
>
>> On Aug 9, 2016, at 2:00 PM, stepharo <[hidden email]> wrote:
>>
>> Hi doru
>>
>>
>> I sent you a drop box where you just have to click to repeat the problem.
>>
>> Let me know if this is enough. Else I should send you more scripts and files.
>>
>> Stef
>>
>>
>> Le 9/8/16 à 12:07, Tudor Girba a écrit :
>>> Hi,
>>>
>>> Thanks for the report. Do you happen to have an image around?
>>>
>>> Doru
>>>
>>>
>>>> On Aug 9, 2016, at 11:47 AM, stepharo <[hidden email]> wrote:
>>>>
>>>> While trying to debug pillar I got a DNU when clicking on the raw pane (when the items was selected)
>>>>
>>>> DNU:
>>>>
>>>> presentation rawSelection is aLinkedList and it does not understand key
>>>>
>>>>
>>>>
>>>>
>>>> 'From Pharo 6.0 of 13 May 2016 [Latest update: #60173] on 9 August 2016 at 11:45:10.355092 am'!
>>>>
>>>> !GTRawObjectVariablesBrowser methodsFor: 'private building' stamp: 'AndreiChis 4/26/2016 10:37'!
>>>> variablesIn: composite
>>>>     ^ composite table
>>>>         showOnly: 50;
>>>>         shouldValidate: false;
>>>>         allowsRecursiveSearch: false;
>>>>         children: [ :assoc |
>>>>             assoc key = 'self'
>>>>                 ifTrue: [ #() ]
>>>>                 ifFalse: [ self variableValuePairsFor: assoc value ] ];
>>>>         icon: [ :assoc | self iconFor: assoc value ];
>>>>         display: [ :anObject |
>>>>             self rebuildCacheFor: anObject.
>>>>             self variableValuePairsFor: anObject ];
>>>>         column: 'Variable'
>>>>             evaluated: [:assoc | '  ', (GTObjectPrinter new asNonTruncatedTextFrom: assoc key) ];
>>>>         column: 'Value'
>>>>             evaluated: [:assoc | GTObjectPrinter new asTruncatedTextFrom: assoc value ]
>>>>             modified: [:newValue :assoc :presentation |
>>>>                 self updateInstanceVariable: assoc key from: presentation entity basedOn: newValue.
>>>>                 presentation update ];
>>>>         morphicSelectionAct: [:list | list selection value browse ]
>>>>             icon: GLMUIThemeExtraIcons glamorousBrowse
>>>>             on: $b
>>>>             entitled: 'Browse';
>>>>         morphicSelectionAct: [:list | list selection value inspect ]
>>>>             icon: GLMUIThemeExtraIcons glamorousInspect
>>>>             on: $i
>>>>             entitled: 'Inspect';
>>>>         selectionAct: [:list |
>>>>             ((list selection pointersToExcept: { list selection })
>>>>                                     reject: [ :each | each pointsOnlyWeaklyTo: list selection ]) inspect ]
>>>>             on: $t
>>>>             entitled: 'Open pointers to';
>>>>         dynamicActionsOnSelection: [ :presentation |
>>>>             (presentation entity class hasInstVarNamed: presentation rawSelection key)
>>>>
>>>>                                                           ^^^^^^^^ here
>>>>
>>>>
>>>>
>>>>                 ifTrue: [
>>>>                     {
>>>>                         GLMGenericAction new
>>>>                                 action: [:list | self systemNavigation browseAllAccessesTo: list rawSelection key from: list entity class ];
>>>>                                 title: 'List methods using this variable'.
>>>>                         GLMGenericAction new
>>>>                                 action: [:list | self systemNavigation browseAllStoresInto: list rawSelection key from: list entity class ];
>>>>                                 title: 'List methods storing into this variable'.
>>>>                     }
>>>>                     ]
>>>>                 ifFalse: [ #() ] ]! !
>>>>
>>>> <GTRawObjectVariablesBrowser-variablesIn.st>
>>> --
>>> www.tudorgirba.com
>>> www.feenk.com
>>>
>>> "Reasonable is what we are accustomed with."
>>>
>>>
>>>
>>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "Innovation comes in the least expected form.
> That is, if it is expected, it already happened."
>
>
>