[squeak-dev] [Bug][5.2beta][Test] menu 'method source with it' causes error in DecompilerConstructor object
H. Hirzel
hannes.hirzel at gmail.com
Sat Sep 8 07:37:47 UTC 2018
Thanks for checking, Chris.
Yes, after using a new stock trunk image the error did no longer occur.
Sorry for the false alarm.
--Hannes
On 9/7/18, Chris Muller <asqueaker at gmail.com> wrote:
> Hi Hannes,
>
> It works for me. It looks like you're not dealing with a stock trunk
> image...
> ________
> CompiledMethod>>getSourceFor:in:
> Receiver: (Player217>>nil "a CompiledMethod(1568738)")
> Arguments and temporary variables:
> selector: nil
> class: Player217
> trailer: a CompiledMethodTrailer
> source: nil
> namesString: nil
> code: nil
> Receiver's instance variables:
> (Player217>>nil "a CompiledMethod(1568738)")
> _______
>
> - Chris
>
> On Fri, Sep 7, 2018 at 1:44 AM H. Hirzel <hannes.hirzel at gmail.com> wrote:
>>
>> Hello
>>
>> A manual test case which fails:
>>
>> 1) I open a workspace
>> 2) I add and select the text
>> previous project
>> 3) I choose the menu 'method source with it'
>>
>> Result is that I get an error in
>>
>> DecompilerConstructor>>
>> codeMethod: selector block: block tempVars: vars primitive: primitive
>> class: class
>>
>>
>> Stack trace below
>>
>> --Hannes
>>
>> --------------------------------------------------------------------------------------------------------------------------------------
>> 7 September 2018 8:40:44.650159 am
>>
>> VM: unix - Smalltalk
>> Image: Squeak5.2alpha [latest update: #18185]
>>
>> SecurityManager state:
>> Restricted: false
>> FileAccess: true
>> SocketAccess: true
>> Working Dir
>> /home/user24/Documents/Squeak5.2/Squeak5.2alpha-18185-32bit-All-in-One.app/Contents/Resources
>> Trusted Dir
>> /home/user24/Documents/Squeak5.2/Squeak5.2alpha-18185-32bit-All-in-One.app/Contents/Resources/secure
>> Untrusted Dir
>> /home/user24/Documents/Squeak5.2/Squeak5.2alpha-18185-32bit-All-in-One.app/Contents/Resources/My
>> Squeak
>>
>> UndefinedObject(Object)>>doesNotUnderstand: #precedence
>> Receiver: nil
>> Arguments and temporary variables:
>> aMessage: precedence
>> exception: MessageNotUnderstood:
>> UndefinedObject>>precedence
>> resumeValue: nil
>> Receiver's instance variables:
>> nil
>>
>> DecompilerConstructor>>codeMethod:block:tempVars:primitive:class:
>> Receiver: {a DecompilerConstructor}
>> Arguments and temporary variables:
>> selector: nil
>> block: {[[] repeat.
>> self getValueAtCursor doMenuItem: 'resist being picked
>> up'...etc...
>> vars: #()
>> primitive: 0
>> class: Player217
>> blockNode: nil
>> selectorNode: {<key==nil>}
>> visibleTemps: an OrderedCollection()
>> invisibleTemps: an OrderedCollection()
>> arguments: an OrderedCollection()
>> temporaries: an OrderedCollection()
>> properties: an AdditionalMethodState (1209644)
>> onceCache: nil
>> Receiver's instance variables:
>> comment: nil
>> pc: nil
>> method: (Player217>>nil "a
>> CompiledMethod(1568738)")
>> instVars: #('dependents' 'costume' 'costumes')
>> nArgs: 0
>> literalValues: {#timesRepeat: . #getCount . #doMenuItem:
>> .
>> #getValueAtCursor . ...etc...
>> tempVars: #()
>>
>> Decompiler>>decompile:in:method:using:
>> Receiver: a Decompiler
>> Arguments and temporary variables:
>> aSelector: nil
>> aClass: Player217
>> aMethod: (Player217>>nil "a
>> CompiledMethod(1568738)")
>> aConstructor: {a DecompilerConstructor}
>> block: {[[] repeat.
>> self getValueAtCursor doMenuItem: 'resist being picked
>> up'...etc...
>> node: nil
>> Receiver's instance variables:
>> sender: (Player217>>nil "a
>> CompiledMethod(1568738)")
>> pc: 63
>> constructor: {a DecompilerConstructor}
>> method: (Player217>>nil "a
>> CompiledMethod(1568738)")
>> instVars: #(nil nil nil)
>> tempVars: #()
>> constTable: {{self} . {true} . {false} . {nil} . {-1}
>> . {0} . {1} . {2}}
>> stack: an OrderedCollection()
>> statements: an OrderedCollection()
>> lastPc: 62
>> exit: 63
>> caseExits: an OrderedCollection()
>> lastJumpPc: 62
>> lastReturnPc: -1
>> limit: 63
>> hasValue: false
>> blockStackBase: nil
>> numLocalTemps: 0
>> blockStartsToTempVars: nil
>> tempVarCount: 0
>> lastJumpIfPcStack: an OrderedCollection()
>> tempReadCounts: a Dictionary()
>>
>> Decompiler>>decompile:in:method:
>> Receiver: a Decompiler
>> Arguments and temporary variables:
>> aSelector: nil
>> aClass: Player217
>> aMethod: (Player217>>nil "a
>> CompiledMethod(1568738)")
>> Receiver's instance variables:
>> sender: (Player217>>nil "a
>> CompiledMethod(1568738)")
>> pc: 63
>> constructor: {a DecompilerConstructor}
>> method: (Player217>>nil "a
>> CompiledMethod(1568738)")
>> instVars: #(nil nil nil)
>> tempVars: #()
>> constTable: {{self} . {true} . {false} . {nil} . {-1}
>> . {0} . {1} . {2}}
>> stack: an OrderedCollection()
>> statements: an OrderedCollection()
>> lastPc: 62
>> exit: 63
>> caseExits: an OrderedCollection()
>> lastJumpPc: 62
>> lastReturnPc: -1
>> limit: 63
>> hasValue: false
>> blockStackBase: nil
>> numLocalTemps: 0
>> blockStartsToTempVars: nil
>> tempVarCount: 0
>> lastJumpIfPcStack: an OrderedCollection()
>> tempReadCounts: a Dictionary()
>>
>> CompiledMethod>>getSourceFor:in:
>> Receiver: (Player217>>nil "a CompiledMethod(1568738)")
>> Arguments and temporary variables:
>> selector: nil
>> class: Player217
>> trailer: a CompiledMethodTrailer
>> source: nil
>> namesString: nil
>> code: nil
>> Receiver's instance variables:
>> (Player217>>nil "a CompiledMethod(1568738)")
>>
>> CompiledMethod(CompiledCode)>>getSource
>> Receiver: (Player217>>nil "a CompiledMethod(1568738)")
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> (Player217>>nil "a CompiledMethod(1568738)")
>>
>> [] in [] in [] in SystemNavigation>>allMethodsWithSourceString:matchCase:
>> Receiver: a SystemNavigation
>> Arguments and temporary variables:
>> <<error during printing>
>> Receiver's instance variables:
>> browserClass: nil
>> hierarchyBrowserClass: nil
>> environment: Smalltalk
>>
>> [] in [] in SystemNavigation>>allSelectorsAndMethodsDo:
>> Receiver: a SystemNavigation
>> Arguments and temporary variables:
>> aBlock: #script1
>> behavior: (Player217>>nil "a
>> CompiledMethod(1568738)")
>> selector: Player217
>> method: [closure] in [] in [] in
>> SystemNavigation>>allMethodsWithSourceString:matchCase:...etc...
>> Receiver's instance variables:
>> browserClass: nil
>> hierarchyBrowserClass: nil
>> environment: Smalltalk
>>
>> MethodDictionary>>keysAndValuesDo:
>> Receiver: a MethodDictionary(#script1->(Player217>>nil "a
>> CompiledMethod(1568738)") )
>> Arguments and temporary variables:
>> aBlock: [closure] in [] in
>> SystemNavigation>>allSelectorsAndMethodsDo:
>> key: #script1
>> i: 8
>> iLimiT: 32
>> Receiver's instance variables:
>> tally: 1
>> array: {nil . nil . nil . nil . nil . nil . nil .
>> (Player217>>nil
>> "a CompiledMethod...etc...
>>
>> Player217 class(Behavior)>>selectorsAndMethodsDo:
>> Receiver: Player217
>> Arguments and temporary variables:
>> selectorAndMethodBlock: [closure] in [] in
>> SystemNavigation>>allSelectorsAndMethodsDo:...etc...
>> Receiver's instance variables:
>> superclass: Player
>> methodDict: a
>> MethodDictionary(#script1->(Player217>>nil "a
>> CompiledMethod(1568...etc...
>> format: 65539
>> instanceVariables: nil
>> organization: ('scripts' script1)
>>
>> subclasses: nil
>> name: #Player217
>> classPool: nil
>> sharedPools: nil
>> environment: Smalltalk
>> category: #UserObjects
>> scripts: an IdentityDictionary(#script1->A
>> UniclassScript -
>> selector: #script1 ...etc...
>> slotInfo: an IdentityDictionary()
>> variableDocks: <<error during printing>>
>>
>> [] in SystemNavigation>>allSelectorsAndMethodsDo:
>> Receiver: a SystemNavigation
>> Arguments and temporary variables:
>> aBlock: Player217
>> behavior: [closure] in [] in [] in
>> SystemNavigation>>allMethodsWithSourceString:matchCase:...etc...
>> Receiver's instance variables:
>> browserClass: nil
>> hierarchyBrowserClass: nil
>> environment: Smalltalk
>>
>> [] in SystemNavigation>>allBehaviorsDo:
>> Receiver: a SystemNavigation
>> Arguments and temporary variables:
>> aBlock: Player217
>> class: [closure] in
>> SystemNavigation>>allSelectorsAndMethodsDo:
>> Receiver's instance variables:
>> browserClass: nil
>> hierarchyBrowserClass: nil
>> environment: Smalltalk
>>
>> [] in Environment>>allClassesAndTraitsDo:
>> Receiver: Smalltalk
>> Arguments and temporary variables:
>> aBlock: #Player217
>> key: Player217
>> value: [closure] in SystemNavigation>>allBehaviorsDo:
>> Receiver's instance variables:
>> info: SmalltalkInfo
>> declarations: an IdentityDictionary(size 2732)
>> bindings: an IdentityDictionary(size 2732)
>> undeclared: a WeakIdentityDictionary()
>> policies: {a BindingPolicy . a BindingPolicy}
>> observers: an IdentitySet(EnvironmentForUniClass)
>>
>> [] in IdentityDictionary(Dictionary)>>keysAndValuesDo:
>> Receiver: an IdentityDictionary(size 2732)
>> Arguments and temporary variables:
>> aBlock: #Player217=>Player217
>> assoc: [closure] in Environment>>allClassesAndTraitsDo:
>> Receiver's instance variables:
>> tally: 2732
>> array: {#ConnectionClosed=>ConnectionClosed .
>> #UTF8TextConverterTest=>UTF8TextConverterTest...etc...
>>
>> IdentityDictionary(Dictionary)>>associationsDo:
>> Receiver: an IdentityDictionary(size 2732)
>> Arguments and temporary variables:
>> aBlock: [closure] in
>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>> element: #Player217=>Player217
>> index: 2628
>> indexLimiT: 3727
>> Receiver's instance variables:
>> tally: 2732
>> array: {#ConnectionClosed=>ConnectionClosed .
>> #UTF8TextConverterTest=>UTF8TextConverterTest...etc...
>>
>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>> Receiver: an IdentityDictionary(size 2732)
>> Arguments and temporary variables:
>> aBlock: [closure] in
>> Environment>>allClassesAndTraitsDo:
>> Receiver's instance variables:
>> tally: 2732
>> array: {#ConnectionClosed=>ConnectionClosed .
>> #UTF8TextConverterTest=>UTF8TextConverterTest...etc...
>>
>> Environment>>allClassesAndTraitsDo:
>> Receiver: Smalltalk
>> Arguments and temporary variables:
>> aBlock: [closure] in
>> SystemNavigation>>allBehaviorsDo:
>> Receiver's instance variables:
>> info: SmalltalkInfo
>> declarations: an IdentityDictionary(size 2732)
>> bindings: an IdentityDictionary(size 2732)
>> undeclared: a WeakIdentityDictionary()
>> policies: {a BindingPolicy . a BindingPolicy}
>> observers: an IdentitySet(EnvironmentForUniClass)
>>
>> SystemNavigation>>allBehaviorsDo:
>> Receiver: a SystemNavigation
>> Arguments and temporary variables:
>> aBlock: [closure] in
>> SystemNavigation>>allSelectorsAndMethodsDo:
>> Receiver's instance variables:
>> browserClass: nil
>> hierarchyBrowserClass: nil
>> environment: Smalltalk
>>
>> SystemNavigation>>allSelectorsAndMethodsDo:
>> Receiver: a SystemNavigation
>> Arguments and temporary variables:
>> aBlock: [closure] in [] in [] in
>> SystemNavigation>>allMethodsWithSourceString:matchCase:...etc...
>> Receiver's instance variables:
>> browserClass: nil
>> hierarchyBrowserClass: nil
>> environment: Smalltalk
>>
>>
>> --- The full stack ---
>> UndefinedObject(Object)>>doesNotUnderstand: #precedence
>> DecompilerConstructor>>codeMethod:block:tempVars:primitive:class:
>> Decompiler>>decompile:in:method:using:
>> Decompiler>>decompile:in:method:
>> CompiledMethod>>getSourceFor:in:
>> CompiledMethod(CompiledCode)>>getSource
>> [] in [] in [] in SystemNavigation>>allMethodsWithSourceString:matchCase:
>> [] in [] in SystemNavigation>>allSelectorsAndMethodsDo:
>> MethodDictionary>>keysAndValuesDo:
>> Player217 class(Behavior)>>selectorsAndMethodsDo:
>> [] in SystemNavigation>>allSelectorsAndMethodsDo:
>> [] in SystemNavigation>>allBehaviorsDo:
>> [] in Environment>>allClassesAndTraitsDo:
>> [] in IdentityDictionary(Dictionary)>>keysAndValuesDo:
>> IdentityDictionary(Dictionary)>>associationsDo:
>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>> Environment>>allClassesAndTraitsDo:
>> SystemNavigation>>allBehaviorsDo:
>> SystemNavigation>>allSelectorsAndMethodsDo:
>> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>> [] in [] in SystemNavigation>>allMethodsWithSourceString:matchCase:
>> [] in [] in MorphicUIManager>>displayProgress:at:from:to:during:
>> BlockClosure>>on:do:
>> [] in MorphicUIManager>>displayProgress:at:from:to:during:
>> BlockClosure>>ensure:
>> MorphicUIManager>>displayProgress:at:from:to:during:
>> ProgressInitiationException>>defaultResumeValue
>> ProgressInitiationException(Exception)>>resume
>> ProgressInitiationException>>defaultAction
>> UndefinedObject>>handleSignal:
>> Context>>handleSignal:
>> ProgressInitiationException(Exception)>>signal
>> ProgressInitiationException>>display:at:from:to:during:
>> ProgressInitiationException class>>display:at:from:to:during:
>> ByteString(String)>>displayProgressAt:from:to:during:
>> ByteString(String)>>displayProgressFrom:to:during:
>> [] in SystemNavigation>>allMethodsWithSourceString:matchCase:
>> BlockClosure>>on:do:
>> CurrentReadOnlySourceFiles class>>cacheDuring:
>> SystemNavigation>>allMethodsWithSourceString:matchCase:
>> SystemNavigation>>browseMethodsWithSourceString:
>> SmalltalkEditor(TextEditor)>>methodSourceContainingIt
>> [] in PluggableTextMorphPlus(PluggableTextMorph)>>methodSourceContainingIt
>> TextMorphForEditView(TextMorph)>>handleEdit:
>> PluggableTextMorphPlus(PluggableTextMorph)>>handleEdit:
>> PluggableTextMorphPlus(PluggableTextMorph)>>methodSourceContainingIt
>> Workspace(StringHolder)>>perform:orSendTo:
>> [] in MenuItemMorph>>invokeWithEvent:
>> BlockClosure>>ensure:
>> CursorWithMask(Cursor)>>showWhile:
>> MenuItemMorph>>invokeWithEvent:
>> MenuItemMorph>>mouseUp:
>> MenuItemMorph>>handleMouseUp:
>> MouseButtonEvent>>sentTo:
>> MenuItemMorph(Morph)>>handleEvent:
>> MorphicEventDispatcher>>dispatchEvent:withHandler:withMorph:
>> MorphicEventDispatcher>>dispatchDefault:with:
>> MorphicEventDispatcher>>dispatchEvent:with:
>> MenuItemMorph(Morph)>>processEvent:using:
>> [] in MorphicEventDispatcher>>dispatchEvent:toSubmorphsOf:
>> Array(SequenceableCollection)>>do:
>> MenuMorph(Morph)>>submorphsDo:
>> -- and more not shown --
>>
>
>
More information about the Squeak-dev
mailing list
|