[prev in list] [next in list] [prev in thread] [next in thread] 

List:       squeak-dev
Subject:    Re: [squeak-dev] [Bug][5.2beta][Test] menu 'method source with it' causes error in DecompilerConstru
From:       "H. Hirzel" <hannes.hirzel () gmail ! com>
Date:       2018-09-08 7:37:47
Message-ID: CAGQxfVgC4Fvw49KKkjHqNtyawFvnOM-yNdfZPJy+ic5wzKX68w () mail ! gmail ! com
[Download RAW message or body]

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@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@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 --
> > 
> 
> 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic