[Pharo-project] [squeak-dev] CompiledMethod>>#hash broken on CogVM r2559, Win7, Squeak 4.3

Mariano Martinez Peck marianopeck at gmail.com
Mon Jul 23 16:21:43 EDT 2012


On Mon, Jul 23, 2012 at 10:19 PM, Eliot Miranda <eliot.miranda at gmail.com>wrote:

>
>
> On Mon, Jul 23, 2012 at 12:43 PM, Mariano Martinez Peck <
> marianopeck at gmail.com> wrote:
>
>>
>>
>> On Mon, Jul 23, 2012 at 8:38 PM, Eliot Miranda <eliot.miranda at gmail.com>wrote:
>>
>>>
>>>
>>> On Mon, Jul 23, 2012 at 11:34 AM, Mariano Martinez Peck <
>>> marianopeck at gmail.com> wrote:
>>>
>>>>
>>>>
>>>> On Mon, Jul 23, 2012 at 8:08 PM, Eliot Miranda <eliot.miranda at gmail.com
>>>> > wrote:
>>>>
>>>>> Hi Marcel,
>>>>>
>>>>>     that's because the old hash method is broken.  The Cog VM finally
>>>>> adds a correct bounds check that prevents byte access to the non-byte parts
>>>>> (literals) of a CompiledMethod.  Accessing the literals of a method via
>>>>> byte access gives access to the addresses of objects.  This is broken since
>>>>> the GC is a moving garbage collector and so addresses can change.  Hence a
>>>>> hash derived from such bytes is not stable.  See Kernel-eem.692 which
>>>>> provides the attached hash method.
>>>>>
>>>>>
>>>> Hi Eliot. I remember seeing this discussion in the Pharo mailing list
>>>> also. So...I guess we should commit that also in Pharo, right?
>>>>
>>>
>>> Yes.  Also the bug fixes in Kernel-eem.700 & Kernel-eem.703.
>>>
>>>
>>
>> Regarding Kernel-eem.700, I don't really understand much the code, so I
>> will trust you. Now, regarding Kernel-eem.703 it seems it was already fixed
>> in Pharo. You added the
>>
>> CompiledMethod >> postCopy
>> | penultimateLiteral |
>> (penultimateLiteral := self penultimateLiteral) isMethodProperties ifTrue:
>>  [self penultimateLiteral: (penultimateLiteral copy
>> setMethod: self;
>>  yourself).
>>  self pragmas do:
>> [:p| p setMethod: self]]
>>
>> But we already have:
>>
>> CompiledMethod >> postCopy
>>
>> 1 to: self literals size do: [:index |
>>  | literal |
>> literal := self literalAt: index.
>>
>> literal class == AdditionalMethodState ifTrue: [
>>  literal := literal copy.
>> self literalAt: index put: literal.
>> self fixAdditionalMethodStateMethodReference: literal]].
>>  So....I don't really understand why we iterate over all literals if we
>> just fix the pragmas...so I think your part of the "(penultimateLiteral :=
>> self penultimateLiteral) isMethodProperties ifTrue:"  is better.
>>
>> Now, you only do #setMethod for the pragma, but our code:
>>
>> fixAdditionalMethodStateMethodReference: anAdditionalMethodState
>>
>> anAdditionalMethodState method: self.
>>  anAdditionalMethodState pragmas do: [:each | each instVarAt: 1 put:
>> self].
>>
>>
>> And again, I don't know why we se instVarAt: 1 put:   rather than
>> #setMethod:
>>
>> So, all in all, I think your code looks better. Am I missing something?
>>
>
> I don't think so ;)
>
>

sorry I mean in #copyWithTrailerBytes:



