[Glass] Tode problematic
Dale Henrichs via Glass
glass at lists.gemtalksystems.com
Mon Jul 10 13:59:04 PDT 2017
Dario,
From the stack I was able to figure out what you might have done to
create the method and I was finally able to reproduce your bug ...
You added the new method to Object in a pre-exisiting category that was
not prefixed with a $* ... and this is a bug in tODE .... that's been
around for quite awhile ...
You can patch tODE using the following in TDMethodDefinition>>source:
source
self username
ifNotNil: [
^ (self theBehavior perform: #'persistentMethodAt:' with: self
selector)
sourceString ].
^ (self theBehavior
compiledMethodAt: self selector
environmentId: 0
otherwise: nil
usePackages: true) sourceString
I'll submit a tODE bug and update the source with the patch when I get
chance ... I'm under the gun for a project deadline ...
Dale
On 07/10/2017 12:24 AM, Trussardi Dario Romano via Glass wrote:
> Dale,
>
>> Dario,
>>
>> There is nothing special about isNotNil ... I guess I'd like to see
>> the actual source code for the method in case there is something odd
>> in the source --- most likely not ...
>>
>> To get started, I would really like to see the whole stack for the
>> LookupError. In tODE if you select debug to bring up a debugger, then
>> in the stack frame list window use the `Window > print window` menu
>> item, and then send me the printed stack.
>>
> this is the printed stack:
>
> a LookupError occurred (error 2021), reason:rtErrKeyNotFound,
> A reference using the non-existent key #'isNotNil' was made
> into the dictionary Object
>
> --------------------
>
> 1. LookupError(AbstractException)>>_signalWith: @5 line 25
>
> 2. LookupError(AbstractException)>>signal @2 line 47
>
> 3. Object class(Object)>>_error:args: @15 line 11
>
> 4. Object class(Behavior)>>compiledMethodAt:environmentId: @5
> line 9
>
> 5. Object class(Behavior)>>sourceCodeAt:environmentId: @2 line 7
>
> 6. Object class(Behavior)>>sourceCodeAt: @2 line 3
>
> 7. TDMethodDefinition>>source @4 line 2
>
> 8. TDMethodDefinitionElementBuilder>>elementSource @3 line 2
>
> 9.
> TDMethodDefinitionElementBuilder(TDClientCodeElementBuilder)>>formattedElementSource
> @2 line 3
>
> 10.
> TDMethodDefinitionElementBuilder(TDClientSourceElementBuilder)>>firstSource
> @2 line 2
>
> 11.
> TDMethodDefinitionElementBuilder(TDClientSourceElementBuilder)>>buildClientElementUsing:editorAspect:
> @6 line 8
>
> 12.
> TDMethodDefinitionElementBuilder(TDClientMethodElementBuilder)>>buildClientElementUsing:editorAspect:
> @2 line 2
>
> 13.
> TDMethodDefinitionElementBuilder>>buildClientElementUsing:editorAspect:
> @2 line 2
>
> 14. [] in ExecBlock2(TDTopezServer)>>clientElementFor:using:
> @4 line 9
>
> 15. [] in TDTopezServer>>editorNodeFor:aspect:do: @8 line 9
>
> 16. [] in
> ExecBlock1(TDTopezServer)>>editorNodeClassNameFor:aspect:do:
> @5 line 10
>
> 17.
> TDTopezServer>>lookupClassNameFor:aspect:defaultAspect:in:do:
> @24 line 28
>
> 18. TDTopezServer>>editorNodeClassNameFor:aspect:do: @5 line 3
>
> 19. TDTopezServer>>editorNodeFor:aspect:do: @2 line 3
>
> 20. TDTopezServer>>clientElementFor:using: @3 line 4
>
> 21. TDTopezServer>>edit:using: @2 line 3
>
> 22. TDMethodDefinition(Object)>>editUsing: @4 line 3
>
> 23. TDMethodDefinition>>itemSelected: @8 line 8
>
> 24.
> TDClassicClassSelectorListElementBuilder>>itemSelected:at:shiftPressed:
> @10 line 7
>
> 25. [] in
> TDClassicClassSelectorListElementBuilder(TDClientListElementBuilder)>>itemSelectedBlock
> @4 line 4
>
> 26.
> TDClassicClassSelectorListElementBuilder(ExecBlock)>>cull:cull:cull:cull:
> @7 line 4
>
> 27. GsNMethod class>>_gsReturnToC @1 line 1
>
>
> Thanks,
>
> Dario
>>
>> With that I will know where the error is occuring and start looking
>> into figuring out what went wrong and how to fix it ...
>>
>> Dale
>>
>> On 07/07/2017 06:38 AM, Trussardi Dario Romano via Glass wrote:
>>> Ciao,
>>>
>>> i have a Tode problematic.
>>>
>>> I submit this to the: tode at noreply.github.com
>>> <mailto:tode at noreply.github.com>
>>>
>>> but idoubt it's not the right procedure.
>>>
>>>> Ciao,
>>>
>>>>
>>>> i have a tode image working with on 3.2.12 environment.
>>>
>>>>
>>>> Now in the tode class browser i found ( i don't remember
>>>> when and how i create it )
>>>
>>>>
>>>> the Object isNotNil message.
>>>
>>>>
>>>> When in the class browser i select this method the
>>>> system answer:
>>>
>>>>
>>>> a LookupError occurred (error 2021),
>>>> reason:rtErrKeyNotFound, A reference using
>>>
>>>> the non-existent key #'isNotNil' was made into the
>>>> dictionary Object
>>>
>>>>
>>>> Any other command:
>>>
>>>>
>>>> remove the relative protocol
>>>
>>>>
>>>> compile a new isNotNil method
>>>
>>>>
>>>> remove the method with: method remove Object >>isNotNil
>>>
>>>>
>>>> answer the same error.
>>>
>>>>
>>>> When i save the relative package the Object isNotNil
>>>> method is not saved.
>>>
>>>>
>>>> When the code call: isNotNil the system
>>>> answer: does not understand.
>>>
>>>>
>>>> Thanks for considerations,
>>>
>>>>
>>>> Dario
>>>
>>>
>>>
>>> Does anyone know the right procedure?
>>>
>>> If in the meantime you have an indication regarding my problem,
>>>
>>> i would be grateful.
>>>
>>> Dario
>>>
>>>
>>> _______________________________________________
>>> Glass mailing list
>>> Glass at lists.gemtalksystems.com
>>> http://lists.gemtalksystems.com/mailman/listinfo/glass
>>
>> _______________________________________________
>> Glass mailing list
>> Glass at lists.gemtalksystems.com <mailto:Glass at lists.gemtalksystems.com>
>> http://lists.gemtalksystems.com/mailman/listinfo/glass
>
>
>
> _______________________________________________
> Glass mailing list
> Glass at lists.gemtalksystems.com
> http://lists.gemtalksystems.com/mailman/listinfo/glass
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/private/glass/attachments/20170710/377ad29f/attachment-0001.html>
More information about the Glass
mailing list