[squeak-dev] [Bug][5.2beta][Test] menu 'method source with it' causes error in DecompilerConstructor object
Chris Muller
asqueaker at gmail.com
Fri Sep 7 20:39:19 UTC 2018
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
|