>
>> Thanks!
>>
>>
>>
>>>>
>>>>>
>>>>> On Sun, Jul 22, 2012 at 7:10 AM, Marcel Taeumel <
>>>>> marcel.taeumel at student.hpi.uni-potsdam.de> wrote:
>>>>>
>>>>>> Hi!
>>>>>>
>>>>>> It is not possible to compute the hash value of a CompiledMethod
>>>>>> instance
>>>>>> with the CogVM r2559 on a Windows 7 machine using a Squeak 4.3 image.
>>>>>>
>>>>>> Should it be possible despite of all enhancements in the Cog VM?
>>>>>>
>>>>>> Best,
>>>>>> Marcel
>>>>>>
>>>>>> 22 July 2012 4:06:54.988 pm
>>>>>>
>>>>>> VM: Win32 - Smalltalk
>>>>>> Image: Squeak4.3 [latest update: #11860]
>>>>>>
>>>>>> SecurityManager state:
>>>>>> Restricted: false
>>>>>> FileAccess: true
>>>>>> SocketAccess: true
>>>>>> Working Dir C:\Tools\vivide_dev
>>>>>> Trusted Dir C:\Tools\vivide_dev\Marcel
>>>>>> Untrusted Dir C:\Users\Marcel\Documents\My Squeak
>>>>>>
>>>>>> CompiledMethod(Object)>>error:
>>>>>>         Receiver: (Morph>>#drawOn: "a CompiledMethod(337)")
>>>>>>         Arguments and temporary variables:
>>>>>>                 aString:        'subscript is out of bounds: 1'
>>>>>>         Receiver's instance variables:
>>>>>> (Morph>>#drawOn: "a CompiledMethod(337)")
>>>>>>
>>>>>> CompiledMethod(Object)>>errorSubscriptBounds:
>>>>>>         Receiver: (Morph>>#drawOn: "a CompiledMethod(337)")
>>>>>>         Arguments and temporary variables:
>>>>>>                 index:  1
>>>>>>         Receiver's instance variables:
>>>>>> (Morph>>#drawOn: "a CompiledMethod(337)")
>>>>>>
>>>>>> CompiledMethod(Object)>>basicAt:
>>>>>>         Receiver: (Morph>>#drawOn: "a CompiledMethod(337)")
>>>>>>         Arguments and temporary variables:
>>>>>>                 index:  1
>>>>>>         Receiver's instance variables:
>>>>>> (Morph>>#drawOn: "a CompiledMethod(337)")
>>>>>>
>>>>>> CompiledMethod class(ByteArray class)>>hashBytes:startingWith:
>>>>>>         Receiver: CompiledMethod
>>>>>>         Arguments and temporary variables:
>>>>>>                 aByteArray:     (Morph>>#drawOn: "a
>>>>>> CompiledMethod(337)")
>>>>>>                 speciesHash:    244619647
>>>>>>                 byteArraySize:  43
>>>>>>                 hash:   244619647
>>>>>>                 low:    nil
>>>>>>                 pos:    1
>>>>>>         Receiver's instance variables:
>>>>>>                 superclass:     ByteArray
>>>>>>                 methodDict:     a MethodDictionary(size 190)
>>>>>>                 format:         3586
>>>>>>                 instanceVariables:      nil
>>>>>>                 organization:   ('accessing' clearFlag
>>>>>> defaultSelector dragLabel endPC flag
>>>>>> flush...etc...
>>>>>>                 subclasses:     nil
>>>>>>                 name:   #CompiledMethod
>>>>>>                 classPool:      a Dictionary(#LargeFrame->56
>>>>>> #SmallFrame->16 )
>>>>>>                 sharedPools:    nil
>>>>>>                 environment:    Smalltalk globals "a SystemDictionary
>>>>>> with lots of globals"
>>>>>>                 category:       #'Kernel-Methods'
>>>>>>
>>>>>> CompiledMethod(ByteArray)>>hash
>>>>>>         Receiver: (Morph>>#drawOn: "a CompiledMethod(337)")
>>>>>>         Arguments and temporary variables:
>>>>>>
>>>>>>         Receiver's instance variables:
>>>>>> (Morph>>#drawOn: "a CompiledMethod(337)")
>>>>>>
>>>>>> UndefinedObject>>DoIt
>>>>>>         Receiver: nil
>>>>>>         Arguments and temporary variables:
>>>>>>
>>>>>>         Receiver's instance variables:
>>>>>> nil
>>>>>>
>>>>>> Compiler>>evaluate:in:to:notifying:ifFail:logged:
>>>>>>         Receiver: a Compiler
>>>>>>         Arguments and temporary variables:
>>>>>>                 textOrStream:   a ReadWriteStream '(Morph>>#drawOn:)
>>>>>> hash'
>>>>>>                 aContext:       nil
>>>>>>                 receiver:       nil
>>>>>>                 aRequestor:     a SmalltalkEditor
>>>>>>                 failBlock:      [closure] in [] in
>>>>>> SmalltalkEditor(TextEditor)>>evaluateSelectionAnd...etc...
>>>>>>                 logFlag:        true
>>>>>>                 methodNode:     DoIt
>>>>>>         ^ (Morph >> #drawOn:) hash
>>>>>>                 method:         (UndefinedObject>>#DoIt "a
>>>>>> CompiledMethod(1506)")
>>>>>>                 value:  nil
>>>>>>                 toLog:  nil
>>>>>>                 itsSelection:   nil
>>>>>>                 itsSelectionString:     nil
>>>>>>         Receiver's instance variables:
>>>>>>                 sourceStream:   a ReadWriteStream '(Morph>>#drawOn:)
>>>>>> hash'
>>>>>>                 requestor:      a SmalltalkEditor
>>>>>>                 class:  UndefinedObject
>>>>>>                 category:       nil
>>>>>>                 context:        nil
>>>>>>                 parser:         a Parser
>>>>>>
>>>>>> [] in SmalltalkEditor(TextEditor)>>evaluateSelectionAndDo:
>>>>>>         Receiver: a SmalltalkEditor
>>>>>>         Arguments and temporary variables:
>>>>>> <<error during printing>
>>>>>>         Receiver's instance variables:
>>>>>>                 morph:  a TextMorphForEditView(2114)
>>>>>>                 selectionShowing:       false
>>>>>>                 model:  a Workspace
>>>>>>                 paragraph:      a MultiNewParagraph
>>>>>>                 markBlock:      a CharacterBlock with index 1 and
>>>>>> character $( and rectangle
>>>>>> 0 at 0 cor...etc...
>>>>>>                 pointBlock:     a CharacterBlock with index 23 and
>>>>>> rectangle 154 at 0 corner:
>>>>>> 154 at 17
>>>>>>  ...etc...
>>>>>>                 beginTypeInIndex:       nil
>>>>>>                 emphasisHere:   {a TextFontChange font: 1}
>>>>>>                 lastParenLocation:      nil
>>>>>>                 otherInterval:  (1 to: 22)
>>>>>>                 oldInterval:    (1 to: 22)
>>>>>>                 typeAhead:      a WriteStream ''
>>>>>>                 styler:         nil
>>>>>>
>>>>>> BlockClosure>>on:do:
>>>>>>         Receiver: [closure] in
>>>>>> SmalltalkEditor(TextEditor)>>evaluateSelectionAndDo:
>>>>>>         Arguments and temporary variables:
>>>>>>                 exception:      OutOfScopeNotification
>>>>>>                 handlerAction:  [closure] in
>>>>>> SmalltalkEditor(TextEditor)>>evaluateSelectionAndDo...etc...
>>>>>>                 handlerActive:  true
>>>>>>         Receiver's instance variables:
>>>>>>                 outerContext:
>>>>>> SmalltalkEditor(TextEditor)>>evaluateSelectionAndDo:
>>>>>>                 startpc:        97
>>>>>>                 numArgs:        0
>>>>>>
>>>>>> SmalltalkEditor(TextEditor)>>evaluateSelectionAndDo:
>>>>>>         Receiver: a SmalltalkEditor
>>>>>>         Arguments and temporary variables:
>>>>>>                 aBlock:         [closure] in
>>>>>> SmalltalkEditor(TextEditor)>>evaluateSelection
>>>>>>                 result:         nil
>>>>>>                 rcvr:   nil
>>>>>>                 ctxt:   nil
>>>>>>         Receiver's instance variables:
>>>>>>                 morph:  a TextMorphForEditView(2114)
>>>>>>                 selectionShowing:       false
>>>>>>                 model:  a Workspace
>>>>>>                 paragraph:      a MultiNewParagraph
>>>>>>                 markBlock:      a CharacterBlock with index 1 and
>>>>>> character $( and rectangle
>>>>>> 0 at 0 cor...etc...
>>>>>>                 pointBlock:     a CharacterBlock with index 23 and
>>>>>> rectangle 154 at 0 corner:
>>>>>> 154 at 17
>>>>>>  ...etc...
>>>>>>                 beginTypeInIndex:       nil
>>>>>>                 emphasisHere:   {a TextFontChange font: 1}
>>>>>>                 lastParenLocation:      nil
>>>>>>                 otherInterval:  (1 to: 22)
>>>>>>                 oldInterval:    (1 to: 22)
>>>>>>                 typeAhead:      a WriteStream ''
>>>>>>                 styler:         nil
>>>>>>
>>>>>> SmalltalkEditor(TextEditor)>>evaluateSelection
>>>>>>         Receiver: a SmalltalkEditor
>>>>>>         Arguments and temporary variables:
>>>>>>
>>>>>>         Receiver's instance variables:
>>>>>>                 morph:  a TextMorphForEditView(2114)
>>>>>>                 selectionShowing:       false
>>>>>>                 model:  a Workspace
>>>>>>                 paragraph:      a MultiNewParagraph
>>>>>>                 markBlock:      a CharacterBlock with index 1 and
>>>>>> character $( and rectangle
>>>>>> 0 at 0 cor...etc...
>>>>>>                 pointBlock:     a CharacterBlock with index 23 and
>>>>>> rectangle 154 at 0 corner:
>>>>>> 154 at 17
>>>>>>  ...etc...
>>>>>>                 beginTypeInIndex:       nil
>>>>>>                 emphasisHere:   {a TextFontChange font: 1}
>>>>>>                 lastParenLocation:      nil
>>>>>>                 otherInterval:  (1 to: 22)
>>>>>>                 oldInterval:    (1 to: 22)
>>>>>>                 typeAhead:      a WriteStream ''
>>>>>>                 styler:         nil
>>>>>>
>>>>>> SmalltalkEditor(TextEditor)>>doIt
>>>>>>         Receiver: a SmalltalkEditor
>>>>>>         Arguments and temporary variables:
>>>>>>
>>>>>>         Receiver's instance variables:
>>>>>>                 morph:  a TextMorphForEditView(2114)
>>>>>>                 selectionShowing:       false
>>>>>>                 model:  a Workspace
>>>>>>                 paragraph:      a MultiNewParagraph
>>>>>>                 markBlock:      a CharacterBlock with index 1 and
>>>>>> character $( and rectangle
>>>>>> 0 at 0 cor...etc...
>>>>>>                 pointBlock:     a CharacterBlock with index 23 and
>>>>>> rectangle 154 at 0 corner:
>>>>>> 154 at 17
>>>>>>  ...etc...
>>>>>>                 beginTypeInIndex:       nil
>>>>>>                 emphasisHere:   {a TextFontChange font: 1}
>>>>>>                 lastParenLocation:      nil
>>>>>>                 otherInterval:  (1 to: 22)
>>>>>>                 oldInterval:    (1 to: 22)
>>>>>>                 typeAhead:      a WriteStream ''
>>>>>>                 styler:         nil
>>>>>>
>>>>>> SmalltalkEditor(TextEditor)>>doIt:
>>>>>>         Receiver: a SmalltalkEditor
>>>>>>         Arguments and temporary variables:
>>>>>>                 aKeyboardEvent:         [keystroke '<Cmd-d>']
>>>>>>         Receiver's instance variables:
>>>>>>                 morph:  a TextMorphForEditView(2114)
>>>>>>                 selectionShowing:       false
>>>>>>                 model:  a Workspace
>>>>>>                 paragraph:      a MultiNewParagraph
>>>>>>                 markBlock:      a CharacterBlock with index 1 and
>>>>>> character $( and rectangle
>>>>>> 0 at 0 cor...etc...
>>>>>>                 pointBlock:     a CharacterBlock with index 23 and
>>>>>> rectangle 154 at 0 corner:
>>>>>> 154 at 17
>>>>>>  ...etc...
>>>>>>                 beginTypeInIndex:       nil
>>>>>>                 emphasisHere:   {a TextFontChange font: 1}
>>>>>>                 lastParenLocation:      nil
>>>>>>                 otherInterval:  (1 to: 22)
>>>>>>                 oldInterval:    (1 to: 22)
>>>>>>                 typeAhead:      a WriteStream ''
>>>>>>                 styler:         nil
>>>>>>
>>>>>> SmalltalkEditor(TextEditor)>>dispatchOnKeyboardEvent:
>>>>>>         Receiver: a SmalltalkEditor
>>>>>>         Arguments and temporary variables:
>>>>>>                 aKeyboardEvent:         [keystroke '<Cmd-d>']
>>>>>>                 honorCommandKeys:       true
>>>>>>                 openers:        nil
>>>>>>                 closers:        nil
>>>>>>                 result:         nil
>>>>>>         Receiver's instance variables:
>>>>>>                 morph:  a TextMorphForEditView(2114)
>>>>>>                 selectionShowing:       false
>>>>>>                 model:  a Workspace
>>>>>>                 paragraph:      a MultiNewParagraph
>>>>>>                 markBlock:      a CharacterBlock with index 1 and
>>>>>> character $( and rectangle
>>>>>> 0 at 0 cor...etc...
>>>>>>                 pointBlock:     a CharacterBlock with index 23 and
>>>>>> rectangle 154 at 0 corner:
>>>>>> 154 at 17
>>>>>>  ...etc...
>>>>>>                 beginTypeInIndex:       nil
>>>>>>                 emphasisHere:   {a TextFontChange font: 1}
>>>>>>                 lastParenLocation:      nil
>>>>>>                 otherInterval:  (1 to: 22)
>>>>>>                 oldInterval:    (1 to: 22)
>>>>>>                 typeAhead:      a WriteStream ''
>>>>>>                 styler:         nil
>>>>>>
>>>>>> SmalltalkEditor(TextEditor)>>keyStroke:
>>>>>>         Receiver: a SmalltalkEditor
>>>>>>         Arguments and temporary variables:
>>>>>>                 anEvent:        [keystroke '<Cmd-d>']
>>>>>>         Receiver's instance variables:
>>>>>>                 morph:  a TextMorphForEditView(2114)
>>>>>>                 selectionShowing:       false
>>>>>>                 model:  a Workspace
>>>>>>                 paragraph:      a MultiNewParagraph
>>>>>>                 markBlock:      a CharacterBlock with index 1 and
>>>>>> character $( and rectangle
>>>>>> 0 at 0 cor...etc...
>>>>>>                 pointBlock:     a CharacterBlock with index 23 and
>>>>>> rectangle 154 at 0 corner:
>>>>>> 154 at 17
>>>>>>  ...etc...
>>>>>>                 beginTypeInIndex:       nil
>>>>>>                 emphasisHere:   {a TextFontChange font: 1}
>>>>>>                 lastParenLocation:      nil
>>>>>>                 otherInterval:  (1 to: 22)
>>>>>>                 oldInterval:    (1 to: 22)
>>>>>>                 typeAhead:      a WriteStream ''
>>>>>>                 styler:         nil
>>>>>>
>>>>>> [] in [] in TextMorphForEditView(TextMorph)>>keyStroke:
>>>>>>         Receiver: a TextMorphForEditView(2114)
>>>>>>         Arguments and temporary variables:
>>>>>> <<error during printing>
>>>>>>         Receiver's instance variables:
>>>>>>                 bounds:         0 at 0 corner: 416 at 19
>>>>>>                 owner:  a TransformMorph(1978)
>>>>>>                 submorphs:      #()
>>>>>>                 fullBounds:     0 at 0 corner: 416 at 19
>>>>>>                 color:  Color black
>>>>>>                 extension:      a MorphExtension (2184) [other:
>>>>>>  (signalConnections -> a
>>>>>> Dictionary(...etc...
>>>>>>                 borderWidth:    0
>>>>>>                 borderColor:    Color black
>>>>>>                 textStyle:      a TextStyle Bitmap Envy Code R 10
>>>>>> regular
>>>>>>                 text:   a Text for '(Morph>>#drawOn:) hash'
>>>>>>                 wrapFlag:       true
>>>>>>                 paragraph:      a MultiNewParagraph
>>>>>>                 editor:         a SmalltalkEditor
>>>>>>                 container:      nil
>>>>>>                 predecessor:    nil
>>>>>>                 successor:      nil
>>>>>>                 backgroundColor:        nil
>>>>>>                 margins:        nil
>>>>>>                 editHistory:    nil
>>>>>>                 editView:       a PluggableTextMorphPlus(3348)
>>>>>>                 acceptOnCR:     false
>>>>>>
>>>>>> TextMorphForEditView(TextMorph)>>handleInteraction:fromEvent:
>>>>>>         Receiver: a TextMorphForEditView(2114)
>>>>>>         Arguments and temporary variables:
>>>>>>                 interactionBlock:       [closure] in [] in
>>>>>> TextMorphForEditView(TextMorph)>>keyStroke...etc...
>>>>>>                 evt:    [keystroke '<Cmd-d>']
>>>>>>                 oldEditor:      a SmalltalkEditor
>>>>>>                 oldParagraph:   a MultiNewParagraph
>>>>>>                 oldText:        a Text for '(Morph>>#drawOn:) hash'
>>>>>>         Receiver's instance variables:
>>>>>>                 bounds:         0 at 0 corner: 416 at 19
>>>>>>                 owner:  a TransformMorph(1978)
>>>>>>                 submorphs:      #()
>>>>>>                 fullBounds:     0 at 0 corner: 416 at 19
>>>>>>                 color:  Color black
>>>>>>                 extension:      a MorphExtension (2184) [other:
>>>>>>  (signalConnections -> a
>>>>>> Dictionary(...etc...
>>>>>>                 borderWidth:    0
>>>>>>                 borderColor:    Color black
>>>>>>                 textStyle:      a TextStyle Bitmap Envy Code R 10
>>>>>> regular
>>>>>>                 text:   a Text for '(Morph>>#drawOn:) hash'
>>>>>>                 wrapFlag:       true
>>>>>>                 paragraph:      a MultiNewParagraph
>>>>>>                 editor:         a SmalltalkEditor
>>>>>>                 container:      nil
>>>>>>                 predecessor:    nil
>>>>>>                 successor:      nil
>>>>>>                 backgroundColor:        nil
>>>>>>                 margins:        nil
>>>>>>                 editHistory:    nil
>>>>>>                 editView:       a PluggableTextMorphPlus(3348)
>>>>>>                 acceptOnCR:     false
>>>>>>
>>>>>> TextMorphForEditView>>handleInteraction:fromEvent:
>>>>>>         Receiver: a TextMorphForEditView(2114)
>>>>>>         Arguments and temporary variables:
>>>>>>                 interActionBlock:       [closure] in [] in
>>>>>> TextMorphForEditView(TextMorph)>>keyStroke...etc...
>>>>>>                 evt:    [keystroke '<Cmd-d>']
>>>>>>         Receiver's instance variables:
>>>>>>                 bounds:         0 at 0 corner: 416 at 19
>>>>>>                 owner:  a TransformMorph(1978)
>>>>>>                 submorphs:      #()
>>>>>>                 fullBounds:     0 at 0 corner: 416 at 19
>>>>>>                 color:  Color black
>>>>>>                 extension:      a MorphExtension (2184) [other:
>>>>>>  (signalConnections -> a
>>>>>> Dictionary(...etc...
>>>>>>                 borderWidth:    0
>>>>>>                 borderColor:    Color black
>>>>>>                 textStyle:      a TextStyle Bitmap Envy Code R 10
>>>>>> regular
>>>>>>                 text:   a Text for '(Morph>>#drawOn:) hash'
>>>>>>                 wrapFlag:       true
>>>>>>                 paragraph:      a MultiNewParagraph
>>>>>>                 editor:         a SmalltalkEditor
>>>>>>                 container:      nil
>>>>>>                 predecessor:    nil
>>>>>>                 successor:      nil
>>>>>>                 backgroundColor:        nil
>>>>>>                 margins:        nil
>>>>>>                 editHistory:    nil
>>>>>>                 editView:       a PluggableTextMorphPlus(3348)
>>>>>>                 acceptOnCR:     false
>>>>>>
>>>>>> [] in TextMorphForEditView(TextMorph)>>keyStroke:
>>>>>>         Receiver: a TextMorphForEditView(2114)
>>>>>>         Arguments and temporary variables:
>>>>>>                 evt:    [keystroke '<Cmd-d>']
>>>>>>                 action:         nil
>>>>>>         Receiver's instance variables:
>>>>>>                 bounds:         0 at 0 corner: 416 at 19
>>>>>>                 owner:  a TransformMorph(1978)
>>>>>>                 submorphs:      #()
>>>>>>                 fullBounds:     0 at 0 corner: 416 at 19
>>>>>>                 color:  Color black
>>>>>>                 extension:      a MorphExtension (2184) [other:
>>>>>>  (signalConnections -> a
>>>>>> Dictionary(...etc...
>>>>>>                 borderWidth:    0
>>>>>>                 borderColor:    Color black
>>>>>>                 textStyle:      a TextStyle Bitmap Envy Code R 10
>>>>>> regular
>>>>>>                 text:   a Text for '(Morph>>#drawOn:) hash'
>>>>>>                 wrapFlag:       true
>>>>>>                 paragraph:      a MultiNewParagraph
>>>>>>                 editor:         a SmalltalkEditor
>>>>>>                 container:      nil
>>>>>>                 predecessor:    nil
>>>>>>                 successor:      nil
>>>>>>                 backgroundColor:        nil
>>>>>>                 margins:        nil
>>>>>>                 editHistory:    nil
>>>>>>                 editView:       a PluggableTextMorphPlus(3348)
>>>>>>                 acceptOnCR:     false
>>>>>>
>>>>>>
>>>>>> --- The full stack ---
>>>>>> CompiledMethod(Object)>>error:
>>>>>> CompiledMethod(Object)>>errorSubscriptBounds:
>>>>>> CompiledMethod(Object)>>basicAt:
>>>>>> CompiledMethod class(ByteArray class)>>hashBytes:startingWith:
>>>>>> CompiledMethod(ByteArray)>>hash
>>>>>> UndefinedObject>>DoIt
>>>>>> Compiler>>evaluate:in:to:notifying:ifFail:logged:
>>>>>> [] in SmalltalkEditor(TextEditor)>>evaluateSelectionAndDo:
>>>>>> BlockClosure>>on:do:
>>>>>> SmalltalkEditor(TextEditor)>>evaluateSelectionAndDo:
>>>>>> SmalltalkEditor(TextEditor)>>evaluateSelection
>>>>>> SmalltalkEditor(TextEditor)>>doIt
>>>>>> SmalltalkEditor(TextEditor)>>doIt:
>>>>>> SmalltalkEditor(TextEditor)>>dispatchOnKeyboardEvent:
>>>>>> SmalltalkEditor(TextEditor)>>keyStroke:
>>>>>> [] in [] in TextMorphForEditView(TextMorph)>>keyStroke:
>>>>>> TextMorphForEditView(TextMorph)>>handleInteraction:fromEvent:
>>>>>> TextMorphForEditView>>handleInteraction:fromEvent:
>>>>>> [] in TextMorphForEditView(TextMorph)>>keyStroke:
>>>>>>  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>>>>>> ECToolSet class>>codeCompletionAround:textMorph:keyStroke:
>>>>>> ToolSet class>>codeCompletionAround:textMorph:keyStroke:
>>>>>> TextMorphForEditView(TextMorph)>>keyStroke:
>>>>>> TextMorphForEditView>>keyStroke:
>>>>>> TextMorphForEditView(TextMorph)>>handleKeystroke:
>>>>>> KeyboardEvent>>sentTo:
>>>>>> TextMorphForEditView(Morph)>>handleEvent:
>>>>>> TextMorphForEditView(Morph)>>handleFocusEvent:
>>>>>> [] in HandMorph>>sendFocusEvent:to:clear:
>>>>>> BlockClosure>>on:do:
>>>>>> PasteUpMorph>>becomeActiveDuring:
>>>>>> HandMorph>>sendFocusEvent:to:clear:
>>>>>> HandMorph>>sendEvent:focus:clear:
>>>>>> HandMorph>>sendKeyboardEvent:
>>>>>> HandMorph>>handleEvent:
>>>>>> HandMorph>>processEvents
>>>>>> [] in WorldState>>doOneCycleNowFor:
>>>>>> Array(SequenceableCollection)>>do:
>>>>>> WorldState>>handsDo:
>>>>>> WorldState>>doOneCycleNowFor:
>>>>>> WorldState>>doOneCycleFor:
>>>>>> PasteUpMorph>>doOneCycle
>>>>>> [] in Project class>>spawnNewProcess
>>>>>> [] in BlockClosure>>newProcess
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> View this message in context:
>>>>>> http://forum.world.st/CompiledMethod-hash-broken-on-CogVM-r2559-Win7-Squeak-4-3-tp4641061.html
>>>>>> Sent from the Squeak - Dev mailing list archive at Nabble.com.
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> best,
>>>>> Eliot
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Mariano
>>>> http://marianopeck.wordpress.com
>>>>
>>>>
>>>
>>>
>>> --
>>> best,
>>> Eliot
>>>
>>>
>>
>>
>> --
>> Mariano
>> http://marianopeck.wordpress.com
>>
>>
>
>
> --
> best,
> Eliot
>
>


-- 
Mariano
http://marianopeck.wordpress.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20120723/af9a0302/attachment-0001.html>


More information about the Pharo-dev mailing list