invalid utf8 input detected

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
43 messages Options
123
Reply | Threaded
Open this post in threaded view
|

Re: invalid utf8 input detected

Stéphane Ducasse

On May 17, 2009, at 9:42 PM, Nicolas Cellier wrote:

> Just to remind my change was not a fix, just a workaround.
> We have to discover why these non UTF-8 sources got into the change
> file and cure the problem. Otherwise we might suffer a plague of
> decompiled code spreading in our browsers :(

Yes!

Stef

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: invalid utf8 input detected

Nicolas Cellier
In reply to this post by Nicolas Cellier
From what I see in a 10304, all these methods had a non ASCII
character in comment:

{Object>>#doesNotUnderstand:.
SystemNavigation>>#browseMethodsWhoseNamesContain:.
Utilities class>>#changeStampPerSe.
Utilities class>>#methodsWithInitials:} collect: [:e | (e
getSourceFromFile select: [:s | s charCode > 127]) asArray collect:
[:c | c charCode]]
 #(#(160 160) #(172 143 172 143) #(183) #(246))
That is:

an Array(a Text for '  ' a Text for '¬¬' a Text for '·' a Text for 'ö')
First are non breaking space.
Last but ones are not rendered same in Squeak.

These four methods are changed in:
- Kernel-stephane_ducasse.renggli.319.mcz
- System-Support-stephane_ducasse.20.mcz
If I merge 10305 manually, I get some decompiled code in the merge window.
So there might be a problem already either in Monticello or in the .mcz.
After the merge, there is decomipled code in the changes and no error
when executing above code.

If I load instead of merging, then I also get the decompiled code in
the change log, so I can't reproduce completely the faulty behavior
(having an invalid utf-8 notifier), maybe because the process is no
the same when there are conflicts...

If I extract .mcz contents, I can read contents from FileBrowser. But
it does not use an UTF-8 encoding...
I can't say if the encoding is macRoman or ISO8859L1 or CP1252 or
what, but what I can say is that the source.st is not UTF-8 encoded.

So without searching further I guess here lies the problems: transfer
of raw bytes from non UTF-8 .mcz/source.st to the UTF-8 .changes
change-log...

Every time we'll modify a method with a Character code > 127, we will
likely create an invalid UTF-8 bug or get some decompiled code, or
corrupt source code in extreme case...

Could the Monticello / UTF-8 experts confirm my guess ?

Nicolas

2009/5/17 Nicolas Cellier <[hidden email]>:

> OK,
>
> {Object>>#doesNotUnderstand:.
> SystemNavigation>>#browseMethodsWhoseNamesContain:.
> Utilities class>>#changeStampPerSe.
> Utilities class>>#methodsWithInitials:} collect: [:e | e getSourceFromFile].
>
> does not fail for me, BUT all these sources look like decompileString.
> I guess this is dating from the condenseChanges that occured in #update10298
> Change log prior to this update should have the problem.
>
> Nicolas
>
> 2009/5/17 Tudor Girba <[hidden email]>:
>> Hi,
>>
>> I ran the snippet you sent on both 304cl and 306cl and I get the
>> following list:
>>
>> Object->#doesNotUnderstand:
>> SystemNavigation->#browseMethodsWhoseNamesContain:
>> Utilities class->#changeStampPerSe
>> Utilities class->#methodsWithInitials:
>>
>> Indeed, most of the annoyances are due to the
>> Object>>doesNotUnderstand: because when I get a DNU I am stuck (and I
>> feel like in Java :)).
>>
>> I am not sure I understand if there is a fix to the problem.
>>
>> Cheers,
>> Doru
>>
>>
>>
>> On 17 May 2009, at 12:06, Nicolas Cellier wrote:
>>
>>> There's something weird... If you hit var (UndefinedObject)
>>> doesNotUnderstand: #value: that means there were a problem the first
>>> time.
>>>
>>> Unfortunately, due to bug in MethodContext tempNames, we don't know
>>> the class and selector guilty.
>>> From the set of selectors I can see this is Object.
>>> From the source file position, I cannot say anything because I do not
>>> have same change log history (sorry, own image).
>>>
>>> You could try
>>> (SourceFiles at: 2) readOnlyCopy position: 10007336; nextChunk
>>>
>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>> sorry for not checking either.
>>>> When I run this code I indeed do not have a problem on 10306cl
>>>>
>>>> stef
>>>>
>>>> On May 17, 2009, at 11:36 AM, Nicolas Cellier wrote:
>>>>
>>>>> Sure, a key stroke error, it's bar value:, not var value:,
>>>>> This @!* workspace takes it as global without a warning....
>>>>>
>>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>>> Nicolas
>>>>>>
>>>>>> when I run your script on the license looking for image
>>>>>> I got using 10306cl
>>>>>>
>>>>>> I get the following error:
>>>>>>
>>>>>>
>>>>>>
>>>>>> VM: Mac OS - intel - 1056 - Squeak3.8.1 of '28 Aug 2006' [latest
>>>>>> update: #6747] Squeak VM 4.1.1b2
>>>>>> Image: Pharo0.1 [Latest update: #10306]
>>>>>>
>>>>>> SecurityManager state:
>>>>>> Restricted: false
>>>>>> FileAccess: true
>>>>>> SocketAccess: true
>>>>>> Working Dir /Data/squeak4.0-relicenseTools/history
>>>>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>>>>>> Untrusted Dir /Users/ducasse/Library/Preferences/Squeak/Internet/My
>>>>>> Squeak
>>>>>>
>>>>>> UndefinedObject(Object)>>doesNotUnderstand: #value:
>>>>>>   Receiver: nil
>>>>>>   Arguments and temporary variables:
>>>>>> <<error during printing>
>>>>>>   Receiver's instance variables:
>>>>>> nil
>>>>>>
>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>   Receiver: nil
>>>>>>   Arguments and temporary variables:
>>>>>> <<error during printing>
>>>>>>   Receiver's instance variables:
>>>>>> nil
>>>>>>
>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>   Receiver: [closure] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>   Arguments and temporary variables:
>>>>>>           anArray:        an Array('Error: Invalid utf8 input
>>>>>> detected' an
>>>>>> UTF8TextConverter)
>>>>>>   Receiver's instance variables:
>>>>>>           outerContext:   [] in [] in [] in UndefinedObject>>DoIt
>>>>>>           startpc:        183
>>>>>>           numArgs:        0
>>>>>>
>>>>>> [] in BlockClosure>>ifError:
>>>>>>   Receiver: [closure] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>   Arguments and temporary variables:
>>>>>>           errorHandlerBlock:      Error: Invalid utf8 input
>>>>>> detected
>>>>>>           ex:     [closure] in [] in [] in [] in
>>>>>> UndefinedObject>>DoIt
>>>>>>   Receiver's instance variables:
>>>>>>           outerContext:   [] in [] in [] in UndefinedObject>>DoIt
>>>>>>           startpc:        171
>>>>>>           numArgs:        0
>>>>>>
>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>   Receiver: [closure] in BlockClosure>>ifError:
>>>>>>   Arguments and temporary variables:
>>>>>>           anArray:        an Array(Error: Invalid utf8 input
>>>>>> detected)
>>>>>>   Receiver's instance variables:
>>>>>>           outerContext:   BlockClosure>>ifError:
>>>>>>           startpc:        40
>>>>>>           numArgs:        1
>>>>>>
>>>>>> [] in MethodContext(ContextPart)>>handleSignal:
>>>>>>   Receiver: BlockClosure>>on:do:
>>>>>>   Arguments and temporary variables:
>>>>>> <<error during printing>
>>>>>>   Receiver's instance variables:
>>>>>>           sender:         BlockClosure>>ifError:
>>>>>>           pc:     17
>>>>>>           stackp:         3
>>>>>>           method:         a CompiledMethod (2306)
>>>>>>           closureOrNil:   nil
>>>>>>           receiver:       [closure] in [] in [] in [] in
>>>>>> UndefinedObject>>DoIt
>>>>>>
>>>>>> BlockClosure>>ensure:
>>>>>>   Receiver: [closure] in
>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>   Arguments and temporary variables:
>>>>>>           aBlock:         [closure] in
>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>           returnValue:    nil
>>>>>>           b:      nil
>>>>>>   Receiver's instance variables:
>>>>>>           outerContext:
>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>           startpc:        90
>>>>>>           numArgs:        0
>>>>>>
>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>   Receiver: BlockClosure>>on:do:
>>>>>>   Arguments and temporary variables:
>>>>>>           exception:      Error: Invalid utf8 input detected
>>>>>>           val:    nil
>>>>>>   Receiver's instance variables:
>>>>>>           sender:         BlockClosure>>ifError:
>>>>>>           pc:     17
>>>>>>           stackp:         3
>>>>>>           method:         a CompiledMethod (2306)
>>>>>>           closureOrNil:   nil
>>>>>>           receiver:       [closure] in [] in [] in [] in
>>>>>> UndefinedObject>>DoIt
>>>>>>
>>>>>> Error(Exception)>>signal
>>>>>>   Receiver: Error: Invalid utf8 input detected
>>>>>>   Arguments and temporary variables:
>>>>>>
>>>>>>   Receiver's instance variables:
>>>>>>           messageText:    'Invalid utf8 input detected'
>>>>>>           tag:    nil
>>>>>>           signalContext:  Error(Exception)>>signal
>>>>>>           handlerContext:         BlockClosure>>on:do:
>>>>>>           outerContext:   nil
>>>>>>
>>>>>> Error(Exception)>>signal:
>>>>>>   Receiver: Error: Invalid utf8 input detected
>>>>>>   Arguments and temporary variables:
>>>>>>           signalerText:   'Invalid utf8 input detected'
>>>>>>   Receiver's instance variables:
>>>>>>           messageText:    'Invalid utf8 input detected'
>>>>>>           tag:    nil
>>>>>>           signalContext:  Error(Exception)>>signal
>>>>>>           handlerContext:         BlockClosure>>on:do:
>>>>>>           outerContext:   nil
>>>>>>
>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>   Receiver: an UTF8TextConverter
>>>>>>   Arguments and temporary variables:
>>>>>>           aString:        'Invalid utf8 input detected'
>>>>>>   Receiver's instance variables:
>>>>>> an UTF8TextConverter
>>>>>>
>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>   Receiver: an UTF8TextConverter
>>>>>>   Arguments and temporary variables:
>>>>>>
>>>>>>   Receiver's instance variables:
>>>>>> an UTF8TextConverter
>>>>>>
>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>   Receiver: an UTF8TextConverter
>>>>>>   Arguments and temporary variables:
>>>>>>           aStream:        MultiByteFileStream: '/Data/squeak4.0-
>>>>>> relicenseTools/
>>>>>> history/Pharo0.1C...etc...
>>>>>>           character1:     $
>>>>>>           value1:         160
>>>>>>           character2:     Character tab
>>>>>>           value2:         9
>>>>>>           unicode:        nil
>>>>>>           character3:     Character tab
>>>>>>           value3:         9
>>>>>>           character4:     nil
>>>>>>           value4:         nil
>>>>>>   Receiver's instance variables:
>>>>>> an UTF8TextConverter
>>>>>>
>>>>>> MultiByteFileStream>>next
>>>>>>   Receiver: MultiByteFileStream: '/Data/squeak4.0-relicenseTools/
>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>   Arguments and temporary variables:
>>>>>>           char:   nil
>>>>>>           secondChar:     nil
>>>>>>           state:  nil
>>>>>>   Receiver's instance variables:
>>>>>>
>>>>>>
>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>   Receiver: MultiByteFileStream: '/Data/squeak4.0-relicenseTools/
>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>   Arguments and temporary variables:
>>>>>>           terminator:     $!
>>>>>>           out:    a WriteStream 'doesNotUnderstand: aMessage
>>>>>>    "Handle the fact that there ...etc...
>>>>>>           ch:     Character cr
>>>>>>   Receiver's instance variables:
>>>>>>
>>>>>>
>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>   Receiver: MultiByteFileStream: '/Data/squeak4.0-relicenseTools/
>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>   Arguments and temporary variables:
>>>>>>           string:         nil
>>>>>>           runsRaw:        nil
>>>>>>           strm:   nil
>>>>>>           runs:   nil
>>>>>>           peek:   nil
>>>>>>           pos:    nil
>>>>>>   Receiver's instance variables:
>>>>>>
>>>>>>
>>>>>> [] in RemoteString>>text
>>>>>>   Receiver: a RemoteString
>>>>>>   Arguments and temporary variables:
>>>>>>           theFile:        MultiByteFileStream: '/Data/squeak4.0-
>>>>>> relicenseTools/
>>>>>> history/Pharo0.1C...etc...
>>>>>>   Receiver's instance variables:
>>>>>>           sourceFileNumber:       2
>>>>>>           filePositionHi:         10007336
>>>>>>
>>>>>> BlockClosure>>ensure:
>>>>>>   Receiver: [closure] in RemoteString>>text
>>>>>>   Arguments and temporary variables:
>>>>>>           aBlock:         [closure] in RemoteString>>text
>>>>>>           returnValue:    nil
>>>>>>           b:      nil
>>>>>>   Receiver's instance variables:
>>>>>>           outerContext:   RemoteString>>text
>>>>>>           startpc:        72
>>>>>>           numArgs:        0
>>>>>>
>>>>>> RemoteString>>text
>>>>>>   Receiver: a RemoteString
>>>>>>   Arguments and temporary variables:
>>>>>>           theFile:        MultiByteFileStream: '/Data/squeak4.0-
>>>>>> relicenseTools/
>>>>>> history/Pharo0.1C...etc...
>>>>>>   Receiver's instance variables:
>>>>>>           sourceFileNumber:       2
>>>>>>           filePositionHi:         10007336
>>>>>>
>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>   Receiver: a CompiledMethod (838)
>>>>>>   Arguments and temporary variables:
>>>>>>           position:       10007336
>>>>>>   Receiver's instance variables:
>>>>>> a CompiledMethod (838)
>>>>>>
>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>   Receiver: nil
>>>>>>   Arguments and temporary variables:
>>>>>> <<error during printing>
>>>>>>   Receiver's instance variables:
>>>>>> nil
>>>>>>
>>>>>> BlockClosure>>on:do:
>>>>>>   Receiver: [closure] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>   Arguments and temporary variables:
>>>>>>           exception:      Error
>>>>>>           handlerAction:  [closure] in BlockClosure>>ifError:
>>>>>>           handlerActive:  false
>>>>>>   Receiver's instance variables:
>>>>>>           outerContext:   [] in [] in [] in UndefinedObject>>DoIt
>>>>>>           startpc:        171
>>>>>>           numArgs:        0
>>>>>>
>>>>>> BlockClosure>>ifError:
>>>>>>   Receiver: [closure] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>   Arguments and temporary variables:
>>>>>>           errorHandlerBlock:      [closure] in [] in [] in [] in
>>>>>> UndefinedObject>>DoIt
>>>>>>   Receiver's instance variables:
>>>>>>           outerContext:   [] in [] in [] in UndefinedObject>>DoIt
>>>>>>           startpc:        171
>>>>>>           numArgs:        0
>>>>>>
>>>>>> [] in [] in [] in UndefinedObject>>DoIt
>>>>>>   Receiver: nil
>>>>>>   Arguments and temporary variables:
>>>>>> <<error during printing>
>>>>>>   Receiver's instance variables:
>>>>>> nil
>>>>>>
>>>>>> IdentitySet(Set)>>do:
>>>>>>   Receiver: an IdentitySet(#name #inheritsFromAnyIn: #asOop
>>>>>> #isWebBrowser #storeOnStream: #wantsDroppe...etc...
>>>>>>   Arguments and temporary variables:
>>>>>>           aBlock:         [closure] in [] in [] in
>>>>>> UndefinedObject>>DoIt
>>>>>>           index:  394
>>>>>>           each:   #doesNotUnderstand:
>>>>>>           indexLimiT:     498
>>>>>>   Receiver's instance variables:
>>>>>>           tally:  373
>>>>>>           array:  #(nil nil #name nil #inheritsFromAnyIn:
>>>>>> #asOop nil nil
>>>>>> #isWebBrowser nil...etc...
>>>>>>
>>>>>> [] in [] in UndefinedObject>>DoIt
>>>>>>   Receiver: nil
>>>>>>   Arguments and temporary variables:
>>>>>> <<error during printing>
>>>>>>   Receiver's instance variables:
>>>>>> nil
>>>>>>
>>>>>> [] in ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>   Receiver: ProtoObject
>>>>>>   Arguments and temporary variables:
>>>>>>           aBlock:         Object
>>>>>>           cl:     [closure] in [] in UndefinedObject>>DoIt
>>>>>>   Receiver's instance variables:
>>>>>>           superclass:     nil
>>>>>>           methodDict:     a MethodDictionary(#'=='->a
>>>>>> CompiledMethod (602)
>>>>>> #become:->a Compil...etc...
>>>>>>           format:         2
>>>>>>           instanceVariables:      nil
>>>>>>           organization:   ('apply primitives' tryNamedPrimitive
>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>           subclasses:     {Object . ObjectOut .
>>>>>> ImageSegmentRootStub .
>>>>>> MessageCatcher . TestC...etc...
>>>>>>           name:   #ProtoObject
>>>>>>           classPool:      nil
>>>>>>           sharedPools:    nil
>>>>>>           environment:    nil
>>>>>>           category:       #'Kernel-Objects'
>>>>>>           traitComposition:       nil
>>>>>>           localSelectors:         nil
>>>>>>
>>>>>> Array(SequenceableCollection)>>do:
>>>>>>   Receiver: {Object . ObjectOut . ImageSegmentRootStub .
>>>>>> MessageCatcher . TestCoverage}
>>>>>>   Arguments and temporary variables:
>>>>>>           aBlock:         [closure] in ProtoObject
>>>>>> class(Behavior)>>allSubclassesDoGently:
>>>>>>           index:  1
>>>>>>           indexLimiT:     5
>>>>>>   Receiver's instance variables:
>>>>>> {Object . ObjectOut . ImageSegmentRootStub . MessageCatcher .
>>>>>> TestCoverage}
>>>>>>
>>>>>> ProtoObject class(Class)>>subclassesDoGently:
>>>>>>   Receiver: ProtoObject
>>>>>>   Arguments and temporary variables:
>>>>>>           aBlock:         [closure] in ProtoObject
>>>>>> class(Behavior)>>allSubclassesDoGently:
>>>>>>   Receiver's instance variables:
>>>>>>           superclass:     nil
>>>>>>           methodDict:     a MethodDictionary(#'=='->a
>>>>>> CompiledMethod (602)
>>>>>> #become:->a Compil...etc...
>>>>>>           format:         2
>>>>>>           instanceVariables:      nil
>>>>>>           organization:   ('apply primitives' tryNamedPrimitive
>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>           subclasses:     {Object . ObjectOut .
>>>>>> ImageSegmentRootStub .
>>>>>> MessageCatcher . TestC...etc...
>>>>>>           name:   #ProtoObject
>>>>>>           classPool:      nil
>>>>>>           sharedPools:    nil
>>>>>>           environment:    nil
>>>>>>           category:       #'Kernel-Objects'
>>>>>>           traitComposition:       nil
>>>>>>           localSelectors:         nil
>>>>>>
>>>>>> ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>   Receiver: ProtoObject
>>>>>>   Arguments and temporary variables:
>>>>>>           aBlock:         [closure] in [] in
>>>>>> UndefinedObject>>DoIt
>>>>>>   Receiver's instance variables:
>>>>>>           superclass:     nil
>>>>>>           methodDict:     a MethodDictionary(#'=='->a
>>>>>> CompiledMethod (602)
>>>>>> #become:->a Compil...etc...
>>>>>>           format:         2
>>>>>>           instanceVariables:      nil
>>>>>>           organization:   ('apply primitives' tryNamedPrimitive
>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>           subclasses:     {Object . ObjectOut .
>>>>>> ImageSegmentRootStub .
>>>>>> MessageCatcher . TestC...etc...
>>>>>>           name:   #ProtoObject
>>>>>>           classPool:      nil
>>>>>>           sharedPools:    nil
>>>>>>           environment:    nil
>>>>>>           category:       #'Kernel-Objects'
>>>>>>           traitComposition:       nil
>>>>>>           localSelectors:         nil
>>>>>>
>>>>>> SystemNavigation>>allBehaviorsDo:
>>>>>>   Receiver: a SystemNavigation
>>>>>>   Arguments and temporary variables:
>>>>>>           aBlock:         [closure] in [] in
>>>>>> UndefinedObject>>DoIt
>>>>>>   Receiver's instance variables:
>>>>>>           browserClass:   nil
>>>>>>           hierarchyBrowserClass:  nil
>>>>>>
>>>>>> [] in UndefinedObject>>DoIt
>>>>>>   Receiver: nil
>>>>>>   Arguments and temporary variables:
>>>>>> <<error during printing>
>>>>>>   Receiver's instance variables:
>>>>>> nil
>>>>>>
>>>>>> [] in ProgressInitiationException>>defaultAction
>>>>>>   Receiver: ProgressInitiationException
>>>>>>   Arguments and temporary variables:
>>>>>>           progress:       [closure] in
>>>>>> SystemProgressMorph>>label:min:max:
>>>>>>           result:         #(nil)
>>>>>>   Receiver's instance variables:
>>>>>>           messageText:    nil
>>>>>>           tag:    nil
>>>>>>           signalContext:
>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>           handlerContext:         nil
>>>>>>           outerContext:   nil
>>>>>>           workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>           maxVal:         3874
>>>>>>           minVal:         0
>>>>>>           aPoint:         840@306
>>>>>>           progressTitle:  'Searching UTF-8 Problems...'
>>>>>>
>>>>>> BlockClosure>>ensure:
>>>>>>   Receiver: [closure] in
>>>>>> ProgressInitiationException>>defaultAction
>>>>>>   Arguments and temporary variables:
>>>>>>           aBlock:         [closure] in
>>>>>> ProgressInitiationException>>defaultAction
>>>>>>           returnValue:    nil
>>>>>>           b:      nil
>>>>>>   Receiver's instance variables:
>>>>>>           outerContext:
>>>>>> ProgressInitiationException>>defaultAction
>>>>>>           startpc:        49
>>>>>>           numArgs:        0
>>>>>>
>>>>>> ProgressInitiationException>>defaultAction
>>>>>>   Receiver: ProgressInitiationException
>>>>>>   Arguments and temporary variables:
>>>>>>           progress:       [closure] in
>>>>>> SystemProgressMorph>>label:min:max:
>>>>>>           result:         #(nil)
>>>>>>   Receiver's instance variables:
>>>>>>           messageText:    nil
>>>>>>           tag:    nil
>>>>>>           signalContext:
>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>           handlerContext:         nil
>>>>>>           outerContext:   nil
>>>>>>           workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>           maxVal:         3874
>>>>>>           minVal:         0
>>>>>>           aPoint:         840@306
>>>>>>           progressTitle:  'Searching UTF-8 Problems...'
>>>>>>
>>>>>> UndefinedObject>>handleSignal:
>>>>>>   Receiver: nil
>>>>>>   Arguments and temporary variables:
>>>>>>           exception:      ProgressInitiationException
>>>>>>   Receiver's instance variables:
>>>>>> nil
>>>>>>
>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>   Receiver: BlockClosure>>on:do:
>>>>>>   Arguments and temporary variables:
>>>>>>           exception:      ProgressInitiationException
>>>>>>           val:    nil
>>>>>>   Receiver's instance variables:
>>>>>>           sender:         PasteUpMorph>>becomeActiveDuring:
>>>>>>           pc:     17
>>>>>>           stackp:         3
>>>>>>           method:         a CompiledMethod (2306)
>>>>>>           closureOrNil:   nil
>>>>>>           receiver:       [closure] in
>>>>>> PasteUpMorph>>becomeActiveDuring:
>>>>>>
>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>   Receiver: BlockClosure>>on:do:
>>>>>>   Arguments and temporary variables:
>>>>>>           exception:      ProgressInitiationException
>>>>>>           val:    nil
>>>>>>   Receiver's instance variables:
>>>>>>           sender:
>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>           pc:     17
>>>>>>           stackp:         3
>>>>>>           method:         a CompiledMethod (2306)
>>>>>>           closureOrNil:   nil
>>>>>>           receiver:       [closure] in
>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>
>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>   Receiver: ProgressInitiationException
>>>>>>   Arguments and temporary variables:
>>>>>>
>>>>>>   Receiver's instance variables:
>>>>>>           messageText:    nil
>>>>>>           tag:    nil
>>>>>>           signalContext:
>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>           handlerContext:         nil
>>>>>>           outerContext:   nil
>>>>>>           workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>           maxVal:         3874
>>>>>>           minVal:         0
>>>>>>           aPoint:         840@306
>>>>>>           progressTitle:  'Searching UTF-8 Problems...'
>>>>>>
>>>>>>
>>>>>> --- The full stack ---
>>>>>> UndefinedObject(Object)>>doesNotUnderstand: #value:
>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>> [] in BlockClosure>>ifError:
>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>> [] in MethodContext(ContextPart)>>handleSignal:
>>>>>> BlockClosure>>ensure:
>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>> Error(Exception)>>signal
>>>>>> Error(Exception)>>signal:
>>>>>> UTF8TextConverter(Object)>>error:
>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>> MultiByteFileStream>>next
>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>> [] in RemoteString>>text
>>>>>> BlockClosure>>ensure:
>>>>>> RemoteString>>text
>>>>>> CompiledMethod>>getSourceFromFile
>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>> BlockClosure>>on:do:
>>>>>> BlockClosure>>ifError:
>>>>>> [] in [] in [] in UndefinedObject>>DoIt
>>>>>> IdentitySet(Set)>>do:
>>>>>> [] in [] in UndefinedObject>>DoIt
>>>>>> [] in ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>> Array(SequenceableCollection)>>do:
>>>>>> ProtoObject class(Class)>>subclassesDoGently:
>>>>>> ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>> SystemNavigation>>allBehaviorsDo:
>>>>>> [] in UndefinedObject>>DoIt
>>>>>> [] in ProgressInitiationException>>defaultAction
>>>>>> BlockClosure>>ensure:
>>>>>> ProgressInitiationException>>defaultAction
>>>>>> UndefinedObject>>handleSignal:
>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>> - - - - - - - - - - - - - - -
>>>>>>                   - - - - - - - - - - - - - - - - - -
>>>>>> ProgressInitiationException>>display:at:from:to:during:
>>>>>> ProgressInitiationException class>>display:at:from:to:during:
>>>>>> ByteString(String)>>displayProgressAt:from:to:during:
>>>>>> UndefinedObject>>DoIt
>>>>>> Compiler>>evaluate:in:to:notifying:ifFail:logged:
>>>>>> [] in TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>> BlockClosure>>on:do:
>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>> TextMorphEditor(ParagraphEditor)>>doIt
>>>>>> [] in TextMorphEditor(ParagraphEditor)>>doIt:
>>>>>> TextMorphEditor(ParagraphEditor)>>terminateAndInitializeAround:
>>>>>> TextMorphEditor(ParagraphEditor)>>doIt:
>>>>>> TextMorphEditor(ParagraphEditor)>>dispatchOnKeyEvent:with:
>>>>>> TextMorphEditor>>dispatchOnKeyEvent:with:
>>>>>> TextMorphEditor(ParagraphEditor)>>keystroke:
>>>>>> TextMorphEditor>>keystroke:
>>>>>> [] in TextMorphForEditView(TextMorph)>>keyStroke:
>>>>>> TextMorphForEditView(TextMorph)>>handleInteraction:
>>>>>> TextMorphForEditView>>handleInteraction:
>>>>>> TextMorphForEditView(TextMorph)>>keyStroke:
>>>>>> TextMorphForEditView>>keyStroke:
>>>>>> TextMorphForEditView(TextMorph)>>handleKeystroke:
>>>>>> KeyboardEvent>>sentTo:
>>>>>> TextMorphForEditView(Morph)>>handleEvent:
>>>>>> TextMorphForEditView(Morph)>>handleFocusEvent:
>>>>>> [] in HandMorph>>sendFocusEvent:to:clear:
>>>>>> [] in PasteUpMorph>>becomeActiveDuring:
>>>>>> 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
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On May 17, 2009, at 11:13 AM, Nicolas Cellier wrote:
>>>>>>
>>>>>>> One solution would be to use getSource rather than
>>>>>>> getSourceFromFile.
>>>>>>> However, with following code I detected no problem in my pharo-
>>>>>>> core
>>>>>>> copy (10281 updated to 10306)
>>>>>>>
>>>>>>> | problems total |
>>>>>>> problems := OrderedCollection new.
>>>>>>> total := 0.
>>>>>>> SystemNavigation default allBehaviorsDo: [:cl | total := total +
>>>>>>> 1].
>>>>>>> 'Searching UTF-8 Problems...'
>>>>>>>  displayProgressAt: Sensor cursorPoint
>>>>>>>  from: 0 to: total
>>>>>>>  during:
>>>>>>>          [:bar | | count |
>>>>>>>          count := 0.
>>>>>>>          SystemNavigation default allBehaviorsDo: [:cl |
>>>>>>>                  bar value: (count := count + 1).
>>>>>>>                  cl selectors do: [:sel |
>>>>>>>                          [(cl compiledMethodAt: sel)
>>>>>>> getSourceFromFile] ifError: [
>>>>>>>                                  var value: 'last problem
>>>>>>> found ' , cl name , '>>#' , sel.
>>>>>>>                                  problems add: cl->sel]]]].
>>>>>>> ^problems
>>>>>>>
>>>>>>>
>>>>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>>>>> yes same here.
>>>>>>>>
>>>>>>>> On May 17, 2009, at 2:10 AM, Tudor Girba wrote:
>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> Recently I encounter a strange error:
>>>>>>>>> - I sometimes get a debugger due to some problems in my code
>>>>>>>>> - when I try to investigate the trace, I get another debugger
>>>>>>>>> saying
>>>>>>>>> that "Invalid utf8 input detected'"
>>>>>>>>>
>>>>>>>>> This second debugger I can investigate, the previous not. It
>>>>>>>>> looks
>>>>>>>>> like something got messed up with the text conversion of the
>>>>>>>>> sources.
>>>>>>>>>
>>>>>>>>> I am working on 10306 using the 4.1.1b2 VM on Mac. The code I am
>>>>>>>>> working on is loaded from squeaksource (Moose, Glamour,
>>>>>>>>> Mondrian).
>>>>>>>>>
>>>>>>>>> Anyone can confirm this problem?
>>>>>>>>>
>>>>>>>>> Cheers,
>>>>>>>>> Doru
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ----ERROR REPORT----
>>>>>>>>>
>>>>>>>>> '17 May 2009 2:05:50 am
>>>>>>>>>
>>>>>>>>> VM: Mac OS - intel - 1056 - Squeak3.8.1 of ''28 Aug
>>>>>>>>> 2006'' [latest
>>>>>>>>> update: #6747] Squeak VM 4.1.1b2
>>>>>>>>> Image: Pharo0.1 [Latest update: #10306]
>>>>>>>>>
>>>>>>>>> SecurityManager state:
>>>>>>>>> Restricted: false
>>>>>>>>> FileAccess: true
>>>>>>>>> SocketAccess: true
>>>>>>>>> Working Dir /Users/girba/Work/Code/squeakingmoose
>>>>>>>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>>>>>>>>> Untrusted Dir /Users/girba/Library/Preferences/Squeak/Internet/
>>>>>>>>> My
>>>>>>>>> Squeak
>>>>>>>>>
>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>         aString:        ''Invalid utf8 input detected''
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>> an UTF8TextConverter
>>>>>>>>>
>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>> an UTF8TextConverter
>>>>>>>>>
>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>         aStream:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>> Work/Code/
>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>         character1:     $
>>>>>>>>>         value1:         160
>>>>>>>>>         character2:     Character tab
>>>>>>>>>         value2:         9
>>>>>>>>>         unicode:        nil
>>>>>>>>>         character3:     Character tab
>>>>>>>>>         value3:         9
>>>>>>>>>         character4:     nil
>>>>>>>>>         value4:         nil
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>> an UTF8TextConverter
>>>>>>>>>
>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>         char:   nil
>>>>>>>>>         secondChar:     nil
>>>>>>>>>         state:  nil
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>         terminator:     $!
>>>>>>>>>         out:    a WriteStream ''doesNotUnderstand: aMessage
>>>>>>>>>  "Handle the fact that there ...etc...
>>>>>>>>>         ch:     Character cr
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>         string:         nil
>>>>>>>>>         runsRaw:        nil
>>>>>>>>>         strm:   nil
>>>>>>>>>         runs:   nil
>>>>>>>>>         peek:   nil
>>>>>>>>>         pos:    nil
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> [] in RemoteString>>text
>>>>>>>>> Receiver: a RemoteString
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>         theFile:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>> Work/Code/
>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>         sourceFileNumber:       2
>>>>>>>>>         filePositionHi:         10007336
>>>>>>>>>
>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>> Receiver: [closure] in RemoteString>>text
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>         aBlock:         [closure] in RemoteString>>text
>>>>>>>>>         returnValue:    nil
>>>>>>>>>         b:      nil
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>         outerContext:   RemoteString>>text
>>>>>>>>>         startpc:        72
>>>>>>>>>         numArgs:        0
>>>>>>>>>
>>>>>>>>> RemoteString>>text
>>>>>>>>> Receiver: a RemoteString
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>         theFile:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>> Work/Code/
>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>         sourceFileNumber:       2
>>>>>>>>>         filePositionHi:         10007336
>>>>>>>>>
>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>         position:       10007336
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>
>>>>>>>>> CompiledMethod>>methodNode
>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>         aClass:         Object
>>>>>>>>>         source:         nil
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>
>>>>>>>>> [] in DebuggerMethodMap class>>forMethod:
>>>>>>>>> Receiver: DebuggerMethodMap
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>         aMethod:        a CompiledMethod (838)
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>         superclass:     Object
>>>>>>>>>         methodDict:     a MethodDictionary(#abstractSourceMap-
>>>>>>>>>> a CompiledMethod
>>>>>>>>> (1628) #for...etc...
>>>>>>>>>         format:         140
>>>>>>>>>         instanceVariables:      #(''timestamp''
>>>>>>>>> ''methodReference''
>>>>>>>>> ''methodNode'' ''abstractSource...etc...
>>>>>>>>>         organization:   (''initialize-release''
>>>>>>>>> forMethod:methodNode:)
>>>>>>>>> (''accessing'' markRec...etc...
>>>>>>>>>         subclasses:     {DebuggerMethodMapForBlueBookMethods .
>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>         name:   #DebuggerMethodMap
>>>>>>>>>         classPool:      a Dictionary(#MapCache->a
>>>>>>>>> WeakIdentityKeyDictionary(a
>>>>>>>>> CompiledMethod...etc...
>>>>>>>>>         sharedPools:    nil
>>>>>>>>>         environment:    Smalltalk
>>>>>>>>>         category:       #''Tools-Debugger''
>>>>>>>>>         traitComposition:       nil
>>>>>>>>>         localSelectors:         nil
>>>>>>>>>
>>>>>>>>> WeakIdentityKeyDictionary(Dictionary)>>at:ifAbsent:
>>>>>>>>> Receiver: a WeakIdentityKeyDictionary(a CompiledMethod (126)-
>>>>>>>>>> a
>>>>>>>>> DebuggerMethodMapForClosureCompiledM...etc...
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>         key:    a CompiledMethod (838)
>>>>>>>>>         aBlock:         [closure] in DebuggerMethodMap
>>>>>>>>> class>>forMethod:
>>>>>>>>>         assoc:  nil
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>         tally:  16
>>>>>>>>>         array:  an Array(nil nil a CompiledMethod (2402)->a
>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>
>>>>>>>>> DebuggerMethodMap class>>forMethod:
>>>>>>>>> Receiver: DebuggerMethodMap
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>         aMethod:        a CompiledMethod (838)
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>         superclass:     Object
>>>>>>>>>         methodDict:     a MethodDictionary(#abstractSourceMap-
>>>>>>>>>> a CompiledMethod
>>>>>>>>> (1628) #for...etc...
>>>>>>>>>         format:         140
>>>>>>>>>         instanceVariables:      #(''timestamp''
>>>>>>>>> ''methodReference''
>>>>>>>>> ''methodNode'' ''abstractSource...etc...
>>>>>>>>>         organization:   (''initialize-release''
>>>>>>>>> forMethod:methodNode:)
>>>>>>>>> (''accessing'' markRec...etc...
>>>>>>>>>         subclasses:     {DebuggerMethodMapForBlueBookMethods .
>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>         name:   #DebuggerMethodMap
>>>>>>>>>         classPool:      a Dictionary(#MapCache->a
>>>>>>>>> WeakIdentityKeyDictionary(a
>>>>>>>>> CompiledMethod...etc...
>>>>>>>>>         sharedPools:    nil
>>>>>>>>>         environment:    Smalltalk
>>>>>>>>>         category:       #''Tools-Debugger''
>>>>>>>>>         traitComposition:       nil
>>>>>>>>>         localSelectors:         nil
>>>>>>>>>
>>>>>>>>> CompiledMethod>>debuggerMap
>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>
>>>>>>>>> OTClosureContextNode>>selection
>>>>>>>>> Receiver: an OTClosureContextNode
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>         metaNode:       context
>>>>>>>>>
>>>>>>>>>         navigation:     an OBDefaultEdgeNavigation
>>>>>>>>>         process:        a Process in OTToolset
>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>         context:        Model
>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>         parseTree:      nil
>>>>>>>>>         sourceMap:      nil
>>>>>>>>>         debuggerMap:    nil
>>>>>>>>>
>>>>>>>>> OTClosureContextNode(OTContextNode)>>definition
>>>>>>>>> Receiver: an OTClosureContextNode
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>         metaNode:       context
>>>>>>>>>
>>>>>>>>>         navigation:     an OBDefaultEdgeNavigation
>>>>>>>>>         process:        a Process in OTToolset
>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>         context:        Model
>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>         parseTree:      nil
>>>>>>>>>         sourceMap:      nil
>>>>>>>>>         debuggerMap:    nil
>>>>>>>>>
>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>node:
>>>>>>>>> Receiver: an OTDefinitionPanel
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>         aNode:  an OTClosureContextNode
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>         browser:        an OTDebugger
>>>>>>>>>         definition:     nil
>>>>>>>>>         selection:      nil
>>>>>>>>>
>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>selectionChanged:
>>>>>>>>> Receiver: an OTDefinitionPanel
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>         ann:    an OBSelectionChanged
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>         browser:        an OTDebugger
>>>>>>>>>         definition:     nil
>>>>>>>>>         selection:      nil
>>>>>>>>>
>>>>>>>>> MessageSend>>valueWithArguments:
>>>>>>>>> Receiver: MessageSend(#selectionChanged: -> an
>>>>>>>>> OTDefinitionPanel)
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>         anArray:        an Array(an OBSelectionChanged)
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>         receiver:       an OTDefinitionPanel
>>>>>>>>>         selector:       #selectionChanged:
>>>>>>>>>         arguments:      #()
>>>>>>>>>
>>>>>>>>> [] in ActionSequence>>valueWithArguments:
>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>         anArray:        MessageSend(#selectionChanged: -> an
>>>>>>>>> OTDefinitionPanel)
>>>>>>>>>         answer:         an Array(an OBSelectionChanged)
>>>>>>>>>         each:   an Array(an OBFixedButtonPanel)
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>
>>>>>>>>> ActionSequence(SequenceableCollection)>>do:
>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>         aBlock:         [closure] in
>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>>         index:  4
>>>>>>>>>         indexLimiT:     6
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>
>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>         anArray:        an Array(an OBSelectionChanged)
>>>>>>>>>         answer:         an Array(an OBFixedButtonPanel)
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>
>>>>>>>>> [] in OBAnnouncer>>announce:
>>>>>>>>> Receiver: an OBAnnouncer
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>> <<error during printing>
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>         subscriptions:  an IdentityDictionary(OBAboutToChange-
>>>>>>>>>> an
>>>>>>>>> ActionSequence(Message...etc...
>>>>>>>>>
>>>>>>>>> [] in IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>         aBlock:         OBSelectionChanged-
>>>>>>>>>> #(MessageSend(#relabel: -> an
>>>>>>>>> OTDebugger)
>>>>>>>>> MessageSe...etc...
>>>>>>>>>         assoc:  [closure] in OBAnnouncer>>announce:
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>         tally:  12
>>>>>>>>>         array:  {OBNodeCreated->an
>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>> an OBColum...etc...
>>>>>>>>>
>>>>>>>>> IdentityDictionary(Set)>>do:
>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>         aBlock:         [closure] in
>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>         index:  6
>>>>>>>>>         each:   OBSelectionChanged->#(MessageSend(#relabel: -
>>>>>>>>>> an OTDebugger)
>>>>>>>>> MessageSend...etc...
>>>>>>>>>         indexLimiT:     20
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>         tally:  12
>>>>>>>>>         array:  {OBNodeCreated->an
>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>> an OBColum...etc...
>>>>>>>>>
>>>>>>>>> IdentityDictionary(Dictionary)>>associationsDo:
>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>         aBlock:         [closure] in
>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>         tally:  12
>>>>>>>>>         array:  {OBNodeCreated->an
>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>> an OBColum...etc...
>>>>>>>>>
>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>         aBlock:         [closure] in OBAnnouncer>>announce:
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>         tally:  12
>>>>>>>>>         array:  {OBNodeCreated->an
>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>> an OBColum...etc...
>>>>>>>>>
>>>>>>>>> OBAnnouncer>>announce:
>>>>>>>>> Receiver: an OBAnnouncer
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>         anObject:       an OBSelectionChanged
>>>>>>>>>         ann:    an OBSelectionChanged
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>         subscriptions:  an IdentityDictionary(OBAboutToChange-
>>>>>>>>>> an
>>>>>>>>> ActionSequence(Message...etc...
>>>>>>>>>
>>>>>>>>> OBColumnPanel>>jumpTo:
>>>>>>>>> Receiver: an OBColumnPanel
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>         aNode:  an OTClosureContextNode
>>>>>>>>>         column:         an OBColumn(Model
>>>>>>>>> class(Object)>>doesNotUnderstand:
>>>>>>>>> #fullName)
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>         browser:        an OTDebugger
>>>>>>>>>         root:   an OTProcessNode
>>>>>>>>>         current:        an OTClosureContextNode
>>>>>>>>>         columns:        an OrderedCollection(an OBColumn(Model
>>>>>>>>> class(Object)>>doesNotUnderstan...etc...
>>>>>>>>>         minPanes:       1
>>>>>>>>>         maxPanes:       1
>>>>>>>>>
>>>>>>>>> OTDebugger(OBBrowser)>>jumpTo:
>>>>>>>>> Receiver: an OTDebugger
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>         aNode:  an OTClosureContextNode
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>         panels:         an OrderedCollection(an OBColumnPanel
>>>>>>>>> an OBFixedButtonPanel
>>>>>>>>> an OTDefini...etc...
>>>>>>>>>         announcer:      an OBAnnouncer
>>>>>>>>>         cmdFactories:   an Array(OTCmdProceedDebugger
>>>>>>>>> OTCmdIntoDebugger
>>>>>>>>> OTCmdThroughDebug...etc...
>>>>>>>>>
>>>>>>>>> OTDebugger class(OBBrowser
>>>>>>>>> class)>>metaNode:root:selection:panels:
>>>>>>>>> Receiver: OTDebugger
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>         metaNode:       process
>>>>>>>>> #longStack->context
>>>>>>>>>
>>>>>>>>>         rootNode:       an OTProcessNode
>>>>>>>>>         selectedNode:   an OTClosureContextNode
>>>>>>>>>         panels:         an Array(an OBColumnPanel an
>>>>>>>>> OBFixedButtonPanel an
>>>>>>>>> OTDefinitionPanel an...etc...
>>>>>>>>>         browser:        an OTDebugger
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>         superclass:     OBBrowser
>>>>>>>>>         methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>> CompiledMethod (3978)
>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>         format:         136
>>>>>>>>>         instanceVariables:      nil
>>>>>>>>>         organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>> cmdInspector)
>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>         subclasses:     nil
>>>>>>>>>         name:   #OTDebugger
>>>>>>>>>         classPool:      nil
>>>>>>>>>         sharedPools:    nil
>>>>>>>>>         environment:    Smalltalk
>>>>>>>>>         category:       #''OB-Tools-Debugger''
>>>>>>>>>         traitComposition:       nil
>>>>>>>>>         localSelectors:         nil
>>>>>>>>>
>>>>>>>>> OTDebugger class(OBBrowser class)>>root:selection:
>>>>>>>>> Receiver: OTDebugger
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>         rootNode:       an OTProcessNode
>>>>>>>>>         selectedNode:   an OTClosureContextNode
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>         superclass:     OBBrowser
>>>>>>>>>         methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>> CompiledMethod (3978)
>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>         format:         136
>>>>>>>>>         instanceVariables:      nil
>>>>>>>>>         organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>> cmdInspector)
>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>         subclasses:     nil
>>>>>>>>>         name:   #OTDebugger
>>>>>>>>>         classPool:      nil
>>>>>>>>>         sharedPools:    nil
>>>>>>>>>         environment:    Smalltalk
>>>>>>>>>         category:       #''OB-Tools-Debugger''
>>>>>>>>>         traitComposition:       nil
>>>>>>>>>         localSelectors:         nil
>>>>>>>>>
>>>>>>>>> OTDebugger class>>process:context:errorWasInUIProcess:
>>>>>>>>> Receiver: OTDebugger
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>         aProcess:       a Process in OTToolset
>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>         aContext:       Model
>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>         aBool:  true
>>>>>>>>>         processNode:    an OTProcessNode
>>>>>>>>>         contextNode:    an OTClosureContextNode
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>         superclass:     OBBrowser
>>>>>>>>>         methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>> CompiledMethod (3978)
>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>         format:         136
>>>>>>>>>         instanceVariables:      nil
>>>>>>>>>         organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>> cmdInspector)
>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>         subclasses:     nil
>>>>>>>>>         name:   #OTDebugger
>>>>>>>>>         classPool:      nil
>>>>>>>>>         sharedPools:    nil
>>>>>>>>>         environment:    Smalltalk
>>>>>>>>>         category:       #''OB-Tools-Debugger''
>>>>>>>>>         traitComposition:       nil
>>>>>>>>>         localSelectors:         nil
>>>>>>>>>
>>>>>>>>> OTDebugger class>>process:context:label:errorWasInUIProcess:
>>>>>>>>> Receiver: OTDebugger
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>         aProcess:       a Process in OTToolset
>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>         aContext:       Model
>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>         aString:        ''MessageNotUnderstood: Model
>>>>>>>>> class>>fullName''
>>>>>>>>>         aBool:  true
>>>>>>>>>         debugger:       nil
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>         superclass:     OBBrowser
>>>>>>>>>         methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>> CompiledMethod (3978)
>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>         format:         136
>>>>>>>>>         instanceVariables:      nil
>>>>>>>>>         organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>> cmdInspector)
>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>         subclasses:     nil
>>>>>>>>>         name:   #OTDebugger
>>>>>>>>>         classPool:      nil
>>>>>>>>>         sharedPools:    nil
>>>>>>>>>         environment:    Smalltalk
>>>>>>>>>         category:       #''OB-Tools-Debugger''
>>>>>>>>>         traitComposition:       nil
>>>>>>>>>         localSelectors:         nil
>>>>>>>>>
>>>>>>>>> OTDebugger class>>openProcess:context:label:errorWasInUIProcess:
>>>>>>>>> Receiver: OTDebugger
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>         aProcess:       a Process in OTToolset
>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>         aContext:       Model
>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>         aString:        ''MessageNotUnderstood: Model
>>>>>>>>> class>>fullName''
>>>>>>>>>         aBool:  true
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>         superclass:     OBBrowser
>>>>>>>>>         methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>> CompiledMethod (3978)
>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>         format:         136
>>>>>>>>>         instanceVariables:      nil
>>>>>>>>>         organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>> cmdInspector)
>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>         subclasses:     nil
>>>>>>>>>         name:   #OTDebugger
>>>>>>>>>         classPool:      nil
>>>>>>>>>         sharedPools:    nil
>>>>>>>>>         environment:    Smalltalk
>>>>>>>>>         category:       #''OB-Tools-Debugger''
>>>>>>>>>         traitComposition:       nil
>>>>>>>>>         localSelectors:         nil
>>>>>>>>>
>>>>>>>>> [] in OTPreDebugNode>>debug:
>>>>>>>>> Receiver: an OTPreDebugNode
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>         aRequestor:     an OTPreDebugPanel
>>>>>>>>>         proc:   a Process in OTToolset
>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>         metaNode:       Predebug
>>>>>>>>>
>>>>>>>>>         navigation:     nil
>>>>>>>>>         errorWasInUI:   true
>>>>>>>>>         process:        nil
>>>>>>>>>         context:        Model
>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>         label:  ''MessageNotUnderstood: Model
>>>>>>>>> class>>fullName''
>>>>>>>>>         contents:       ''Model
>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>> UtilitiesTest>>tes...etc...
>>>>>>>>>         debugOnMouseClick:      true
>>>>>>>>>
>>>>>>>>> WorldState>>runStepMethodsIn:
>>>>>>>>> Receiver: a WorldState
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>         aWorld:         a PasteUpMorph(1622) [world]
>>>>>>>>>         queue:  a SharedQueue
>>>>>>>>>         numItems:       1
>>>>>>>>>         i:      0
>>>>>>>>>         limit:  200
>>>>>>>>>         stamp:  12765762
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>         hands:  an Array(a HandMorph(3216))
>>>>>>>>>         viewBox:        0@0 corner: 1440@807
>>>>>>>>>         canvas:         a FormCanvas on:
>>>>>>>>> DisplayScreen(1440x807x32)
>>>>>>>>>         damageRecorder:         a DamageRecorder
>>>>>>>>>         stepList:       a Heap(StepMessage(#stepAt: -> a
>>>>>>>>> SystemWindow(3380))(a
>>>>>>>>> SystemWindow(3...etc...
>>>>>>>>>         lastStepTime:   12791780
>>>>>>>>>         lastStepMessage:        nil
>>>>>>>>>         lastCycleTime:  12791800
>>>>>>>>>         commandHistory:         a CommandHistory
>>>>>>>>>         alarms:         a Heap()
>>>>>>>>>         lastAlarmTime:  12791780
>>>>>>>>>
>>>>>>>>> PasteUpMorph>>runStepMethods
>>>>>>>>> Receiver: a PasteUpMorph(1622) [world]
>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>
>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>         bounds:         0@0 corner: 1440@807
>>>>>>>>>         owner:  nil
>>>>>>>>>         submorphs:      an Array(a TaskbarMorph(3095) a
>>>>>>>>> SystemWindow(171) a
>>>>>>>>> PluggableStandar...etc...
>>>>>>>>>         fullBounds:     nil
>>>>>>>>>         color:  (Color r: 0.972 g: 0.972 b: 0.976)
>>>>>>>>>         extension:      a MorphExtension (2543) [eventHandler
>>>>>>>>> = an
>>>>>>>>> EventHandler]  [other:  (...etc...
>>>>>>>>>         borderWidth:    0
>>>>>>>>>         borderColor:    (Color r: 0.03 g: 0.02 b: 0.0)
>>>>>>>>>         presenter:      a Presenter (1246)
>>>>>>>>>         model:  a MorphicModel(1926)
>>>>>>>>>         cursor:         1
>>>>>>>>>         padding:        3
>>>>>>>>>         backgroundMorph:        nil
>>>>>>>>>         isPartsBin:     nil
>>>>>>>>>         autoLineLayout:         false
>>>>>>>>>         indicateCursor:         nil
>>>>>>>>>         resizeToFit:    nil
>>>>>>>>>         wantsMouseOverHalos:    nil
>>>>>>>>>         worldState:     a WorldState
>>>>>>>>>         griddingOn:     nil
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --- The full stack ---
>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>> [] in RemoteString>>text
>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>> RemoteString>>text
>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>> CompiledMethod>>methodNode
>>>>>>>>> [] in DebuggerMethodMap class>>forMethod:
>>>>>>>>> WeakIdentityKeyDictionary(Dictionary)>>at:ifAbsent:
>>>>>>>>> DebuggerMethodMap class>>forMethod:
>>>>>>>>> CompiledMethod>>debuggerMap
>>>>>>>>> OTClosureContextNode>>selection
>>>>>>>>> OTClosureContextNode(OTContextNode)>>definition
>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>node:
>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>selectionChanged:
>>>>>>>>> MessageSend>>valueWithArguments:
>>>>>>>>> [] in ActionSequence>>valueWithArguments:
>>>>>>>>> ActionSequence(SequenceableCollection)>>do:
>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>> [] in OBAnnouncer>>announce:
>>>>>>>>> [] in IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>> IdentityDictionary(Set)>>do:
>>>>>>>>> IdentityDictionary(Dictionary)>>associationsDo:
>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>> OBAnnouncer>>announce:
>>>>>>>>> OBColumnPanel>>jumpTo:
>>>>>>>>> OTDebugger(OBBrowser)>>jumpTo:
>>>>>>>>> OTDebugger class(OBBrowser
>>>>>>>>> class)>>metaNode:root:selection:panels:
>>>>>>>>> OTDebugger class(OBBrowser class)>>root:selection:
>>>>>>>>> OTDebugger class>>process:context:errorWasInUIProcess:
>>>>>>>>> OTDebugger class>>process:context:label:errorWasInUIProcess:
>>>>>>>>> OTDebugger class>>openProcess:context:label:errorWasInUIProcess:
>>>>>>>>> [] in OTPreDebugNode>>debug:
>>>>>>>>> WorldState>>runStepMethodsIn:
>>>>>>>>> PasteUpMorph>>runStepMethods
>>>>>>>>> - - - - - - - - - - - - - - -
>>>>>>>>>                 - - - - - - - - - - - - - - - - - -
>>>>>>>>> WorldState>>doOneCycleNowFor:
>>>>>>>>> WorldState>>doOneCycleFor:
>>>>>>>>> PasteUpMorph>>doOneCycle
>>>>>>>>> [] in Project class>>spawnNewProcess
>>>>>>>>> [] in BlockClosure>>newProcess
>>>>>>>>> '
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> www.tudorgirba.com
>>>>>>>>>
>>>>>>>>> "To lead is not to demand things, it is to make them happen."
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Pharo-project mailing list
>>>>>>>>> [hidden email]
>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>>>>> project
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Pharo-project mailing list
>>>>>>>> [hidden email]
>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Pharo-project mailing list
>>>>>>> [hidden email]
>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>>> project
>>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Pharo-project mailing list
>>>>>> [hidden email]
>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Pharo-project mailing list
>>>>> [hidden email]
>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> [hidden email]
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [hidden email]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>
>> --
>> www.tudorgirba.com
>>
>> "It's not how it is, it is how we see it."
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: invalid utf8 input detected

Nicolas Cellier
Hmm, isn't it http://bugs.squeak.org/view.php?id=5996 ?

Nicolas

2009/5/19 Nicolas Cellier <[hidden email]>:

> From what I see in a 10304, all these methods had a non ASCII
> character in comment:
>
> {Object>>#doesNotUnderstand:.
> SystemNavigation>>#browseMethodsWhoseNamesContain:.
> Utilities class>>#changeStampPerSe.
> Utilities class>>#methodsWithInitials:} collect: [:e | (e
> getSourceFromFile select: [:s | s charCode > 127]) asArray collect:
> [:c | c charCode]]
>  #(#(160 160) #(172 143 172 143) #(183) #(246))
> That is:
>
> an Array(a Text for '  ' a Text for '¬ ¬ ' a Text for '·' a Text for 'ö')
> First are non breaking space.
> Last but ones are not rendered same in Squeak.
>
> These four methods are changed in:
> - Kernel-stephane_ducasse.renggli.319.mcz
> - System-Support-stephane_ducasse.20.mcz
> If I merge 10305 manually, I get some decompiled code in the merge window.
> So there might be a problem already either in Monticello or in the .mcz.
> After the merge, there is decomipled code in the changes and no error
> when executing above code.
>
> If I load instead of merging, then I also get the decompiled code in
> the change log, so I can't reproduce completely the faulty behavior
> (having an invalid utf-8 notifier), maybe because the process is no
> the same when there are conflicts...
>
> If I extract .mcz contents, I can read contents from FileBrowser. But
> it does not use an UTF-8 encoding...
> I can't say if the encoding is macRoman or ISO8859L1 or CP1252 or
> what, but what I can say is that the source.st is not UTF-8 encoded.
>
> So without searching further I guess here lies the problems: transfer
> of raw bytes from non UTF-8 .mcz/source.st to the UTF-8 .changes
> change-log...
>
> Every time we'll modify a method with a Character code > 127, we will
> likely create an invalid UTF-8 bug or get some decompiled code, or
> corrupt source code in extreme case...
>
> Could the Monticello / UTF-8 experts confirm my guess ?
>
> Nicolas
>
> 2009/5/17 Nicolas Cellier <[hidden email]>:
>> OK,
>>
>> {Object>>#doesNotUnderstand:.
>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>> Utilities class>>#changeStampPerSe.
>> Utilities class>>#methodsWithInitials:} collect: [:e | e getSourceFromFile].
>>
>> does not fail for me, BUT all these sources look like decompileString.
>> I guess this is dating from the condenseChanges that occured in #update10298
>> Change log prior to this update should have the problem.
>>
>> Nicolas
>>
>> 2009/5/17 Tudor Girba <[hidden email]>:
>>> Hi,
>>>
>>> I ran the snippet you sent on both 304cl and 306cl and I get the
>>> following list:
>>>
>>> Object->#doesNotUnderstand:
>>> SystemNavigation->#browseMethodsWhoseNamesContain:
>>> Utilities class->#changeStampPerSe
>>> Utilities class->#methodsWithInitials:
>>>
>>> Indeed, most of the annoyances are due to the
>>> Object>>doesNotUnderstand: because when I get a DNU I am stuck (and I
>>> feel like in Java :)).
>>>
>>> I am not sure I understand if there is a fix to the problem.
>>>
>>> Cheers,
>>> Doru
>>>
>>>
>>>
>>> On 17 May 2009, at 12:06, Nicolas Cellier wrote:
>>>
>>>> There's something weird... If you hit var (UndefinedObject)
>>>> doesNotUnderstand: #value: that means there were a problem the first
>>>> time.
>>>>
>>>> Unfortunately, due to bug in MethodContext tempNames, we don't know
>>>> the class and selector guilty.
>>>> From the set of selectors I can see this is Object.
>>>> From the source file position, I cannot say anything because I do not
>>>> have same change log history (sorry, own image).
>>>>
>>>> You could try
>>>> (SourceFiles at: 2) readOnlyCopy position: 10007336; nextChunk
>>>>
>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>> sorry for not checking either.
>>>>> When I run this code I indeed do not have a problem on 10306cl
>>>>>
>>>>> stef
>>>>>
>>>>> On May 17, 2009, at 11:36 AM, Nicolas Cellier wrote:
>>>>>
>>>>>> Sure, a key stroke error, it's bar value:, not var value:,
>>>>>> This @!* workspace takes it as global without a warning....
>>>>>>
>>>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>>>> Nicolas
>>>>>>>
>>>>>>> when I run your script on the license looking for image
>>>>>>> I got using 10306cl
>>>>>>>
>>>>>>> I get the following error:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> VM: Mac OS - intel - 1056 - Squeak3.8.1 of '28 Aug 2006' [latest
>>>>>>> update: #6747] Squeak VM 4.1.1b2
>>>>>>> Image: Pharo0.1 [Latest update: #10306]
>>>>>>>
>>>>>>> SecurityManager state:
>>>>>>> Restricted: false
>>>>>>> FileAccess: true
>>>>>>> SocketAccess: true
>>>>>>> Working Dir /Data/squeak4.0-relicenseTools/history
>>>>>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>>>>>>> Untrusted Dir /Users/ducasse/Library/Preferences/Squeak/Internet/My
>>>>>>> Squeak
>>>>>>>
>>>>>>> UndefinedObject(Object)>>doesNotUnderstand: #value:
>>>>>>>   Receiver: nil
>>>>>>>   Arguments and temporary variables:
>>>>>>> <<error during printing>
>>>>>>>   Receiver's instance variables:
>>>>>>> nil
>>>>>>>
>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>   Receiver: nil
>>>>>>>   Arguments and temporary variables:
>>>>>>> <<error during printing>
>>>>>>>   Receiver's instance variables:
>>>>>>> nil
>>>>>>>
>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>   Receiver: [closure] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>   Arguments and temporary variables:
>>>>>>>           anArray:        an Array('Error: Invalid utf8 input
>>>>>>> detected' an
>>>>>>> UTF8TextConverter)
>>>>>>>   Receiver's instance variables:
>>>>>>>           outerContext:   [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>           startpc:        183
>>>>>>>           numArgs:        0
>>>>>>>
>>>>>>> [] in BlockClosure>>ifError:
>>>>>>>   Receiver: [closure] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>   Arguments and temporary variables:
>>>>>>>           errorHandlerBlock:      Error: Invalid utf8 input
>>>>>>> detected
>>>>>>>           ex:     [closure] in [] in [] in [] in
>>>>>>> UndefinedObject>>DoIt
>>>>>>>   Receiver's instance variables:
>>>>>>>           outerContext:   [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>           startpc:        171
>>>>>>>           numArgs:        0
>>>>>>>
>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>   Receiver: [closure] in BlockClosure>>ifError:
>>>>>>>   Arguments and temporary variables:
>>>>>>>           anArray:        an Array(Error: Invalid utf8 input
>>>>>>> detected)
>>>>>>>   Receiver's instance variables:
>>>>>>>           outerContext:   BlockClosure>>ifError:
>>>>>>>           startpc:        40
>>>>>>>           numArgs:        1
>>>>>>>
>>>>>>> [] in MethodContext(ContextPart)>>handleSignal:
>>>>>>>   Receiver: BlockClosure>>on:do:
>>>>>>>   Arguments and temporary variables:
>>>>>>> <<error during printing>
>>>>>>>   Receiver's instance variables:
>>>>>>>           sender:         BlockClosure>>ifError:
>>>>>>>           pc:     17
>>>>>>>           stackp:         3
>>>>>>>           method:         a CompiledMethod (2306)
>>>>>>>           closureOrNil:   nil
>>>>>>>           receiver:       [closure] in [] in [] in [] in
>>>>>>> UndefinedObject>>DoIt
>>>>>>>
>>>>>>> BlockClosure>>ensure:
>>>>>>>   Receiver: [closure] in
>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>   Arguments and temporary variables:
>>>>>>>           aBlock:         [closure] in
>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>           returnValue:    nil
>>>>>>>           b:      nil
>>>>>>>   Receiver's instance variables:
>>>>>>>           outerContext:
>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>           startpc:        90
>>>>>>>           numArgs:        0
>>>>>>>
>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>   Receiver: BlockClosure>>on:do:
>>>>>>>   Arguments and temporary variables:
>>>>>>>           exception:      Error: Invalid utf8 input detected
>>>>>>>           val:    nil
>>>>>>>   Receiver's instance variables:
>>>>>>>           sender:         BlockClosure>>ifError:
>>>>>>>           pc:     17
>>>>>>>           stackp:         3
>>>>>>>           method:         a CompiledMethod (2306)
>>>>>>>           closureOrNil:   nil
>>>>>>>           receiver:       [closure] in [] in [] in [] in
>>>>>>> UndefinedObject>>DoIt
>>>>>>>
>>>>>>> Error(Exception)>>signal
>>>>>>>   Receiver: Error: Invalid utf8 input detected
>>>>>>>   Arguments and temporary variables:
>>>>>>>
>>>>>>>   Receiver's instance variables:
>>>>>>>           messageText:    'Invalid utf8 input detected'
>>>>>>>           tag:    nil
>>>>>>>           signalContext:  Error(Exception)>>signal
>>>>>>>           handlerContext:         BlockClosure>>on:do:
>>>>>>>           outerContext:   nil
>>>>>>>
>>>>>>> Error(Exception)>>signal:
>>>>>>>   Receiver: Error: Invalid utf8 input detected
>>>>>>>   Arguments and temporary variables:
>>>>>>>           signalerText:   'Invalid utf8 input detected'
>>>>>>>   Receiver's instance variables:
>>>>>>>           messageText:    'Invalid utf8 input detected'
>>>>>>>           tag:    nil
>>>>>>>           signalContext:  Error(Exception)>>signal
>>>>>>>           handlerContext:         BlockClosure>>on:do:
>>>>>>>           outerContext:   nil
>>>>>>>
>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>   Receiver: an UTF8TextConverter
>>>>>>>   Arguments and temporary variables:
>>>>>>>           aString:        'Invalid utf8 input detected'
>>>>>>>   Receiver's instance variables:
>>>>>>> an UTF8TextConverter
>>>>>>>
>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>   Receiver: an UTF8TextConverter
>>>>>>>   Arguments and temporary variables:
>>>>>>>
>>>>>>>   Receiver's instance variables:
>>>>>>> an UTF8TextConverter
>>>>>>>
>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>   Receiver: an UTF8TextConverter
>>>>>>>   Arguments and temporary variables:
>>>>>>>           aStream:        MultiByteFileStream: '/Data/squeak4.0-
>>>>>>> relicenseTools/
>>>>>>> history/Pharo0.1C...etc...
>>>>>>>           character1:     $
>>>>>>>           value1:         160
>>>>>>>           character2:     Character tab
>>>>>>>           value2:         9
>>>>>>>           unicode:        nil
>>>>>>>           character3:     Character tab
>>>>>>>           value3:         9
>>>>>>>           character4:     nil
>>>>>>>           value4:         nil
>>>>>>>   Receiver's instance variables:
>>>>>>> an UTF8TextConverter
>>>>>>>
>>>>>>> MultiByteFileStream>>next
>>>>>>>   Receiver: MultiByteFileStream: '/Data/squeak4.0-relicenseTools/
>>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>>   Arguments and temporary variables:
>>>>>>>           char:   nil
>>>>>>>           secondChar:     nil
>>>>>>>           state:  nil
>>>>>>>   Receiver's instance variables:
>>>>>>>
>>>>>>>
>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>   Receiver: MultiByteFileStream: '/Data/squeak4.0-relicenseTools/
>>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>>   Arguments and temporary variables:
>>>>>>>           terminator:     $!
>>>>>>>           out:    a WriteStream 'doesNotUnderstand: aMessage
>>>>>>>    "Handle the fact that there ...etc...
>>>>>>>           ch:     Character cr
>>>>>>>   Receiver's instance variables:
>>>>>>>
>>>>>>>
>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>   Receiver: MultiByteFileStream: '/Data/squeak4.0-relicenseTools/
>>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>>   Arguments and temporary variables:
>>>>>>>           string:         nil
>>>>>>>           runsRaw:        nil
>>>>>>>           strm:   nil
>>>>>>>           runs:   nil
>>>>>>>           peek:   nil
>>>>>>>           pos:    nil
>>>>>>>   Receiver's instance variables:
>>>>>>>
>>>>>>>
>>>>>>> [] in RemoteString>>text
>>>>>>>   Receiver: a RemoteString
>>>>>>>   Arguments and temporary variables:
>>>>>>>           theFile:        MultiByteFileStream: '/Data/squeak4.0-
>>>>>>> relicenseTools/
>>>>>>> history/Pharo0.1C...etc...
>>>>>>>   Receiver's instance variables:
>>>>>>>           sourceFileNumber:       2
>>>>>>>           filePositionHi:         10007336
>>>>>>>
>>>>>>> BlockClosure>>ensure:
>>>>>>>   Receiver: [closure] in RemoteString>>text
>>>>>>>   Arguments and temporary variables:
>>>>>>>           aBlock:         [closure] in RemoteString>>text
>>>>>>>           returnValue:    nil
>>>>>>>           b:      nil
>>>>>>>   Receiver's instance variables:
>>>>>>>           outerContext:   RemoteString>>text
>>>>>>>           startpc:        72
>>>>>>>           numArgs:        0
>>>>>>>
>>>>>>> RemoteString>>text
>>>>>>>   Receiver: a RemoteString
>>>>>>>   Arguments and temporary variables:
>>>>>>>           theFile:        MultiByteFileStream: '/Data/squeak4.0-
>>>>>>> relicenseTools/
>>>>>>> history/Pharo0.1C...etc...
>>>>>>>   Receiver's instance variables:
>>>>>>>           sourceFileNumber:       2
>>>>>>>           filePositionHi:         10007336
>>>>>>>
>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>   Receiver: a CompiledMethod (838)
>>>>>>>   Arguments and temporary variables:
>>>>>>>           position:       10007336
>>>>>>>   Receiver's instance variables:
>>>>>>> a CompiledMethod (838)
>>>>>>>
>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>   Receiver: nil
>>>>>>>   Arguments and temporary variables:
>>>>>>> <<error during printing>
>>>>>>>   Receiver's instance variables:
>>>>>>> nil
>>>>>>>
>>>>>>> BlockClosure>>on:do:
>>>>>>>   Receiver: [closure] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>   Arguments and temporary variables:
>>>>>>>           exception:      Error
>>>>>>>           handlerAction:  [closure] in BlockClosure>>ifError:
>>>>>>>           handlerActive:  false
>>>>>>>   Receiver's instance variables:
>>>>>>>           outerContext:   [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>           startpc:        171
>>>>>>>           numArgs:        0
>>>>>>>
>>>>>>> BlockClosure>>ifError:
>>>>>>>   Receiver: [closure] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>   Arguments and temporary variables:
>>>>>>>           errorHandlerBlock:      [closure] in [] in [] in [] in
>>>>>>> UndefinedObject>>DoIt
>>>>>>>   Receiver's instance variables:
>>>>>>>           outerContext:   [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>           startpc:        171
>>>>>>>           numArgs:        0
>>>>>>>
>>>>>>> [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>   Receiver: nil
>>>>>>>   Arguments and temporary variables:
>>>>>>> <<error during printing>
>>>>>>>   Receiver's instance variables:
>>>>>>> nil
>>>>>>>
>>>>>>> IdentitySet(Set)>>do:
>>>>>>>   Receiver: an IdentitySet(#name #inheritsFromAnyIn: #asOop
>>>>>>> #isWebBrowser #storeOnStream: #wantsDroppe...etc...
>>>>>>>   Arguments and temporary variables:
>>>>>>>           aBlock:         [closure] in [] in [] in
>>>>>>> UndefinedObject>>DoIt
>>>>>>>           index:  394
>>>>>>>           each:   #doesNotUnderstand:
>>>>>>>           indexLimiT:     498
>>>>>>>   Receiver's instance variables:
>>>>>>>           tally:  373
>>>>>>>           array:  #(nil nil #name nil #inheritsFromAnyIn:
>>>>>>> #asOop nil nil
>>>>>>> #isWebBrowser nil...etc...
>>>>>>>
>>>>>>> [] in [] in UndefinedObject>>DoIt
>>>>>>>   Receiver: nil
>>>>>>>   Arguments and temporary variables:
>>>>>>> <<error during printing>
>>>>>>>   Receiver's instance variables:
>>>>>>> nil
>>>>>>>
>>>>>>> [] in ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>   Receiver: ProtoObject
>>>>>>>   Arguments and temporary variables:
>>>>>>>           aBlock:         Object
>>>>>>>           cl:     [closure] in [] in UndefinedObject>>DoIt
>>>>>>>   Receiver's instance variables:
>>>>>>>           superclass:     nil
>>>>>>>           methodDict:     a MethodDictionary(#'=='->a
>>>>>>> CompiledMethod (602)
>>>>>>> #become:->a Compil...etc...
>>>>>>>           format:         2
>>>>>>>           instanceVariables:      nil
>>>>>>>           organization:   ('apply primitives' tryNamedPrimitive
>>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>>           subclasses:     {Object . ObjectOut .
>>>>>>> ImageSegmentRootStub .
>>>>>>> MessageCatcher . TestC...etc...
>>>>>>>           name:   #ProtoObject
>>>>>>>           classPool:      nil
>>>>>>>           sharedPools:    nil
>>>>>>>           environment:    nil
>>>>>>>           category:       #'Kernel-Objects'
>>>>>>>           traitComposition:       nil
>>>>>>>           localSelectors:         nil
>>>>>>>
>>>>>>> Array(SequenceableCollection)>>do:
>>>>>>>   Receiver: {Object . ObjectOut . ImageSegmentRootStub .
>>>>>>> MessageCatcher . TestCoverage}
>>>>>>>   Arguments and temporary variables:
>>>>>>>           aBlock:         [closure] in ProtoObject
>>>>>>> class(Behavior)>>allSubclassesDoGently:
>>>>>>>           index:  1
>>>>>>>           indexLimiT:     5
>>>>>>>   Receiver's instance variables:
>>>>>>> {Object . ObjectOut . ImageSegmentRootStub . MessageCatcher .
>>>>>>> TestCoverage}
>>>>>>>
>>>>>>> ProtoObject class(Class)>>subclassesDoGently:
>>>>>>>   Receiver: ProtoObject
>>>>>>>   Arguments and temporary variables:
>>>>>>>           aBlock:         [closure] in ProtoObject
>>>>>>> class(Behavior)>>allSubclassesDoGently:
>>>>>>>   Receiver's instance variables:
>>>>>>>           superclass:     nil
>>>>>>>           methodDict:     a MethodDictionary(#'=='->a
>>>>>>> CompiledMethod (602)
>>>>>>> #become:->a Compil...etc...
>>>>>>>           format:         2
>>>>>>>           instanceVariables:      nil
>>>>>>>           organization:   ('apply primitives' tryNamedPrimitive
>>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>>           subclasses:     {Object . ObjectOut .
>>>>>>> ImageSegmentRootStub .
>>>>>>> MessageCatcher . TestC...etc...
>>>>>>>           name:   #ProtoObject
>>>>>>>           classPool:      nil
>>>>>>>           sharedPools:    nil
>>>>>>>           environment:    nil
>>>>>>>           category:       #'Kernel-Objects'
>>>>>>>           traitComposition:       nil
>>>>>>>           localSelectors:         nil
>>>>>>>
>>>>>>> ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>   Receiver: ProtoObject
>>>>>>>   Arguments and temporary variables:
>>>>>>>           aBlock:         [closure] in [] in
>>>>>>> UndefinedObject>>DoIt
>>>>>>>   Receiver's instance variables:
>>>>>>>           superclass:     nil
>>>>>>>           methodDict:     a MethodDictionary(#'=='->a
>>>>>>> CompiledMethod (602)
>>>>>>> #become:->a Compil...etc...
>>>>>>>           format:         2
>>>>>>>           instanceVariables:      nil
>>>>>>>           organization:   ('apply primitives' tryNamedPrimitive
>>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>>           subclasses:     {Object . ObjectOut .
>>>>>>> ImageSegmentRootStub .
>>>>>>> MessageCatcher . TestC...etc...
>>>>>>>           name:   #ProtoObject
>>>>>>>           classPool:      nil
>>>>>>>           sharedPools:    nil
>>>>>>>           environment:    nil
>>>>>>>           category:       #'Kernel-Objects'
>>>>>>>           traitComposition:       nil
>>>>>>>           localSelectors:         nil
>>>>>>>
>>>>>>> SystemNavigation>>allBehaviorsDo:
>>>>>>>   Receiver: a SystemNavigation
>>>>>>>   Arguments and temporary variables:
>>>>>>>           aBlock:         [closure] in [] in
>>>>>>> UndefinedObject>>DoIt
>>>>>>>   Receiver's instance variables:
>>>>>>>           browserClass:   nil
>>>>>>>           hierarchyBrowserClass:  nil
>>>>>>>
>>>>>>> [] in UndefinedObject>>DoIt
>>>>>>>   Receiver: nil
>>>>>>>   Arguments and temporary variables:
>>>>>>> <<error during printing>
>>>>>>>   Receiver's instance variables:
>>>>>>> nil
>>>>>>>
>>>>>>> [] in ProgressInitiationException>>defaultAction
>>>>>>>   Receiver: ProgressInitiationException
>>>>>>>   Arguments and temporary variables:
>>>>>>>           progress:       [closure] in
>>>>>>> SystemProgressMorph>>label:min:max:
>>>>>>>           result:         #(nil)
>>>>>>>   Receiver's instance variables:
>>>>>>>           messageText:    nil
>>>>>>>           tag:    nil
>>>>>>>           signalContext:
>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>           handlerContext:         nil
>>>>>>>           outerContext:   nil
>>>>>>>           workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>>           maxVal:         3874
>>>>>>>           minVal:         0
>>>>>>>           aPoint:         840@306
>>>>>>>           progressTitle:  'Searching UTF-8 Problems...'
>>>>>>>
>>>>>>> BlockClosure>>ensure:
>>>>>>>   Receiver: [closure] in
>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>   Arguments and temporary variables:
>>>>>>>           aBlock:         [closure] in
>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>           returnValue:    nil
>>>>>>>           b:      nil
>>>>>>>   Receiver's instance variables:
>>>>>>>           outerContext:
>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>           startpc:        49
>>>>>>>           numArgs:        0
>>>>>>>
>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>   Receiver: ProgressInitiationException
>>>>>>>   Arguments and temporary variables:
>>>>>>>           progress:       [closure] in
>>>>>>> SystemProgressMorph>>label:min:max:
>>>>>>>           result:         #(nil)
>>>>>>>   Receiver's instance variables:
>>>>>>>           messageText:    nil
>>>>>>>           tag:    nil
>>>>>>>           signalContext:
>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>           handlerContext:         nil
>>>>>>>           outerContext:   nil
>>>>>>>           workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>>           maxVal:         3874
>>>>>>>           minVal:         0
>>>>>>>           aPoint:         840@306
>>>>>>>           progressTitle:  'Searching UTF-8 Problems...'
>>>>>>>
>>>>>>> UndefinedObject>>handleSignal:
>>>>>>>   Receiver: nil
>>>>>>>   Arguments and temporary variables:
>>>>>>>           exception:      ProgressInitiationException
>>>>>>>   Receiver's instance variables:
>>>>>>> nil
>>>>>>>
>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>   Receiver: BlockClosure>>on:do:
>>>>>>>   Arguments and temporary variables:
>>>>>>>           exception:      ProgressInitiationException
>>>>>>>           val:    nil
>>>>>>>   Receiver's instance variables:
>>>>>>>           sender:         PasteUpMorph>>becomeActiveDuring:
>>>>>>>           pc:     17
>>>>>>>           stackp:         3
>>>>>>>           method:         a CompiledMethod (2306)
>>>>>>>           closureOrNil:   nil
>>>>>>>           receiver:       [closure] in
>>>>>>> PasteUpMorph>>becomeActiveDuring:
>>>>>>>
>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>   Receiver: BlockClosure>>on:do:
>>>>>>>   Arguments and temporary variables:
>>>>>>>           exception:      ProgressInitiationException
>>>>>>>           val:    nil
>>>>>>>   Receiver's instance variables:
>>>>>>>           sender:
>>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>           pc:     17
>>>>>>>           stackp:         3
>>>>>>>           method:         a CompiledMethod (2306)
>>>>>>>           closureOrNil:   nil
>>>>>>>           receiver:       [closure] in
>>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>
>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>   Receiver: ProgressInitiationException
>>>>>>>   Arguments and temporary variables:
>>>>>>>
>>>>>>>   Receiver's instance variables:
>>>>>>>           messageText:    nil
>>>>>>>           tag:    nil
>>>>>>>           signalContext:
>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>           handlerContext:         nil
>>>>>>>           outerContext:   nil
>>>>>>>           workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>>           maxVal:         3874
>>>>>>>           minVal:         0
>>>>>>>           aPoint:         840@306
>>>>>>>           progressTitle:  'Searching UTF-8 Problems...'
>>>>>>>
>>>>>>>
>>>>>>> --- The full stack ---
>>>>>>> UndefinedObject(Object)>>doesNotUnderstand: #value:
>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>> [] in BlockClosure>>ifError:
>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>> [] in MethodContext(ContextPart)>>handleSignal:
>>>>>>> BlockClosure>>ensure:
>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>> Error(Exception)>>signal
>>>>>>> Error(Exception)>>signal:
>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>> MultiByteFileStream>>next
>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>> [] in RemoteString>>text
>>>>>>> BlockClosure>>ensure:
>>>>>>> RemoteString>>text
>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>> BlockClosure>>on:do:
>>>>>>> BlockClosure>>ifError:
>>>>>>> [] in [] in [] in UndefinedObject>>DoIt
>>>>>>> IdentitySet(Set)>>do:
>>>>>>> [] in [] in UndefinedObject>>DoIt
>>>>>>> [] in ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>> Array(SequenceableCollection)>>do:
>>>>>>> ProtoObject class(Class)>>subclassesDoGently:
>>>>>>> ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>> SystemNavigation>>allBehaviorsDo:
>>>>>>> [] in UndefinedObject>>DoIt
>>>>>>> [] in ProgressInitiationException>>defaultAction
>>>>>>> BlockClosure>>ensure:
>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>> UndefinedObject>>handleSignal:
>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>> - - - - - - - - - - - - - - -
>>>>>>>                   - - - - - - - - - - - - - - - - - -
>>>>>>> ProgressInitiationException>>display:at:from:to:during:
>>>>>>> ProgressInitiationException class>>display:at:from:to:during:
>>>>>>> ByteString(String)>>displayProgressAt:from:to:during:
>>>>>>> UndefinedObject>>DoIt
>>>>>>> Compiler>>evaluate:in:to:notifying:ifFail:logged:
>>>>>>> [] in TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>> BlockClosure>>on:do:
>>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>> TextMorphEditor(ParagraphEditor)>>doIt
>>>>>>> [] in TextMorphEditor(ParagraphEditor)>>doIt:
>>>>>>> TextMorphEditor(ParagraphEditor)>>terminateAndInitializeAround:
>>>>>>> TextMorphEditor(ParagraphEditor)>>doIt:
>>>>>>> TextMorphEditor(ParagraphEditor)>>dispatchOnKeyEvent:with:
>>>>>>> TextMorphEditor>>dispatchOnKeyEvent:with:
>>>>>>> TextMorphEditor(ParagraphEditor)>>keystroke:
>>>>>>> TextMorphEditor>>keystroke:
>>>>>>> [] in TextMorphForEditView(TextMorph)>>keyStroke:
>>>>>>> TextMorphForEditView(TextMorph)>>handleInteraction:
>>>>>>> TextMorphForEditView>>handleInteraction:
>>>>>>> TextMorphForEditView(TextMorph)>>keyStroke:
>>>>>>> TextMorphForEditView>>keyStroke:
>>>>>>> TextMorphForEditView(TextMorph)>>handleKeystroke:
>>>>>>> KeyboardEvent>>sentTo:
>>>>>>> TextMorphForEditView(Morph)>>handleEvent:
>>>>>>> TextMorphForEditView(Morph)>>handleFocusEvent:
>>>>>>> [] in HandMorph>>sendFocusEvent:to:clear:
>>>>>>> [] in PasteUpMorph>>becomeActiveDuring:
>>>>>>> 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
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On May 17, 2009, at 11:13 AM, Nicolas Cellier wrote:
>>>>>>>
>>>>>>>> One solution would be to use getSource rather than
>>>>>>>> getSourceFromFile.
>>>>>>>> However, with following code I detected no problem in my pharo-
>>>>>>>> core
>>>>>>>> copy (10281 updated to 10306)
>>>>>>>>
>>>>>>>> | problems total |
>>>>>>>> problems := OrderedCollection new.
>>>>>>>> total := 0.
>>>>>>>> SystemNavigation default allBehaviorsDo: [:cl | total := total +
>>>>>>>> 1].
>>>>>>>> 'Searching UTF-8 Problems...'
>>>>>>>>  displayProgressAt: Sensor cursorPoint
>>>>>>>>  from: 0 to: total
>>>>>>>>  during:
>>>>>>>>          [:bar | | count |
>>>>>>>>          count := 0.
>>>>>>>>          SystemNavigation default allBehaviorsDo: [:cl |
>>>>>>>>                  bar value: (count := count + 1).
>>>>>>>>                  cl selectors do: [:sel |
>>>>>>>>                          [(cl compiledMethodAt: sel)
>>>>>>>> getSourceFromFile] ifError: [
>>>>>>>>                                  var value: 'last problem
>>>>>>>> found ' , cl name , '>>#' , sel.
>>>>>>>>                                  problems add: cl->sel]]]].
>>>>>>>> ^problems
>>>>>>>>
>>>>>>>>
>>>>>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>>>>>> yes same here.
>>>>>>>>>
>>>>>>>>> On May 17, 2009, at 2:10 AM, Tudor Girba wrote:
>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> Recently I encounter a strange error:
>>>>>>>>>> - I sometimes get a debugger due to some problems in my code
>>>>>>>>>> - when I try to investigate the trace, I get another debugger
>>>>>>>>>> saying
>>>>>>>>>> that "Invalid utf8 input detected'"
>>>>>>>>>>
>>>>>>>>>> This second debugger I can investigate, the previous not. It
>>>>>>>>>> looks
>>>>>>>>>> like something got messed up with the text conversion of the
>>>>>>>>>> sources.
>>>>>>>>>>
>>>>>>>>>> I am working on 10306 using the 4.1.1b2 VM on Mac. The code I am
>>>>>>>>>> working on is loaded from squeaksource (Moose, Glamour,
>>>>>>>>>> Mondrian).
>>>>>>>>>>
>>>>>>>>>> Anyone can confirm this problem?
>>>>>>>>>>
>>>>>>>>>> Cheers,
>>>>>>>>>> Doru
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> ----ERROR REPORT----
>>>>>>>>>>
>>>>>>>>>> '17 May 2009 2:05:50 am
>>>>>>>>>>
>>>>>>>>>> VM: Mac OS - intel - 1056 - Squeak3.8.1 of ''28 Aug
>>>>>>>>>> 2006'' [latest
>>>>>>>>>> update: #6747] Squeak VM 4.1.1b2
>>>>>>>>>> Image: Pharo0.1 [Latest update: #10306]
>>>>>>>>>>
>>>>>>>>>> SecurityManager state:
>>>>>>>>>> Restricted: false
>>>>>>>>>> FileAccess: true
>>>>>>>>>> SocketAccess: true
>>>>>>>>>> Working Dir /Users/girba/Work/Code/squeakingmoose
>>>>>>>>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>>>>>>>>>> Untrusted Dir /Users/girba/Library/Preferences/Squeak/Internet/
>>>>>>>>>> My
>>>>>>>>>> Squeak
>>>>>>>>>>
>>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aString:        ''Invalid utf8 input detected''
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>
>>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>
>>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aStream:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>>> Work/Code/
>>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>>         character1:     $
>>>>>>>>>>         value1:         160
>>>>>>>>>>         character2:     Character tab
>>>>>>>>>>         value2:         9
>>>>>>>>>>         unicode:        nil
>>>>>>>>>>         character3:     Character tab
>>>>>>>>>>         value3:         9
>>>>>>>>>>         character4:     nil
>>>>>>>>>>         value4:         nil
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>
>>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         char:   nil
>>>>>>>>>>         secondChar:     nil
>>>>>>>>>>         state:  nil
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         terminator:     $!
>>>>>>>>>>         out:    a WriteStream ''doesNotUnderstand: aMessage
>>>>>>>>>>  "Handle the fact that there ...etc...
>>>>>>>>>>         ch:     Character cr
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         string:         nil
>>>>>>>>>>         runsRaw:        nil
>>>>>>>>>>         strm:   nil
>>>>>>>>>>         runs:   nil
>>>>>>>>>>         peek:   nil
>>>>>>>>>>         pos:    nil
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>> Receiver: a RemoteString
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         theFile:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>>> Work/Code/
>>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         sourceFileNumber:       2
>>>>>>>>>>         filePositionHi:         10007336
>>>>>>>>>>
>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>> Receiver: [closure] in RemoteString>>text
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aBlock:         [closure] in RemoteString>>text
>>>>>>>>>>         returnValue:    nil
>>>>>>>>>>         b:      nil
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         outerContext:   RemoteString>>text
>>>>>>>>>>         startpc:        72
>>>>>>>>>>         numArgs:        0
>>>>>>>>>>
>>>>>>>>>> RemoteString>>text
>>>>>>>>>> Receiver: a RemoteString
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         theFile:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>>> Work/Code/
>>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         sourceFileNumber:       2
>>>>>>>>>>         filePositionHi:         10007336
>>>>>>>>>>
>>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         position:       10007336
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>
>>>>>>>>>> CompiledMethod>>methodNode
>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aClass:         Object
>>>>>>>>>>         source:         nil
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>
>>>>>>>>>> [] in DebuggerMethodMap class>>forMethod:
>>>>>>>>>> Receiver: DebuggerMethodMap
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aMethod:        a CompiledMethod (838)
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         superclass:     Object
>>>>>>>>>>         methodDict:     a MethodDictionary(#abstractSourceMap-
>>>>>>>>>>> a CompiledMethod
>>>>>>>>>> (1628) #for...etc...
>>>>>>>>>>         format:         140
>>>>>>>>>>         instanceVariables:      #(''timestamp''
>>>>>>>>>> ''methodReference''
>>>>>>>>>> ''methodNode'' ''abstractSource...etc...
>>>>>>>>>>         organization:   (''initialize-release''
>>>>>>>>>> forMethod:methodNode:)
>>>>>>>>>> (''accessing'' markRec...etc...
>>>>>>>>>>         subclasses:     {DebuggerMethodMapForBlueBookMethods .
>>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>>         name:   #DebuggerMethodMap
>>>>>>>>>>         classPool:      a Dictionary(#MapCache->a
>>>>>>>>>> WeakIdentityKeyDictionary(a
>>>>>>>>>> CompiledMethod...etc...
>>>>>>>>>>         sharedPools:    nil
>>>>>>>>>>         environment:    Smalltalk
>>>>>>>>>>         category:       #''Tools-Debugger''
>>>>>>>>>>         traitComposition:       nil
>>>>>>>>>>         localSelectors:         nil
>>>>>>>>>>
>>>>>>>>>> WeakIdentityKeyDictionary(Dictionary)>>at:ifAbsent:
>>>>>>>>>> Receiver: a WeakIdentityKeyDictionary(a CompiledMethod (126)-
>>>>>>>>>>> a
>>>>>>>>>> DebuggerMethodMapForClosureCompiledM...etc...
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         key:    a CompiledMethod (838)
>>>>>>>>>>         aBlock:         [closure] in DebuggerMethodMap
>>>>>>>>>> class>>forMethod:
>>>>>>>>>>         assoc:  nil
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         tally:  16
>>>>>>>>>>         array:  an Array(nil nil a CompiledMethod (2402)->a
>>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>>
>>>>>>>>>> DebuggerMethodMap class>>forMethod:
>>>>>>>>>> Receiver: DebuggerMethodMap
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aMethod:        a CompiledMethod (838)
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         superclass:     Object
>>>>>>>>>>         methodDict:     a MethodDictionary(#abstractSourceMap-
>>>>>>>>>>> a CompiledMethod
>>>>>>>>>> (1628) #for...etc...
>>>>>>>>>>         format:         140
>>>>>>>>>>         instanceVariables:      #(''timestamp''
>>>>>>>>>> ''methodReference''
>>>>>>>>>> ''methodNode'' ''abstractSource...etc...
>>>>>>>>>>         organization:   (''initialize-release''
>>>>>>>>>> forMethod:methodNode:)
>>>>>>>>>> (''accessing'' markRec...etc...
>>>>>>>>>>         subclasses:     {DebuggerMethodMapForBlueBookMethods .
>>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>>         name:   #DebuggerMethodMap
>>>>>>>>>>         classPool:      a Dictionary(#MapCache->a
>>>>>>>>>> WeakIdentityKeyDictionary(a
>>>>>>>>>> CompiledMethod...etc...
>>>>>>>>>>         sharedPools:    nil
>>>>>>>>>>         environment:    Smalltalk
>>>>>>>>>>         category:       #''Tools-Debugger''
>>>>>>>>>>         traitComposition:       nil
>>>>>>>>>>         localSelectors:         nil
>>>>>>>>>>
>>>>>>>>>> CompiledMethod>>debuggerMap
>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>
>>>>>>>>>> OTClosureContextNode>>selection
>>>>>>>>>> Receiver: an OTClosureContextNode
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         metaNode:       context
>>>>>>>>>>
>>>>>>>>>>         navigation:     an OBDefaultEdgeNavigation
>>>>>>>>>>         process:        a Process in OTToolset
>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>         context:        Model
>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>         parseTree:      nil
>>>>>>>>>>         sourceMap:      nil
>>>>>>>>>>         debuggerMap:    nil
>>>>>>>>>>
>>>>>>>>>> OTClosureContextNode(OTContextNode)>>definition
>>>>>>>>>> Receiver: an OTClosureContextNode
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         metaNode:       context
>>>>>>>>>>
>>>>>>>>>>         navigation:     an OBDefaultEdgeNavigation
>>>>>>>>>>         process:        a Process in OTToolset
>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>         context:        Model
>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>         parseTree:      nil
>>>>>>>>>>         sourceMap:      nil
>>>>>>>>>>         debuggerMap:    nil
>>>>>>>>>>
>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>node:
>>>>>>>>>> Receiver: an OTDefinitionPanel
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aNode:  an OTClosureContextNode
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         browser:        an OTDebugger
>>>>>>>>>>         definition:     nil
>>>>>>>>>>         selection:      nil
>>>>>>>>>>
>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>selectionChanged:
>>>>>>>>>> Receiver: an OTDefinitionPanel
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         ann:    an OBSelectionChanged
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         browser:        an OTDebugger
>>>>>>>>>>         definition:     nil
>>>>>>>>>>         selection:      nil
>>>>>>>>>>
>>>>>>>>>> MessageSend>>valueWithArguments:
>>>>>>>>>> Receiver: MessageSend(#selectionChanged: -> an
>>>>>>>>>> OTDefinitionPanel)
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         anArray:        an Array(an OBSelectionChanged)
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         receiver:       an OTDefinitionPanel
>>>>>>>>>>         selector:       #selectionChanged:
>>>>>>>>>>         arguments:      #()
>>>>>>>>>>
>>>>>>>>>> [] in ActionSequence>>valueWithArguments:
>>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         anArray:        MessageSend(#selectionChanged: -> an
>>>>>>>>>> OTDefinitionPanel)
>>>>>>>>>>         answer:         an Array(an OBSelectionChanged)
>>>>>>>>>>         each:   an Array(an OBFixedButtonPanel)
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>
>>>>>>>>>> ActionSequence(SequenceableCollection)>>do:
>>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aBlock:         [closure] in
>>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>>>         index:  4
>>>>>>>>>>         indexLimiT:     6
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>
>>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         anArray:        an Array(an OBSelectionChanged)
>>>>>>>>>>         answer:         an Array(an OBFixedButtonPanel)
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>
>>>>>>>>>> [] in OBAnnouncer>>announce:
>>>>>>>>>> Receiver: an OBAnnouncer
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>> <<error during printing>
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         subscriptions:  an IdentityDictionary(OBAboutToChange-
>>>>>>>>>>> an
>>>>>>>>>> ActionSequence(Message...etc...
>>>>>>>>>>
>>>>>>>>>> [] in IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aBlock:         OBSelectionChanged-
>>>>>>>>>>> #(MessageSend(#relabel: -> an
>>>>>>>>>> OTDebugger)
>>>>>>>>>> MessageSe...etc...
>>>>>>>>>>         assoc:  [closure] in OBAnnouncer>>announce:
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         tally:  12
>>>>>>>>>>         array:  {OBNodeCreated->an
>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>
>>>>>>>>>> IdentityDictionary(Set)>>do:
>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aBlock:         [closure] in
>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>         index:  6
>>>>>>>>>>         each:   OBSelectionChanged->#(MessageSend(#relabel: -
>>>>>>>>>>> an OTDebugger)
>>>>>>>>>> MessageSend...etc...
>>>>>>>>>>         indexLimiT:     20
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         tally:  12
>>>>>>>>>>         array:  {OBNodeCreated->an
>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>
>>>>>>>>>> IdentityDictionary(Dictionary)>>associationsDo:
>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aBlock:         [closure] in
>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         tally:  12
>>>>>>>>>>         array:  {OBNodeCreated->an
>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>
>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aBlock:         [closure] in OBAnnouncer>>announce:
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         tally:  12
>>>>>>>>>>         array:  {OBNodeCreated->an
>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>
>>>>>>>>>> OBAnnouncer>>announce:
>>>>>>>>>> Receiver: an OBAnnouncer
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         anObject:       an OBSelectionChanged
>>>>>>>>>>         ann:    an OBSelectionChanged
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         subscriptions:  an IdentityDictionary(OBAboutToChange-
>>>>>>>>>>> an
>>>>>>>>>> ActionSequence(Message...etc...
>>>>>>>>>>
>>>>>>>>>> OBColumnPanel>>jumpTo:
>>>>>>>>>> Receiver: an OBColumnPanel
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aNode:  an OTClosureContextNode
>>>>>>>>>>         column:         an OBColumn(Model
>>>>>>>>>> class(Object)>>doesNotUnderstand:
>>>>>>>>>> #fullName)
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         browser:        an OTDebugger
>>>>>>>>>>         root:   an OTProcessNode
>>>>>>>>>>         current:        an OTClosureContextNode
>>>>>>>>>>         columns:        an OrderedCollection(an OBColumn(Model
>>>>>>>>>> class(Object)>>doesNotUnderstan...etc...
>>>>>>>>>>         minPanes:       1
>>>>>>>>>>         maxPanes:       1
>>>>>>>>>>
>>>>>>>>>> OTDebugger(OBBrowser)>>jumpTo:
>>>>>>>>>> Receiver: an OTDebugger
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aNode:  an OTClosureContextNode
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         panels:         an OrderedCollection(an OBColumnPanel
>>>>>>>>>> an OBFixedButtonPanel
>>>>>>>>>> an OTDefini...etc...
>>>>>>>>>>         announcer:      an OBAnnouncer
>>>>>>>>>>         cmdFactories:   an Array(OTCmdProceedDebugger
>>>>>>>>>> OTCmdIntoDebugger
>>>>>>>>>> OTCmdThroughDebug...etc...
>>>>>>>>>>
>>>>>>>>>> OTDebugger class(OBBrowser
>>>>>>>>>> class)>>metaNode:root:selection:panels:
>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         metaNode:       process
>>>>>>>>>> #longStack->context
>>>>>>>>>>
>>>>>>>>>>         rootNode:       an OTProcessNode
>>>>>>>>>>         selectedNode:   an OTClosureContextNode
>>>>>>>>>>         panels:         an Array(an OBColumnPanel an
>>>>>>>>>> OBFixedButtonPanel an
>>>>>>>>>> OTDefinitionPanel an...etc...
>>>>>>>>>>         browser:        an OTDebugger
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         superclass:     OBBrowser
>>>>>>>>>>         methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>         format:         136
>>>>>>>>>>         instanceVariables:      nil
>>>>>>>>>>         organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>> cmdInspector)
>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>         subclasses:     nil
>>>>>>>>>>         name:   #OTDebugger
>>>>>>>>>>         classPool:      nil
>>>>>>>>>>         sharedPools:    nil
>>>>>>>>>>         environment:    Smalltalk
>>>>>>>>>>         category:       #''OB-Tools-Debugger''
>>>>>>>>>>         traitComposition:       nil
>>>>>>>>>>         localSelectors:         nil
>>>>>>>>>>
>>>>>>>>>> OTDebugger class(OBBrowser class)>>root:selection:
>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         rootNode:       an OTProcessNode
>>>>>>>>>>         selectedNode:   an OTClosureContextNode
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         superclass:     OBBrowser
>>>>>>>>>>         methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>         format:         136
>>>>>>>>>>         instanceVariables:      nil
>>>>>>>>>>         organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>> cmdInspector)
>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>         subclasses:     nil
>>>>>>>>>>         name:   #OTDebugger
>>>>>>>>>>         classPool:      nil
>>>>>>>>>>         sharedPools:    nil
>>>>>>>>>>         environment:    Smalltalk
>>>>>>>>>>         category:       #''OB-Tools-Debugger''
>>>>>>>>>>         traitComposition:       nil
>>>>>>>>>>         localSelectors:         nil
>>>>>>>>>>
>>>>>>>>>> OTDebugger class>>process:context:errorWasInUIProcess:
>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aProcess:       a Process in OTToolset
>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>         aContext:       Model
>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>         aBool:  true
>>>>>>>>>>         processNode:    an OTProcessNode
>>>>>>>>>>         contextNode:    an OTClosureContextNode
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         superclass:     OBBrowser
>>>>>>>>>>         methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>         format:         136
>>>>>>>>>>         instanceVariables:      nil
>>>>>>>>>>         organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>> cmdInspector)
>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>         subclasses:     nil
>>>>>>>>>>         name:   #OTDebugger
>>>>>>>>>>         classPool:      nil
>>>>>>>>>>         sharedPools:    nil
>>>>>>>>>>         environment:    Smalltalk
>>>>>>>>>>         category:       #''OB-Tools-Debugger''
>>>>>>>>>>         traitComposition:       nil
>>>>>>>>>>         localSelectors:         nil
>>>>>>>>>>
>>>>>>>>>> OTDebugger class>>process:context:label:errorWasInUIProcess:
>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aProcess:       a Process in OTToolset
>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>         aContext:       Model
>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>         aString:        ''MessageNotUnderstood: Model
>>>>>>>>>> class>>fullName''
>>>>>>>>>>         aBool:  true
>>>>>>>>>>         debugger:       nil
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         superclass:     OBBrowser
>>>>>>>>>>         methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>         format:         136
>>>>>>>>>>         instanceVariables:      nil
>>>>>>>>>>         organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>> cmdInspector)
>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>         subclasses:     nil
>>>>>>>>>>         name:   #OTDebugger
>>>>>>>>>>         classPool:      nil
>>>>>>>>>>         sharedPools:    nil
>>>>>>>>>>         environment:    Smalltalk
>>>>>>>>>>         category:       #''OB-Tools-Debugger''
>>>>>>>>>>         traitComposition:       nil
>>>>>>>>>>         localSelectors:         nil
>>>>>>>>>>
>>>>>>>>>> OTDebugger class>>openProcess:context:label:errorWasInUIProcess:
>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aProcess:       a Process in OTToolset
>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>         aContext:       Model
>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>         aString:        ''MessageNotUnderstood: Model
>>>>>>>>>> class>>fullName''
>>>>>>>>>>         aBool:  true
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         superclass:     OBBrowser
>>>>>>>>>>         methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>         format:         136
>>>>>>>>>>         instanceVariables:      nil
>>>>>>>>>>         organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>> cmdInspector)
>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>         subclasses:     nil
>>>>>>>>>>         name:   #OTDebugger
>>>>>>>>>>         classPool:      nil
>>>>>>>>>>         sharedPools:    nil
>>>>>>>>>>         environment:    Smalltalk
>>>>>>>>>>         category:       #''OB-Tools-Debugger''
>>>>>>>>>>         traitComposition:       nil
>>>>>>>>>>         localSelectors:         nil
>>>>>>>>>>
>>>>>>>>>> [] in OTPreDebugNode>>debug:
>>>>>>>>>> Receiver: an OTPreDebugNode
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aRequestor:     an OTPreDebugPanel
>>>>>>>>>>         proc:   a Process in OTToolset
>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         metaNode:       Predebug
>>>>>>>>>>
>>>>>>>>>>         navigation:     nil
>>>>>>>>>>         errorWasInUI:   true
>>>>>>>>>>         process:        nil
>>>>>>>>>>         context:        Model
>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>         label:  ''MessageNotUnderstood: Model
>>>>>>>>>> class>>fullName''
>>>>>>>>>>         contents:       ''Model
>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>> UtilitiesTest>>tes...etc...
>>>>>>>>>>         debugOnMouseClick:      true
>>>>>>>>>>
>>>>>>>>>> WorldState>>runStepMethodsIn:
>>>>>>>>>> Receiver: a WorldState
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aWorld:         a PasteUpMorph(1622) [world]
>>>>>>>>>>         queue:  a SharedQueue
>>>>>>>>>>         numItems:       1
>>>>>>>>>>         i:      0
>>>>>>>>>>         limit:  200
>>>>>>>>>>         stamp:  12765762
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         hands:  an Array(a HandMorph(3216))
>>>>>>>>>>         viewBox:        0@0 corner: 1440@807
>>>>>>>>>>         canvas:         a FormCanvas on:
>>>>>>>>>> DisplayScreen(1440x807x32)
>>>>>>>>>>         damageRecorder:         a DamageRecorder
>>>>>>>>>>         stepList:       a Heap(StepMessage(#stepAt: -> a
>>>>>>>>>> SystemWindow(3380))(a
>>>>>>>>>> SystemWindow(3...etc...
>>>>>>>>>>         lastStepTime:   12791780
>>>>>>>>>>         lastStepMessage:        nil
>>>>>>>>>>         lastCycleTime:  12791800
>>>>>>>>>>         commandHistory:         a CommandHistory
>>>>>>>>>>         alarms:         a Heap()
>>>>>>>>>>         lastAlarmTime:  12791780
>>>>>>>>>>
>>>>>>>>>> PasteUpMorph>>runStepMethods
>>>>>>>>>> Receiver: a PasteUpMorph(1622) [world]
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         bounds:         0@0 corner: 1440@807
>>>>>>>>>>         owner:  nil
>>>>>>>>>>         submorphs:      an Array(a TaskbarMorph(3095) a
>>>>>>>>>> SystemWindow(171) a
>>>>>>>>>> PluggableStandar...etc...
>>>>>>>>>>         fullBounds:     nil
>>>>>>>>>>         color:  (Color r: 0.972 g: 0.972 b: 0.976)
>>>>>>>>>>         extension:      a MorphExtension (2543) [eventHandler
>>>>>>>>>> = an
>>>>>>>>>> EventHandler]  [other:  (...etc...
>>>>>>>>>>         borderWidth:    0
>>>>>>>>>>         borderColor:    (Color r: 0.03 g: 0.02 b: 0.0)
>>>>>>>>>>         presenter:      a Presenter (1246)
>>>>>>>>>>         model:  a MorphicModel(1926)
>>>>>>>>>>         cursor:         1
>>>>>>>>>>         padding:        3
>>>>>>>>>>         backgroundMorph:        nil
>>>>>>>>>>         isPartsBin:     nil
>>>>>>>>>>         autoLineLayout:         false
>>>>>>>>>>         indicateCursor:         nil
>>>>>>>>>>         resizeToFit:    nil
>>>>>>>>>>         wantsMouseOverHalos:    nil
>>>>>>>>>>         worldState:     a WorldState
>>>>>>>>>>         griddingOn:     nil
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --- The full stack ---
>>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>> RemoteString>>text
>>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>> CompiledMethod>>methodNode
>>>>>>>>>> [] in DebuggerMethodMap class>>forMethod:
>>>>>>>>>> WeakIdentityKeyDictionary(Dictionary)>>at:ifAbsent:
>>>>>>>>>> DebuggerMethodMap class>>forMethod:
>>>>>>>>>> CompiledMethod>>debuggerMap
>>>>>>>>>> OTClosureContextNode>>selection
>>>>>>>>>> OTClosureContextNode(OTContextNode)>>definition
>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>node:
>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>selectionChanged:
>>>>>>>>>> MessageSend>>valueWithArguments:
>>>>>>>>>> [] in ActionSequence>>valueWithArguments:
>>>>>>>>>> ActionSequence(SequenceableCollection)>>do:
>>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>>> [] in OBAnnouncer>>announce:
>>>>>>>>>> [] in IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>> IdentityDictionary(Set)>>do:
>>>>>>>>>> IdentityDictionary(Dictionary)>>associationsDo:
>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>> OBAnnouncer>>announce:
>>>>>>>>>> OBColumnPanel>>jumpTo:
>>>>>>>>>> OTDebugger(OBBrowser)>>jumpTo:
>>>>>>>>>> OTDebugger class(OBBrowser
>>>>>>>>>> class)>>metaNode:root:selection:panels:
>>>>>>>>>> OTDebugger class(OBBrowser class)>>root:selection:
>>>>>>>>>> OTDebugger class>>process:context:errorWasInUIProcess:
>>>>>>>>>> OTDebugger class>>process:context:label:errorWasInUIProcess:
>>>>>>>>>> OTDebugger class>>openProcess:context:label:errorWasInUIProcess:
>>>>>>>>>> [] in OTPreDebugNode>>debug:
>>>>>>>>>> WorldState>>runStepMethodsIn:
>>>>>>>>>> PasteUpMorph>>runStepMethods
>>>>>>>>>> - - - - - - - - - - - - - - -
>>>>>>>>>>                 - - - - - - - - - - - - - - - - - -
>>>>>>>>>> WorldState>>doOneCycleNowFor:
>>>>>>>>>> WorldState>>doOneCycleFor:
>>>>>>>>>> PasteUpMorph>>doOneCycle
>>>>>>>>>> [] in Project class>>spawnNewProcess
>>>>>>>>>> [] in BlockClosure>>newProcess
>>>>>>>>>> '
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> www.tudorgirba.com
>>>>>>>>>>
>>>>>>>>>> "To lead is not to demand things, it is to make them happen."
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>> [hidden email]
>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>>>>>> project
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Pharo-project mailing list
>>>>>>>>> [hidden email]
>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Pharo-project mailing list
>>>>>>>> [hidden email]
>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>>>> project
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Pharo-project mailing list
>>>>>>> [hidden email]
>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Pharo-project mailing list
>>>>>> [hidden email]
>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Pharo-project mailing list
>>>>> [hidden email]
>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>
>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> [hidden email]
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>
>>>
>>> --
>>> www.tudorgirba.com
>>>
>>> "It's not how it is, it is how we see it."
>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [hidden email]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>
>

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: invalid utf8 input detected

Stéphane Ducasse
In reply to this post by Nicolas Cellier
thanks for making progress on this front.

On May 19, 2009, at 6:40 PM, Nicolas Cellier wrote:

>> From what I see in a 10304, all these methods had a non ASCII
> character in comment:
>
> {Object>>#doesNotUnderstand:.
> SystemNavigation>>#browseMethodsWhoseNamesContain:.
> Utilities class>>#changeStampPerSe.
> Utilities class>>#methodsWithInitials:} collect: [:e | (e
> getSourceFromFile select: [:s | s charCode > 127]) asArray collect:
> [:c | c charCode]]
> #(#(160 160) #(172 143 172 143) #(183) #(246))
> That is:
>
> an Array(a Text for '  ' a Text for '¬∂¬∂' a Text for '·' a  
> Text for 'ö')
> First are non breaking space.
> Last but ones are not rendered same in Squeak.
>
> These four methods are changed in:
> - Kernel-stephane_ducasse.renggli.319.mcz
> - System-Support-stephane_ducasse.20.mcz
> If I merge 10305 manually, I get some decompiled code in the merge  
> window.
> So there might be a problem already either in Monticello or in  
> the .mcz.
> After the merge, there is decomipled code in the changes and no error
> when executing above code.
>
> If I load instead of merging, then I also get the decompiled code in
> the change log, so I can't reproduce completely the faulty behavior
> (having an invalid utf-8 notifier), maybe because the process is no
> the same when there are conflicts...
>
> If I extract .mcz contents, I can read contents from FileBrowser. But
> it does not use an UTF-8 encoding...
> I can't say if the encoding is macRoman or ISO8859L1 or CP1252 or
> what, but what I can say is that the source.st is not UTF-8 encoded.
>
> So without searching further I guess here lies the problems: transfer
> of raw bytes from non UTF-8 .mcz/source.st to the UTF-8 .changes
> change-log...
>
> Every time we'll modify a method with a Character code > 127, we will
> likely create an invalid UTF-8 bug or get some decompiled code, or
> corrupt source code in extreme case...
>
> Could the Monticello / UTF-8 experts confirm my guess ?
>
> Nicolas
>
> 2009/5/17 Nicolas Cellier <[hidden email]>:
>> OK,
>>
>> {Object>>#doesNotUnderstand:.
>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>> Utilities class>>#changeStampPerSe.
>> Utilities class>>#methodsWithInitials:} collect: [:e | e  
>> getSourceFromFile].
>>
>> does not fail for me, BUT all these sources look like  
>> decompileString.
>> I guess this is dating from the condenseChanges that occured in  
>> #update10298
>> Change log prior to this update should have the problem.
>>
>> Nicolas
>>
>> 2009/5/17 Tudor Girba <[hidden email]>:
>>> Hi,
>>>
>>> I ran the snippet you sent on both 304cl and 306cl and I get the
>>> following list:
>>>
>>> Object->#doesNotUnderstand:
>>> SystemNavigation->#browseMethodsWhoseNamesContain:
>>> Utilities class->#changeStampPerSe
>>> Utilities class->#methodsWithInitials:
>>>
>>> Indeed, most of the annoyances are due to the
>>> Object>>doesNotUnderstand: because when I get a DNU I am stuck  
>>> (and I
>>> feel like in Java :)).
>>>
>>> I am not sure I understand if there is a fix to the problem.
>>>
>>> Cheers,
>>> Doru
>>>
>>>
>>>
>>> On 17 May 2009, at 12:06, Nicolas Cellier wrote:
>>>
>>>> There's something weird... If you hit var (UndefinedObject)
>>>> doesNotUnderstand: #value: that means there were a problem the  
>>>> first
>>>> time.
>>>>
>>>> Unfortunately, due to bug in MethodContext tempNames, we don't know
>>>> the class and selector guilty.
>>>> From the set of selectors I can see this is Object.
>>>> From the source file position, I cannot say anything because I do  
>>>> not
>>>> have same change log history (sorry, own image).
>>>>
>>>> You could try
>>>> (SourceFiles at: 2) readOnlyCopy position: 10007336; nextChunk
>>>>
>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>> sorry for not checking either.
>>>>> When I run this code I indeed do not have a problem on 10306cl
>>>>>
>>>>> stef
>>>>>
>>>>> On May 17, 2009, at 11:36 AM, Nicolas Cellier wrote:
>>>>>
>>>>>> Sure, a key stroke error, it's bar value:, not var value:,
>>>>>> This @!* workspace takes it as global without a warning....
>>>>>>
>>>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>>>> Nicolas
>>>>>>>
>>>>>>> when I run your script on the license looking for image
>>>>>>> I got using 10306cl
>>>>>>>
>>>>>>> I get the following error:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> VM: Mac OS - intel - 1056 - Squeak3.8.1 of '28 Aug 2006' [latest
>>>>>>> update: #6747] Squeak VM 4.1.1b2
>>>>>>> Image: Pharo0.1 [Latest update: #10306]
>>>>>>>
>>>>>>> SecurityManager state:
>>>>>>> Restricted: false
>>>>>>> FileAccess: true
>>>>>>> SocketAccess: true
>>>>>>> Working Dir /Data/squeak4.0-relicenseTools/history
>>>>>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>>>>>>> Untrusted Dir /Users/ducasse/Library/Preferences/Squeak/
>>>>>>> Internet/My
>>>>>>> Squeak
>>>>>>>
>>>>>>> UndefinedObject(Object)>>doesNotUnderstand: #value:
>>>>>>>   Receiver: nil
>>>>>>>   Arguments and temporary variables:
>>>>>>> <<error during printing>
>>>>>>>   Receiver's instance variables:
>>>>>>> nil
>>>>>>>
>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>   Receiver: nil
>>>>>>>   Arguments and temporary variables:
>>>>>>> <<error during printing>
>>>>>>>   Receiver's instance variables:
>>>>>>> nil
>>>>>>>
>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>   Receiver: [closure] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>   Arguments and temporary variables:
>>>>>>>           anArray:        an Array('Error: Invalid utf8 input
>>>>>>> detected' an
>>>>>>> UTF8TextConverter)
>>>>>>>   Receiver's instance variables:
>>>>>>>           outerContext:   [] in [] in [] in  
>>>>>>> UndefinedObject>>DoIt
>>>>>>>           startpc:        183
>>>>>>>           numArgs:        0
>>>>>>>
>>>>>>> [] in BlockClosure>>ifError:
>>>>>>>   Receiver: [closure] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>   Arguments and temporary variables:
>>>>>>>           errorHandlerBlock:      Error: Invalid utf8 input
>>>>>>> detected
>>>>>>>           ex:     [closure] in [] in [] in [] in
>>>>>>> UndefinedObject>>DoIt
>>>>>>>   Receiver's instance variables:
>>>>>>>           outerContext:   [] in [] in [] in  
>>>>>>> UndefinedObject>>DoIt
>>>>>>>           startpc:        171
>>>>>>>           numArgs:        0
>>>>>>>
>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>   Receiver: [closure] in BlockClosure>>ifError:
>>>>>>>   Arguments and temporary variables:
>>>>>>>           anArray:        an Array(Error: Invalid utf8 input
>>>>>>> detected)
>>>>>>>   Receiver's instance variables:
>>>>>>>           outerContext:   BlockClosure>>ifError:
>>>>>>>           startpc:        40
>>>>>>>           numArgs:        1
>>>>>>>
>>>>>>> [] in MethodContext(ContextPart)>>handleSignal:
>>>>>>>   Receiver: BlockClosure>>on:do:
>>>>>>>   Arguments and temporary variables:
>>>>>>> <<error during printing>
>>>>>>>   Receiver's instance variables:
>>>>>>>           sender:         BlockClosure>>ifError:
>>>>>>>           pc:     17
>>>>>>>           stackp:         3
>>>>>>>           method:         a CompiledMethod (2306)
>>>>>>>           closureOrNil:   nil
>>>>>>>           receiver:       [closure] in [] in [] in [] in
>>>>>>> UndefinedObject>>DoIt
>>>>>>>
>>>>>>> BlockClosure>>ensure:
>>>>>>>   Receiver: [closure] in
>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>   Arguments and temporary variables:
>>>>>>>           aBlock:         [closure] in
>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>           returnValue:    nil
>>>>>>>           b:      nil
>>>>>>>   Receiver's instance variables:
>>>>>>>           outerContext:
>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>           startpc:        90
>>>>>>>           numArgs:        0
>>>>>>>
>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>   Receiver: BlockClosure>>on:do:
>>>>>>>   Arguments and temporary variables:
>>>>>>>           exception:      Error: Invalid utf8 input detected
>>>>>>>           val:    nil
>>>>>>>   Receiver's instance variables:
>>>>>>>           sender:         BlockClosure>>ifError:
>>>>>>>           pc:     17
>>>>>>>           stackp:         3
>>>>>>>           method:         a CompiledMethod (2306)
>>>>>>>           closureOrNil:   nil
>>>>>>>           receiver:       [closure] in [] in [] in [] in
>>>>>>> UndefinedObject>>DoIt
>>>>>>>
>>>>>>> Error(Exception)>>signal
>>>>>>>   Receiver: Error: Invalid utf8 input detected
>>>>>>>   Arguments and temporary variables:
>>>>>>>
>>>>>>>   Receiver's instance variables:
>>>>>>>           messageText:    'Invalid utf8 input detected'
>>>>>>>           tag:    nil
>>>>>>>           signalContext:  Error(Exception)>>signal
>>>>>>>           handlerContext:         BlockClosure>>on:do:
>>>>>>>           outerContext:   nil
>>>>>>>
>>>>>>> Error(Exception)>>signal:
>>>>>>>   Receiver: Error: Invalid utf8 input detected
>>>>>>>   Arguments and temporary variables:
>>>>>>>           signalerText:   'Invalid utf8 input detected'
>>>>>>>   Receiver's instance variables:
>>>>>>>           messageText:    'Invalid utf8 input detected'
>>>>>>>           tag:    nil
>>>>>>>           signalContext:  Error(Exception)>>signal
>>>>>>>           handlerContext:         BlockClosure>>on:do:
>>>>>>>           outerContext:   nil
>>>>>>>
>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>   Receiver: an UTF8TextConverter
>>>>>>>   Arguments and temporary variables:
>>>>>>>           aString:        'Invalid utf8 input detected'
>>>>>>>   Receiver's instance variables:
>>>>>>> an UTF8TextConverter
>>>>>>>
>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>   Receiver: an UTF8TextConverter
>>>>>>>   Arguments and temporary variables:
>>>>>>>
>>>>>>>   Receiver's instance variables:
>>>>>>> an UTF8TextConverter
>>>>>>>
>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>   Receiver: an UTF8TextConverter
>>>>>>>   Arguments and temporary variables:
>>>>>>>           aStream:        MultiByteFileStream: '/Data/squeak4.0-
>>>>>>> relicenseTools/
>>>>>>> history/Pharo0.1C...etc...
>>>>>>>           character1:     $
>>>>>>>           value1:         160
>>>>>>>           character2:     Character tab
>>>>>>>           value2:         9
>>>>>>>           unicode:        nil
>>>>>>>           character3:     Character tab
>>>>>>>           value3:         9
>>>>>>>           character4:     nil
>>>>>>>           value4:         nil
>>>>>>>   Receiver's instance variables:
>>>>>>> an UTF8TextConverter
>>>>>>>
>>>>>>> MultiByteFileStream>>next
>>>>>>>   Receiver: MultiByteFileStream: '/Data/squeak4.0-
>>>>>>> relicenseTools/
>>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>>   Arguments and temporary variables:
>>>>>>>           char:   nil
>>>>>>>           secondChar:     nil
>>>>>>>           state:  nil
>>>>>>>   Receiver's instance variables:
>>>>>>>
>>>>>>>
>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>   Receiver: MultiByteFileStream: '/Data/squeak4.0-
>>>>>>> relicenseTools/
>>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>>   Arguments and temporary variables:
>>>>>>>           terminator:     $!
>>>>>>>           out:    a WriteStream 'doesNotUnderstand: aMessage
>>>>>>>    "Handle the fact that there ...etc...
>>>>>>>           ch:     Character cr
>>>>>>>   Receiver's instance variables:
>>>>>>>
>>>>>>>
>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>   Receiver: MultiByteFileStream: '/Data/squeak4.0-
>>>>>>> relicenseTools/
>>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>>   Arguments and temporary variables:
>>>>>>>           string:         nil
>>>>>>>           runsRaw:        nil
>>>>>>>           strm:   nil
>>>>>>>           runs:   nil
>>>>>>>           peek:   nil
>>>>>>>           pos:    nil
>>>>>>>   Receiver's instance variables:
>>>>>>>
>>>>>>>
>>>>>>> [] in RemoteString>>text
>>>>>>>   Receiver: a RemoteString
>>>>>>>   Arguments and temporary variables:
>>>>>>>           theFile:        MultiByteFileStream: '/Data/squeak4.0-
>>>>>>> relicenseTools/
>>>>>>> history/Pharo0.1C...etc...
>>>>>>>   Receiver's instance variables:
>>>>>>>           sourceFileNumber:       2
>>>>>>>           filePositionHi:         10007336
>>>>>>>
>>>>>>> BlockClosure>>ensure:
>>>>>>>   Receiver: [closure] in RemoteString>>text
>>>>>>>   Arguments and temporary variables:
>>>>>>>           aBlock:         [closure] in RemoteString>>text
>>>>>>>           returnValue:    nil
>>>>>>>           b:      nil
>>>>>>>   Receiver's instance variables:
>>>>>>>           outerContext:   RemoteString>>text
>>>>>>>           startpc:        72
>>>>>>>           numArgs:        0
>>>>>>>
>>>>>>> RemoteString>>text
>>>>>>>   Receiver: a RemoteString
>>>>>>>   Arguments and temporary variables:
>>>>>>>           theFile:        MultiByteFileStream: '/Data/squeak4.0-
>>>>>>> relicenseTools/
>>>>>>> history/Pharo0.1C...etc...
>>>>>>>   Receiver's instance variables:
>>>>>>>           sourceFileNumber:       2
>>>>>>>           filePositionHi:         10007336
>>>>>>>
>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>   Receiver: a CompiledMethod (838)
>>>>>>>   Arguments and temporary variables:
>>>>>>>           position:       10007336
>>>>>>>   Receiver's instance variables:
>>>>>>> a CompiledMethod (838)
>>>>>>>
>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>   Receiver: nil
>>>>>>>   Arguments and temporary variables:
>>>>>>> <<error during printing>
>>>>>>>   Receiver's instance variables:
>>>>>>> nil
>>>>>>>
>>>>>>> BlockClosure>>on:do:
>>>>>>>   Receiver: [closure] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>   Arguments and temporary variables:
>>>>>>>           exception:      Error
>>>>>>>           handlerAction:  [closure] in BlockClosure>>ifError:
>>>>>>>           handlerActive:  false
>>>>>>>   Receiver's instance variables:
>>>>>>>           outerContext:   [] in [] in [] in  
>>>>>>> UndefinedObject>>DoIt
>>>>>>>           startpc:        171
>>>>>>>           numArgs:        0
>>>>>>>
>>>>>>> BlockClosure>>ifError:
>>>>>>>   Receiver: [closure] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>   Arguments and temporary variables:
>>>>>>>           errorHandlerBlock:      [closure] in [] in [] in [] in
>>>>>>> UndefinedObject>>DoIt
>>>>>>>   Receiver's instance variables:
>>>>>>>           outerContext:   [] in [] in [] in  
>>>>>>> UndefinedObject>>DoIt
>>>>>>>           startpc:        171
>>>>>>>           numArgs:        0
>>>>>>>
>>>>>>> [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>   Receiver: nil
>>>>>>>   Arguments and temporary variables:
>>>>>>> <<error during printing>
>>>>>>>   Receiver's instance variables:
>>>>>>> nil
>>>>>>>
>>>>>>> IdentitySet(Set)>>do:
>>>>>>>   Receiver: an IdentitySet(#name #inheritsFromAnyIn: #asOop
>>>>>>> #isWebBrowser #storeOnStream: #wantsDroppe...etc...
>>>>>>>   Arguments and temporary variables:
>>>>>>>           aBlock:         [closure] in [] in [] in
>>>>>>> UndefinedObject>>DoIt
>>>>>>>           index:  394
>>>>>>>           each:   #doesNotUnderstand:
>>>>>>>           indexLimiT:     498
>>>>>>>   Receiver's instance variables:
>>>>>>>           tally:  373
>>>>>>>           array:  #(nil nil #name nil #inheritsFromAnyIn:
>>>>>>> #asOop nil nil
>>>>>>> #isWebBrowser nil...etc...
>>>>>>>
>>>>>>> [] in [] in UndefinedObject>>DoIt
>>>>>>>   Receiver: nil
>>>>>>>   Arguments and temporary variables:
>>>>>>> <<error during printing>
>>>>>>>   Receiver's instance variables:
>>>>>>> nil
>>>>>>>
>>>>>>> [] in ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>   Receiver: ProtoObject
>>>>>>>   Arguments and temporary variables:
>>>>>>>           aBlock:         Object
>>>>>>>           cl:     [closure] in [] in UndefinedObject>>DoIt
>>>>>>>   Receiver's instance variables:
>>>>>>>           superclass:     nil
>>>>>>>           methodDict:     a MethodDictionary(#'=='->a
>>>>>>> CompiledMethod (602)
>>>>>>> #become:->a Compil...etc...
>>>>>>>           format:         2
>>>>>>>           instanceVariables:      nil
>>>>>>>           organization:   ('apply primitives' tryNamedPrimitive
>>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>>           subclasses:     {Object . ObjectOut .
>>>>>>> ImageSegmentRootStub .
>>>>>>> MessageCatcher . TestC...etc...
>>>>>>>           name:   #ProtoObject
>>>>>>>           classPool:      nil
>>>>>>>           sharedPools:    nil
>>>>>>>           environment:    nil
>>>>>>>           category:       #'Kernel-Objects'
>>>>>>>           traitComposition:       nil
>>>>>>>           localSelectors:         nil
>>>>>>>
>>>>>>> Array(SequenceableCollection)>>do:
>>>>>>>   Receiver: {Object . ObjectOut . ImageSegmentRootStub .
>>>>>>> MessageCatcher . TestCoverage}
>>>>>>>   Arguments and temporary variables:
>>>>>>>           aBlock:         [closure] in ProtoObject
>>>>>>> class(Behavior)>>allSubclassesDoGently:
>>>>>>>           index:  1
>>>>>>>           indexLimiT:     5
>>>>>>>   Receiver's instance variables:
>>>>>>> {Object . ObjectOut . ImageSegmentRootStub . MessageCatcher .
>>>>>>> TestCoverage}
>>>>>>>
>>>>>>> ProtoObject class(Class)>>subclassesDoGently:
>>>>>>>   Receiver: ProtoObject
>>>>>>>   Arguments and temporary variables:
>>>>>>>           aBlock:         [closure] in ProtoObject
>>>>>>> class(Behavior)>>allSubclassesDoGently:
>>>>>>>   Receiver's instance variables:
>>>>>>>           superclass:     nil
>>>>>>>           methodDict:     a MethodDictionary(#'=='->a
>>>>>>> CompiledMethod (602)
>>>>>>> #become:->a Compil...etc...
>>>>>>>           format:         2
>>>>>>>           instanceVariables:      nil
>>>>>>>           organization:   ('apply primitives' tryNamedPrimitive
>>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>>           subclasses:     {Object . ObjectOut .
>>>>>>> ImageSegmentRootStub .
>>>>>>> MessageCatcher . TestC...etc...
>>>>>>>           name:   #ProtoObject
>>>>>>>           classPool:      nil
>>>>>>>           sharedPools:    nil
>>>>>>>           environment:    nil
>>>>>>>           category:       #'Kernel-Objects'
>>>>>>>           traitComposition:       nil
>>>>>>>           localSelectors:         nil
>>>>>>>
>>>>>>> ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>   Receiver: ProtoObject
>>>>>>>   Arguments and temporary variables:
>>>>>>>           aBlock:         [closure] in [] in
>>>>>>> UndefinedObject>>DoIt
>>>>>>>   Receiver's instance variables:
>>>>>>>           superclass:     nil
>>>>>>>           methodDict:     a MethodDictionary(#'=='->a
>>>>>>> CompiledMethod (602)
>>>>>>> #become:->a Compil...etc...
>>>>>>>           format:         2
>>>>>>>           instanceVariables:      nil
>>>>>>>           organization:   ('apply primitives' tryNamedPrimitive
>>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>>           subclasses:     {Object . ObjectOut .
>>>>>>> ImageSegmentRootStub .
>>>>>>> MessageCatcher . TestC...etc...
>>>>>>>           name:   #ProtoObject
>>>>>>>           classPool:      nil
>>>>>>>           sharedPools:    nil
>>>>>>>           environment:    nil
>>>>>>>           category:       #'Kernel-Objects'
>>>>>>>           traitComposition:       nil
>>>>>>>           localSelectors:         nil
>>>>>>>
>>>>>>> SystemNavigation>>allBehaviorsDo:
>>>>>>>   Receiver: a SystemNavigation
>>>>>>>   Arguments and temporary variables:
>>>>>>>           aBlock:         [closure] in [] in
>>>>>>> UndefinedObject>>DoIt
>>>>>>>   Receiver's instance variables:
>>>>>>>           browserClass:   nil
>>>>>>>           hierarchyBrowserClass:  nil
>>>>>>>
>>>>>>> [] in UndefinedObject>>DoIt
>>>>>>>   Receiver: nil
>>>>>>>   Arguments and temporary variables:
>>>>>>> <<error during printing>
>>>>>>>   Receiver's instance variables:
>>>>>>> nil
>>>>>>>
>>>>>>> [] in ProgressInitiationException>>defaultAction
>>>>>>>   Receiver: ProgressInitiationException
>>>>>>>   Arguments and temporary variables:
>>>>>>>           progress:       [closure] in
>>>>>>> SystemProgressMorph>>label:min:max:
>>>>>>>           result:         #(nil)
>>>>>>>   Receiver's instance variables:
>>>>>>>           messageText:    nil
>>>>>>>           tag:    nil
>>>>>>>           signalContext:
>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>           handlerContext:         nil
>>>>>>>           outerContext:   nil
>>>>>>>           workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>>           maxVal:         3874
>>>>>>>           minVal:         0
>>>>>>>           aPoint:         840@306
>>>>>>>           progressTitle:  'Searching UTF-8 Problems...'
>>>>>>>
>>>>>>> BlockClosure>>ensure:
>>>>>>>   Receiver: [closure] in
>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>   Arguments and temporary variables:
>>>>>>>           aBlock:         [closure] in
>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>           returnValue:    nil
>>>>>>>           b:      nil
>>>>>>>   Receiver's instance variables:
>>>>>>>           outerContext:
>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>           startpc:        49
>>>>>>>           numArgs:        0
>>>>>>>
>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>   Receiver: ProgressInitiationException
>>>>>>>   Arguments and temporary variables:
>>>>>>>           progress:       [closure] in
>>>>>>> SystemProgressMorph>>label:min:max:
>>>>>>>           result:         #(nil)
>>>>>>>   Receiver's instance variables:
>>>>>>>           messageText:    nil
>>>>>>>           tag:    nil
>>>>>>>           signalContext:
>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>           handlerContext:         nil
>>>>>>>           outerContext:   nil
>>>>>>>           workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>>           maxVal:         3874
>>>>>>>           minVal:         0
>>>>>>>           aPoint:         840@306
>>>>>>>           progressTitle:  'Searching UTF-8 Problems...'
>>>>>>>
>>>>>>> UndefinedObject>>handleSignal:
>>>>>>>   Receiver: nil
>>>>>>>   Arguments and temporary variables:
>>>>>>>           exception:      ProgressInitiationException
>>>>>>>   Receiver's instance variables:
>>>>>>> nil
>>>>>>>
>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>   Receiver: BlockClosure>>on:do:
>>>>>>>   Arguments and temporary variables:
>>>>>>>           exception:      ProgressInitiationException
>>>>>>>           val:    nil
>>>>>>>   Receiver's instance variables:
>>>>>>>           sender:         PasteUpMorph>>becomeActiveDuring:
>>>>>>>           pc:     17
>>>>>>>           stackp:         3
>>>>>>>           method:         a CompiledMethod (2306)
>>>>>>>           closureOrNil:   nil
>>>>>>>           receiver:       [closure] in
>>>>>>> PasteUpMorph>>becomeActiveDuring:
>>>>>>>
>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>   Receiver: BlockClosure>>on:do:
>>>>>>>   Arguments and temporary variables:
>>>>>>>           exception:      ProgressInitiationException
>>>>>>>           val:    nil
>>>>>>>   Receiver's instance variables:
>>>>>>>           sender:
>>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>           pc:     17
>>>>>>>           stackp:         3
>>>>>>>           method:         a CompiledMethod (2306)
>>>>>>>           closureOrNil:   nil
>>>>>>>           receiver:       [closure] in
>>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>
>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>   Receiver: ProgressInitiationException
>>>>>>>   Arguments and temporary variables:
>>>>>>>
>>>>>>>   Receiver's instance variables:
>>>>>>>           messageText:    nil
>>>>>>>           tag:    nil
>>>>>>>           signalContext:
>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>           handlerContext:         nil
>>>>>>>           outerContext:   nil
>>>>>>>           workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>>           maxVal:         3874
>>>>>>>           minVal:         0
>>>>>>>           aPoint:         840@306
>>>>>>>           progressTitle:  'Searching UTF-8 Problems...'
>>>>>>>
>>>>>>>
>>>>>>> --- The full stack ---
>>>>>>> UndefinedObject(Object)>>doesNotUnderstand: #value:
>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>> [] in BlockClosure>>ifError:
>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>> [] in MethodContext(ContextPart)>>handleSignal:
>>>>>>> BlockClosure>>ensure:
>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>> Error(Exception)>>signal
>>>>>>> Error(Exception)>>signal:
>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>> MultiByteFileStream>>next
>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>> [] in RemoteString>>text
>>>>>>> BlockClosure>>ensure:
>>>>>>> RemoteString>>text
>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>> BlockClosure>>on:do:
>>>>>>> BlockClosure>>ifError:
>>>>>>> [] in [] in [] in UndefinedObject>>DoIt
>>>>>>> IdentitySet(Set)>>do:
>>>>>>> [] in [] in UndefinedObject>>DoIt
>>>>>>> [] in ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>> Array(SequenceableCollection)>>do:
>>>>>>> ProtoObject class(Class)>>subclassesDoGently:
>>>>>>> ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>> SystemNavigation>>allBehaviorsDo:
>>>>>>> [] in UndefinedObject>>DoIt
>>>>>>> [] in ProgressInitiationException>>defaultAction
>>>>>>> BlockClosure>>ensure:
>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>> UndefinedObject>>handleSignal:
>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>> - - - - - - - - - - - - - - -
>>>>>>>                   - - - - - - - - - - - - - - - - - -
>>>>>>> ProgressInitiationException>>display:at:from:to:during:
>>>>>>> ProgressInitiationException class>>display:at:from:to:during:
>>>>>>> ByteString(String)>>displayProgressAt:from:to:during:
>>>>>>> UndefinedObject>>DoIt
>>>>>>> Compiler>>evaluate:in:to:notifying:ifFail:logged:
>>>>>>> [] in TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>> BlockClosure>>on:do:
>>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>> TextMorphEditor(ParagraphEditor)>>doIt
>>>>>>> [] in TextMorphEditor(ParagraphEditor)>>doIt:
>>>>>>> TextMorphEditor(ParagraphEditor)>>terminateAndInitializeAround:
>>>>>>> TextMorphEditor(ParagraphEditor)>>doIt:
>>>>>>> TextMorphEditor(ParagraphEditor)>>dispatchOnKeyEvent:with:
>>>>>>> TextMorphEditor>>dispatchOnKeyEvent:with:
>>>>>>> TextMorphEditor(ParagraphEditor)>>keystroke:
>>>>>>> TextMorphEditor>>keystroke:
>>>>>>> [] in TextMorphForEditView(TextMorph)>>keyStroke:
>>>>>>> TextMorphForEditView(TextMorph)>>handleInteraction:
>>>>>>> TextMorphForEditView>>handleInteraction:
>>>>>>> TextMorphForEditView(TextMorph)>>keyStroke:
>>>>>>> TextMorphForEditView>>keyStroke:
>>>>>>> TextMorphForEditView(TextMorph)>>handleKeystroke:
>>>>>>> KeyboardEvent>>sentTo:
>>>>>>> TextMorphForEditView(Morph)>>handleEvent:
>>>>>>> TextMorphForEditView(Morph)>>handleFocusEvent:
>>>>>>> [] in HandMorph>>sendFocusEvent:to:clear:
>>>>>>> [] in PasteUpMorph>>becomeActiveDuring:
>>>>>>> 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
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On May 17, 2009, at 11:13 AM, Nicolas Cellier wrote:
>>>>>>>
>>>>>>>> One solution would be to use getSource rather than
>>>>>>>> getSourceFromFile.
>>>>>>>> However, with following code I detected no problem in my pharo-
>>>>>>>> core
>>>>>>>> copy (10281 updated to 10306)
>>>>>>>>
>>>>>>>> | problems total |
>>>>>>>> problems := OrderedCollection new.
>>>>>>>> total := 0.
>>>>>>>> SystemNavigation default allBehaviorsDo: [:cl | total :=  
>>>>>>>> total +
>>>>>>>> 1].
>>>>>>>> 'Searching UTF-8 Problems...'
>>>>>>>>  displayProgressAt: Sensor cursorPoint
>>>>>>>>  from: 0 to: total
>>>>>>>>  during:
>>>>>>>>          [:bar | | count |
>>>>>>>>          count := 0.
>>>>>>>>          SystemNavigation default allBehaviorsDo: [:cl |
>>>>>>>>                  bar value: (count := count + 1).
>>>>>>>>                  cl selectors do: [:sel |
>>>>>>>>                          [(cl compiledMethodAt: sel)
>>>>>>>> getSourceFromFile] ifError: [
>>>>>>>>                                  var value: 'last problem
>>>>>>>> found ' , cl name , '>>#' , sel.
>>>>>>>>                                  problems add: cl->sel]]]].
>>>>>>>> ^problems
>>>>>>>>
>>>>>>>>
>>>>>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>>>>>> yes same here.
>>>>>>>>>
>>>>>>>>> On May 17, 2009, at 2:10 AM, Tudor Girba wrote:
>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> Recently I encounter a strange error:
>>>>>>>>>> - I sometimes get a debugger due to some problems in my code
>>>>>>>>>> - when I try to investigate the trace, I get another debugger
>>>>>>>>>> saying
>>>>>>>>>> that "Invalid utf8 input detected'"
>>>>>>>>>>
>>>>>>>>>> This second debugger I can investigate, the previous not. It
>>>>>>>>>> looks
>>>>>>>>>> like something got messed up with the text conversion of the
>>>>>>>>>> sources.
>>>>>>>>>>
>>>>>>>>>> I am working on 10306 using the 4.1.1b2 VM on Mac. The code  
>>>>>>>>>> I am
>>>>>>>>>> working on is loaded from squeaksource (Moose, Glamour,
>>>>>>>>>> Mondrian).
>>>>>>>>>>
>>>>>>>>>> Anyone can confirm this problem?
>>>>>>>>>>
>>>>>>>>>> Cheers,
>>>>>>>>>> Doru
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> ----ERROR REPORT----
>>>>>>>>>>
>>>>>>>>>> '17 May 2009 2:05:50 am
>>>>>>>>>>
>>>>>>>>>> VM: Mac OS - intel - 1056 - Squeak3.8.1 of ''28 Aug
>>>>>>>>>> 2006'' [latest
>>>>>>>>>> update: #6747] Squeak VM 4.1.1b2
>>>>>>>>>> Image: Pharo0.1 [Latest update: #10306]
>>>>>>>>>>
>>>>>>>>>> SecurityManager state:
>>>>>>>>>> Restricted: false
>>>>>>>>>> FileAccess: true
>>>>>>>>>> SocketAccess: true
>>>>>>>>>> Working Dir /Users/girba/Work/Code/squeakingmoose
>>>>>>>>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>>>>>>>>>> Untrusted Dir /Users/girba/Library/Preferences/Squeak/
>>>>>>>>>> Internet/
>>>>>>>>>> My
>>>>>>>>>> Squeak
>>>>>>>>>>
>>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aString:        ''Invalid utf8 input detected''
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>
>>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>
>>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aStream:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>>> Work/Code/
>>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>>         character1:     $
>>>>>>>>>>         value1:         160
>>>>>>>>>>         character2:     Character tab
>>>>>>>>>>         value2:         9
>>>>>>>>>>         unicode:        nil
>>>>>>>>>>         character3:     Character tab
>>>>>>>>>>         value3:         9
>>>>>>>>>>         character4:     nil
>>>>>>>>>>         value4:         nil
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>
>>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         char:   nil
>>>>>>>>>>         secondChar:     nil
>>>>>>>>>>         state:  nil
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         terminator:     $!
>>>>>>>>>>         out:    a WriteStream ''doesNotUnderstand: aMessage
>>>>>>>>>>  "Handle the fact that there ...etc...
>>>>>>>>>>         ch:     Character cr
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         string:         nil
>>>>>>>>>>         runsRaw:        nil
>>>>>>>>>>         strm:   nil
>>>>>>>>>>         runs:   nil
>>>>>>>>>>         peek:   nil
>>>>>>>>>>         pos:    nil
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>> Receiver: a RemoteString
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         theFile:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>>> Work/Code/
>>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         sourceFileNumber:       2
>>>>>>>>>>         filePositionHi:         10007336
>>>>>>>>>>
>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>> Receiver: [closure] in RemoteString>>text
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aBlock:         [closure] in RemoteString>>text
>>>>>>>>>>         returnValue:    nil
>>>>>>>>>>         b:      nil
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         outerContext:   RemoteString>>text
>>>>>>>>>>         startpc:        72
>>>>>>>>>>         numArgs:        0
>>>>>>>>>>
>>>>>>>>>> RemoteString>>text
>>>>>>>>>> Receiver: a RemoteString
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         theFile:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>>> Work/Code/
>>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         sourceFileNumber:       2
>>>>>>>>>>         filePositionHi:         10007336
>>>>>>>>>>
>>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         position:       10007336
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>
>>>>>>>>>> CompiledMethod>>methodNode
>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aClass:         Object
>>>>>>>>>>         source:         nil
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>
>>>>>>>>>> [] in DebuggerMethodMap class>>forMethod:
>>>>>>>>>> Receiver: DebuggerMethodMap
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aMethod:        a CompiledMethod (838)
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         superclass:     Object
>>>>>>>>>>         methodDict:     a  
>>>>>>>>>> MethodDictionary(#abstractSourceMap-
>>>>>>>>>>> a CompiledMethod
>>>>>>>>>> (1628) #for...etc...
>>>>>>>>>>         format:         140
>>>>>>>>>>         instanceVariables:      #(''timestamp''
>>>>>>>>>> ''methodReference''
>>>>>>>>>> ''methodNode'' ''abstractSource...etc...
>>>>>>>>>>         organization:   (''initialize-release''
>>>>>>>>>> forMethod:methodNode:)
>>>>>>>>>> (''accessing'' markRec...etc...
>>>>>>>>>>         subclasses:      
>>>>>>>>>> {DebuggerMethodMapForBlueBookMethods .
>>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>>         name:   #DebuggerMethodMap
>>>>>>>>>>         classPool:      a Dictionary(#MapCache->a
>>>>>>>>>> WeakIdentityKeyDictionary(a
>>>>>>>>>> CompiledMethod...etc...
>>>>>>>>>>         sharedPools:    nil
>>>>>>>>>>         environment:    Smalltalk
>>>>>>>>>>         category:       #''Tools-Debugger''
>>>>>>>>>>         traitComposition:       nil
>>>>>>>>>>         localSelectors:         nil
>>>>>>>>>>
>>>>>>>>>> WeakIdentityKeyDictionary(Dictionary)>>at:ifAbsent:
>>>>>>>>>> Receiver: a WeakIdentityKeyDictionary(a CompiledMethod (126)-
>>>>>>>>>>> a
>>>>>>>>>> DebuggerMethodMapForClosureCompiledM...etc...
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         key:    a CompiledMethod (838)
>>>>>>>>>>         aBlock:         [closure] in DebuggerMethodMap
>>>>>>>>>> class>>forMethod:
>>>>>>>>>>         assoc:  nil
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         tally:  16
>>>>>>>>>>         array:  an Array(nil nil a CompiledMethod (2402)->a
>>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>>
>>>>>>>>>> DebuggerMethodMap class>>forMethod:
>>>>>>>>>> Receiver: DebuggerMethodMap
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aMethod:        a CompiledMethod (838)
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         superclass:     Object
>>>>>>>>>>         methodDict:     a  
>>>>>>>>>> MethodDictionary(#abstractSourceMap-
>>>>>>>>>>> a CompiledMethod
>>>>>>>>>> (1628) #for...etc...
>>>>>>>>>>         format:         140
>>>>>>>>>>         instanceVariables:      #(''timestamp''
>>>>>>>>>> ''methodReference''
>>>>>>>>>> ''methodNode'' ''abstractSource...etc...
>>>>>>>>>>         organization:   (''initialize-release''
>>>>>>>>>> forMethod:methodNode:)
>>>>>>>>>> (''accessing'' markRec...etc...
>>>>>>>>>>         subclasses:      
>>>>>>>>>> {DebuggerMethodMapForBlueBookMethods .
>>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>>         name:   #DebuggerMethodMap
>>>>>>>>>>         classPool:      a Dictionary(#MapCache->a
>>>>>>>>>> WeakIdentityKeyDictionary(a
>>>>>>>>>> CompiledMethod...etc...
>>>>>>>>>>         sharedPools:    nil
>>>>>>>>>>         environment:    Smalltalk
>>>>>>>>>>         category:       #''Tools-Debugger''
>>>>>>>>>>         traitComposition:       nil
>>>>>>>>>>         localSelectors:         nil
>>>>>>>>>>
>>>>>>>>>> CompiledMethod>>debuggerMap
>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>
>>>>>>>>>> OTClosureContextNode>>selection
>>>>>>>>>> Receiver: an OTClosureContextNode
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         metaNode:       context
>>>>>>>>>>
>>>>>>>>>>         navigation:     an OBDefaultEdgeNavigation
>>>>>>>>>>         process:        a Process in OTToolset
>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>         context:        Model
>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>         parseTree:      nil
>>>>>>>>>>         sourceMap:      nil
>>>>>>>>>>         debuggerMap:    nil
>>>>>>>>>>
>>>>>>>>>> OTClosureContextNode(OTContextNode)>>definition
>>>>>>>>>> Receiver: an OTClosureContextNode
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         metaNode:       context
>>>>>>>>>>
>>>>>>>>>>         navigation:     an OBDefaultEdgeNavigation
>>>>>>>>>>         process:        a Process in OTToolset
>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>         context:        Model
>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>         parseTree:      nil
>>>>>>>>>>         sourceMap:      nil
>>>>>>>>>>         debuggerMap:    nil
>>>>>>>>>>
>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>node:
>>>>>>>>>> Receiver: an OTDefinitionPanel
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aNode:  an OTClosureContextNode
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         browser:        an OTDebugger
>>>>>>>>>>         definition:     nil
>>>>>>>>>>         selection:      nil
>>>>>>>>>>
>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>selectionChanged:
>>>>>>>>>> Receiver: an OTDefinitionPanel
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         ann:    an OBSelectionChanged
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         browser:        an OTDebugger
>>>>>>>>>>         definition:     nil
>>>>>>>>>>         selection:      nil
>>>>>>>>>>
>>>>>>>>>> MessageSend>>valueWithArguments:
>>>>>>>>>> Receiver: MessageSend(#selectionChanged: -> an
>>>>>>>>>> OTDefinitionPanel)
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         anArray:        an Array(an OBSelectionChanged)
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         receiver:       an OTDefinitionPanel
>>>>>>>>>>         selector:       #selectionChanged:
>>>>>>>>>>         arguments:      #()
>>>>>>>>>>
>>>>>>>>>> [] in ActionSequence>>valueWithArguments:
>>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         anArray:        MessageSend(#selectionChanged: -> an
>>>>>>>>>> OTDefinitionPanel)
>>>>>>>>>>         answer:         an Array(an OBSelectionChanged)
>>>>>>>>>>         each:   an Array(an OBFixedButtonPanel)
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>
>>>>>>>>>> ActionSequence(SequenceableCollection)>>do:
>>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aBlock:         [closure] in
>>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>>>         index:  4
>>>>>>>>>>         indexLimiT:     6
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>
>>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         anArray:        an Array(an OBSelectionChanged)
>>>>>>>>>>         answer:         an Array(an OBFixedButtonPanel)
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>
>>>>>>>>>> [] in OBAnnouncer>>announce:
>>>>>>>>>> Receiver: an OBAnnouncer
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>> <<error during printing>
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         subscriptions:  an  
>>>>>>>>>> IdentityDictionary(OBAboutToChange-
>>>>>>>>>>> an
>>>>>>>>>> ActionSequence(Message...etc...
>>>>>>>>>>
>>>>>>>>>> [] in IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aBlock:         OBSelectionChanged-
>>>>>>>>>>> #(MessageSend(#relabel: -> an
>>>>>>>>>> OTDebugger)
>>>>>>>>>> MessageSe...etc...
>>>>>>>>>>         assoc:  [closure] in OBAnnouncer>>announce:
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         tally:  12
>>>>>>>>>>         array:  {OBNodeCreated->an
>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>
>>>>>>>>>> IdentityDictionary(Set)>>do:
>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aBlock:         [closure] in
>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>         index:  6
>>>>>>>>>>         each:   OBSelectionChanged->#(MessageSend(#relabel: -
>>>>>>>>>>> an OTDebugger)
>>>>>>>>>> MessageSend...etc...
>>>>>>>>>>         indexLimiT:     20
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         tally:  12
>>>>>>>>>>         array:  {OBNodeCreated->an
>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>
>>>>>>>>>> IdentityDictionary(Dictionary)>>associationsDo:
>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aBlock:         [closure] in
>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         tally:  12
>>>>>>>>>>         array:  {OBNodeCreated->an
>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>
>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aBlock:         [closure] in OBAnnouncer>>announce:
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         tally:  12
>>>>>>>>>>         array:  {OBNodeCreated->an
>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>
>>>>>>>>>> OBAnnouncer>>announce:
>>>>>>>>>> Receiver: an OBAnnouncer
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         anObject:       an OBSelectionChanged
>>>>>>>>>>         ann:    an OBSelectionChanged
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         subscriptions:  an  
>>>>>>>>>> IdentityDictionary(OBAboutToChange-
>>>>>>>>>>> an
>>>>>>>>>> ActionSequence(Message...etc...
>>>>>>>>>>
>>>>>>>>>> OBColumnPanel>>jumpTo:
>>>>>>>>>> Receiver: an OBColumnPanel
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aNode:  an OTClosureContextNode
>>>>>>>>>>         column:         an OBColumn(Model
>>>>>>>>>> class(Object)>>doesNotUnderstand:
>>>>>>>>>> #fullName)
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         browser:        an OTDebugger
>>>>>>>>>>         root:   an OTProcessNode
>>>>>>>>>>         current:        an OTClosureContextNode
>>>>>>>>>>         columns:        an OrderedCollection(an  
>>>>>>>>>> OBColumn(Model
>>>>>>>>>> class(Object)>>doesNotUnderstan...etc...
>>>>>>>>>>         minPanes:       1
>>>>>>>>>>         maxPanes:       1
>>>>>>>>>>
>>>>>>>>>> OTDebugger(OBBrowser)>>jumpTo:
>>>>>>>>>> Receiver: an OTDebugger
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aNode:  an OTClosureContextNode
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         panels:         an OrderedCollection(an OBColumnPanel
>>>>>>>>>> an OBFixedButtonPanel
>>>>>>>>>> an OTDefini...etc...
>>>>>>>>>>         announcer:      an OBAnnouncer
>>>>>>>>>>         cmdFactories:   an Array(OTCmdProceedDebugger
>>>>>>>>>> OTCmdIntoDebugger
>>>>>>>>>> OTCmdThroughDebug...etc...
>>>>>>>>>>
>>>>>>>>>> OTDebugger class(OBBrowser
>>>>>>>>>> class)>>metaNode:root:selection:panels:
>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         metaNode:       process
>>>>>>>>>> #longStack->context
>>>>>>>>>>
>>>>>>>>>>         rootNode:       an OTProcessNode
>>>>>>>>>>         selectedNode:   an OTClosureContextNode
>>>>>>>>>>         panels:         an Array(an OBColumnPanel an
>>>>>>>>>> OBFixedButtonPanel an
>>>>>>>>>> OTDefinitionPanel an...etc...
>>>>>>>>>>         browser:        an OTDebugger
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         superclass:     OBBrowser
>>>>>>>>>>         methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>         format:         136
>>>>>>>>>>         instanceVariables:      nil
>>>>>>>>>>         organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>> cmdInspector)
>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>         subclasses:     nil
>>>>>>>>>>         name:   #OTDebugger
>>>>>>>>>>         classPool:      nil
>>>>>>>>>>         sharedPools:    nil
>>>>>>>>>>         environment:    Smalltalk
>>>>>>>>>>         category:       #''OB-Tools-Debugger''
>>>>>>>>>>         traitComposition:       nil
>>>>>>>>>>         localSelectors:         nil
>>>>>>>>>>
>>>>>>>>>> OTDebugger class(OBBrowser class)>>root:selection:
>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         rootNode:       an OTProcessNode
>>>>>>>>>>         selectedNode:   an OTClosureContextNode
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         superclass:     OBBrowser
>>>>>>>>>>         methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>         format:         136
>>>>>>>>>>         instanceVariables:      nil
>>>>>>>>>>         organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>> cmdInspector)
>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>         subclasses:     nil
>>>>>>>>>>         name:   #OTDebugger
>>>>>>>>>>         classPool:      nil
>>>>>>>>>>         sharedPools:    nil
>>>>>>>>>>         environment:    Smalltalk
>>>>>>>>>>         category:       #''OB-Tools-Debugger''
>>>>>>>>>>         traitComposition:       nil
>>>>>>>>>>         localSelectors:         nil
>>>>>>>>>>
>>>>>>>>>> OTDebugger class>>process:context:errorWasInUIProcess:
>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aProcess:       a Process in OTToolset
>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>         aContext:       Model
>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>         aBool:  true
>>>>>>>>>>         processNode:    an OTProcessNode
>>>>>>>>>>         contextNode:    an OTClosureContextNode
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         superclass:     OBBrowser
>>>>>>>>>>         methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>         format:         136
>>>>>>>>>>         instanceVariables:      nil
>>>>>>>>>>         organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>> cmdInspector)
>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>         subclasses:     nil
>>>>>>>>>>         name:   #OTDebugger
>>>>>>>>>>         classPool:      nil
>>>>>>>>>>         sharedPools:    nil
>>>>>>>>>>         environment:    Smalltalk
>>>>>>>>>>         category:       #''OB-Tools-Debugger''
>>>>>>>>>>         traitComposition:       nil
>>>>>>>>>>         localSelectors:         nil
>>>>>>>>>>
>>>>>>>>>> OTDebugger class>>process:context:label:errorWasInUIProcess:
>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aProcess:       a Process in OTToolset
>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>         aContext:       Model
>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>         aString:        ''MessageNotUnderstood: Model
>>>>>>>>>> class>>fullName''
>>>>>>>>>>         aBool:  true
>>>>>>>>>>         debugger:       nil
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         superclass:     OBBrowser
>>>>>>>>>>         methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>         format:         136
>>>>>>>>>>         instanceVariables:      nil
>>>>>>>>>>         organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>> cmdInspector)
>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>         subclasses:     nil
>>>>>>>>>>         name:   #OTDebugger
>>>>>>>>>>         classPool:      nil
>>>>>>>>>>         sharedPools:    nil
>>>>>>>>>>         environment:    Smalltalk
>>>>>>>>>>         category:       #''OB-Tools-Debugger''
>>>>>>>>>>         traitComposition:       nil
>>>>>>>>>>         localSelectors:         nil
>>>>>>>>>>
>>>>>>>>>> OTDebugger  
>>>>>>>>>> class>>openProcess:context:label:errorWasInUIProcess:
>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aProcess:       a Process in OTToolset
>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>         aContext:       Model
>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>         aString:        ''MessageNotUnderstood: Model
>>>>>>>>>> class>>fullName''
>>>>>>>>>>         aBool:  true
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         superclass:     OBBrowser
>>>>>>>>>>         methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>         format:         136
>>>>>>>>>>         instanceVariables:      nil
>>>>>>>>>>         organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>> cmdInspector)
>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>         subclasses:     nil
>>>>>>>>>>         name:   #OTDebugger
>>>>>>>>>>         classPool:      nil
>>>>>>>>>>         sharedPools:    nil
>>>>>>>>>>         environment:    Smalltalk
>>>>>>>>>>         category:       #''OB-Tools-Debugger''
>>>>>>>>>>         traitComposition:       nil
>>>>>>>>>>         localSelectors:         nil
>>>>>>>>>>
>>>>>>>>>> [] in OTPreDebugNode>>debug:
>>>>>>>>>> Receiver: an OTPreDebugNode
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aRequestor:     an OTPreDebugPanel
>>>>>>>>>>         proc:   a Process in OTToolset
>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         metaNode:       Predebug
>>>>>>>>>>
>>>>>>>>>>         navigation:     nil
>>>>>>>>>>         errorWasInUI:   true
>>>>>>>>>>         process:        nil
>>>>>>>>>>         context:        Model
>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>         label:  ''MessageNotUnderstood: Model
>>>>>>>>>> class>>fullName''
>>>>>>>>>>         contents:       ''Model
>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>> UtilitiesTest>>tes...etc...
>>>>>>>>>>         debugOnMouseClick:      true
>>>>>>>>>>
>>>>>>>>>> WorldState>>runStepMethodsIn:
>>>>>>>>>> Receiver: a WorldState
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aWorld:         a PasteUpMorph(1622) [world]
>>>>>>>>>>         queue:  a SharedQueue
>>>>>>>>>>         numItems:       1
>>>>>>>>>>         i:      0
>>>>>>>>>>         limit:  200
>>>>>>>>>>         stamp:  12765762
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         hands:  an Array(a HandMorph(3216))
>>>>>>>>>>         viewBox:        0@0 corner: 1440@807
>>>>>>>>>>         canvas:         a FormCanvas on:
>>>>>>>>>> DisplayScreen(1440x807x32)
>>>>>>>>>>         damageRecorder:         a DamageRecorder
>>>>>>>>>>         stepList:       a Heap(StepMessage(#stepAt: -> a
>>>>>>>>>> SystemWindow(3380))(a
>>>>>>>>>> SystemWindow(3...etc...
>>>>>>>>>>         lastStepTime:   12791780
>>>>>>>>>>         lastStepMessage:        nil
>>>>>>>>>>         lastCycleTime:  12791800
>>>>>>>>>>         commandHistory:         a CommandHistory
>>>>>>>>>>         alarms:         a Heap()
>>>>>>>>>>         lastAlarmTime:  12791780
>>>>>>>>>>
>>>>>>>>>> PasteUpMorph>>runStepMethods
>>>>>>>>>> Receiver: a PasteUpMorph(1622) [world]
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>
>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>         bounds:         0@0 corner: 1440@807
>>>>>>>>>>         owner:  nil
>>>>>>>>>>         submorphs:      an Array(a TaskbarMorph(3095) a
>>>>>>>>>> SystemWindow(171) a
>>>>>>>>>> PluggableStandar...etc...
>>>>>>>>>>         fullBounds:     nil
>>>>>>>>>>         color:  (Color r: 0.972 g: 0.972 b: 0.976)
>>>>>>>>>>         extension:      a MorphExtension (2543) [eventHandler
>>>>>>>>>> = an
>>>>>>>>>> EventHandler]  [other:  (...etc...
>>>>>>>>>>         borderWidth:    0
>>>>>>>>>>         borderColor:    (Color r: 0.03 g: 0.02 b: 0.0)
>>>>>>>>>>         presenter:      a Presenter (1246)
>>>>>>>>>>         model:  a MorphicModel(1926)
>>>>>>>>>>         cursor:         1
>>>>>>>>>>         padding:        3
>>>>>>>>>>         backgroundMorph:        nil
>>>>>>>>>>         isPartsBin:     nil
>>>>>>>>>>         autoLineLayout:         false
>>>>>>>>>>         indicateCursor:         nil
>>>>>>>>>>         resizeToFit:    nil
>>>>>>>>>>         wantsMouseOverHalos:    nil
>>>>>>>>>>         worldState:     a WorldState
>>>>>>>>>>         griddingOn:     nil
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --- The full stack ---
>>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>> RemoteString>>text
>>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>> CompiledMethod>>methodNode
>>>>>>>>>> [] in DebuggerMethodMap class>>forMethod:
>>>>>>>>>> WeakIdentityKeyDictionary(Dictionary)>>at:ifAbsent:
>>>>>>>>>> DebuggerMethodMap class>>forMethod:
>>>>>>>>>> CompiledMethod>>debuggerMap
>>>>>>>>>> OTClosureContextNode>>selection
>>>>>>>>>> OTClosureContextNode(OTContextNode)>>definition
>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>node:
>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>selectionChanged:
>>>>>>>>>> MessageSend>>valueWithArguments:
>>>>>>>>>> [] in ActionSequence>>valueWithArguments:
>>>>>>>>>> ActionSequence(SequenceableCollection)>>do:
>>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>>> [] in OBAnnouncer>>announce:
>>>>>>>>>> [] in IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>> IdentityDictionary(Set)>>do:
>>>>>>>>>> IdentityDictionary(Dictionary)>>associationsDo:
>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>> OBAnnouncer>>announce:
>>>>>>>>>> OBColumnPanel>>jumpTo:
>>>>>>>>>> OTDebugger(OBBrowser)>>jumpTo:
>>>>>>>>>> OTDebugger class(OBBrowser
>>>>>>>>>> class)>>metaNode:root:selection:panels:
>>>>>>>>>> OTDebugger class(OBBrowser class)>>root:selection:
>>>>>>>>>> OTDebugger class>>process:context:errorWasInUIProcess:
>>>>>>>>>> OTDebugger class>>process:context:label:errorWasInUIProcess:
>>>>>>>>>> OTDebugger  
>>>>>>>>>> class>>openProcess:context:label:errorWasInUIProcess:
>>>>>>>>>> [] in OTPreDebugNode>>debug:
>>>>>>>>>> WorldState>>runStepMethodsIn:
>>>>>>>>>> PasteUpMorph>>runStepMethods
>>>>>>>>>> - - - - - - - - - - - - - - -
>>>>>>>>>>                 - - - - - - - - - - - - - - - - - -
>>>>>>>>>> WorldState>>doOneCycleNowFor:
>>>>>>>>>> WorldState>>doOneCycleFor:
>>>>>>>>>> PasteUpMorph>>doOneCycle
>>>>>>>>>> [] in Project class>>spawnNewProcess
>>>>>>>>>> [] in BlockClosure>>newProcess
>>>>>>>>>> '
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> www.tudorgirba.com
>>>>>>>>>>
>>>>>>>>>> "To lead is not to demand things, it is to make them happen."
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>> [hidden email]
>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>>>>>> project
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Pharo-project mailing list
>>>>>>>>> [hidden email]
>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Pharo-project mailing list
>>>>>>>> [hidden email]
>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>>>> project
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Pharo-project mailing list
>>>>>>> [hidden email]
>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Pharo-project mailing list
>>>>>> [hidden email]
>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Pharo-project mailing list
>>>>> [hidden email]
>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo- 
>>>>> project
>>>>>
>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> [hidden email]
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>
>>>
>>> --
>>> www.tudorgirba.com
>>>
>>> "It's not how it is, it is how we see it."
>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [hidden email]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: invalid utf8 input detected

Nicolas Cellier
I opened http://code.google.com/p/pharo/issues/detail?id=830

I think other UTF-8 issues are different:
Two for FileBrowser :
    http://code.google.com/p/pharo/issues/detail?id=370
    http://code.google.com/p/pharo/issues/detail?id=513
One about VM crash :
    http://code.google.com/p/pharo/issues/detail?id=744

Nicolas

2009/5/19 Stéphane Ducasse <[hidden email]>:

> thanks for making progress on this front.
>
> On May 19, 2009, at 6:40 PM, Nicolas Cellier wrote:
>
>>> From what I see in a 10304, all these methods had a non ASCII
>> character in comment:
>>
>> {Object>>#doesNotUnderstand:.
>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>> Utilities class>>#changeStampPerSe.
>> Utilities class>>#methodsWithInitials:} collect: [:e | (e
>> getSourceFromFile select: [:s | s charCode > 127]) asArray collect:
>> [:c | c charCode]]
>> #(#(160 160) #(172 143 172 143) #(183) #(246))
>> That is:
>>
>> an Array(a Text for '  ' a Text for '¬∂¬∂' a Text for '·' a
>> Text for 'ö')
>> First are non breaking space.
>> Last but ones are not rendered same in Squeak.
>>
>> These four methods are changed in:
>> - Kernel-stephane_ducasse.renggli.319.mcz
>> - System-Support-stephane_ducasse.20.mcz
>> If I merge 10305 manually, I get some decompiled code in the merge
>> window.
>> So there might be a problem already either in Monticello or in
>> the .mcz.
>> After the merge, there is decomipled code in the changes and no error
>> when executing above code.
>>
>> If I load instead of merging, then I also get the decompiled code in
>> the change log, so I can't reproduce completely the faulty behavior
>> (having an invalid utf-8 notifier), maybe because the process is no
>> the same when there are conflicts...
>>
>> If I extract .mcz contents, I can read contents from FileBrowser. But
>> it does not use an UTF-8 encoding...
>> I can't say if the encoding is macRoman or ISO8859L1 or CP1252 or
>> what, but what I can say is that the source.st is not UTF-8 encoded.
>>
>> So without searching further I guess here lies the problems: transfer
>> of raw bytes from non UTF-8 .mcz/source.st to the UTF-8 .changes
>> change-log...
>>
>> Every time we'll modify a method with a Character code > 127, we will
>> likely create an invalid UTF-8 bug or get some decompiled code, or
>> corrupt source code in extreme case...
>>
>> Could the Monticello / UTF-8 experts confirm my guess ?
>>
>> Nicolas
>>
>> 2009/5/17 Nicolas Cellier <[hidden email]>:
>>> OK,
>>>
>>> {Object>>#doesNotUnderstand:.
>>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>>> Utilities class>>#changeStampPerSe.
>>> Utilities class>>#methodsWithInitials:} collect: [:e | e
>>> getSourceFromFile].
>>>
>>> does not fail for me, BUT all these sources look like
>>> decompileString.
>>> I guess this is dating from the condenseChanges that occured in
>>> #update10298
>>> Change log prior to this update should have the problem.
>>>
>>> Nicolas
>>>
>>> 2009/5/17 Tudor Girba <[hidden email]>:
>>>> Hi,
>>>>
>>>> I ran the snippet you sent on both 304cl and 306cl and I get the
>>>> following list:
>>>>
>>>> Object->#doesNotUnderstand:
>>>> SystemNavigation->#browseMethodsWhoseNamesContain:
>>>> Utilities class->#changeStampPerSe
>>>> Utilities class->#methodsWithInitials:
>>>>
>>>> Indeed, most of the annoyances are due to the
>>>> Object>>doesNotUnderstand: because when I get a DNU I am stuck
>>>> (and I
>>>> feel like in Java :)).
>>>>
>>>> I am not sure I understand if there is a fix to the problem.
>>>>
>>>> Cheers,
>>>> Doru
>>>>
>>>>
>>>>
>>>> On 17 May 2009, at 12:06, Nicolas Cellier wrote:
>>>>
>>>>> There's something weird... If you hit var (UndefinedObject)
>>>>> doesNotUnderstand: #value: that means there were a problem the
>>>>> first
>>>>> time.
>>>>>
>>>>> Unfortunately, due to bug in MethodContext tempNames, we don't know
>>>>> the class and selector guilty.
>>>>> From the set of selectors I can see this is Object.
>>>>> From the source file position, I cannot say anything because I do
>>>>> not
>>>>> have same change log history (sorry, own image).
>>>>>
>>>>> You could try
>>>>> (SourceFiles at: 2) readOnlyCopy position: 10007336; nextChunk
>>>>>
>>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>>> sorry for not checking either.
>>>>>> When I run this code I indeed do not have a problem on 10306cl
>>>>>>
>>>>>> stef
>>>>>>
>>>>>> On May 17, 2009, at 11:36 AM, Nicolas Cellier wrote:
>>>>>>
>>>>>>> Sure, a key stroke error, it's bar value:, not var value:,
>>>>>>> This @!* workspace takes it as global without a warning....
>>>>>>>
>>>>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>>>>> Nicolas
>>>>>>>>
>>>>>>>> when I run your script on the license looking for image
>>>>>>>> I got using 10306cl
>>>>>>>>
>>>>>>>> I get the following error:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> VM: Mac OS - intel - 1056 - Squeak3.8.1 of '28 Aug 2006' [latest
>>>>>>>> update: #6747] Squeak VM 4.1.1b2
>>>>>>>> Image: Pharo0.1 [Latest update: #10306]
>>>>>>>>
>>>>>>>> SecurityManager state:
>>>>>>>> Restricted: false
>>>>>>>> FileAccess: true
>>>>>>>> SocketAccess: true
>>>>>>>> Working Dir /Data/squeak4.0-relicenseTools/history
>>>>>>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>>>>>>>> Untrusted Dir /Users/ducasse/Library/Preferences/Squeak/
>>>>>>>> Internet/My
>>>>>>>> Squeak
>>>>>>>>
>>>>>>>> UndefinedObject(Object)>>doesNotUnderstand: #value:
>>>>>>>>   Receiver: nil
>>>>>>>>   Arguments and temporary variables:
>>>>>>>> <<error during printing>
>>>>>>>>   Receiver's instance variables:
>>>>>>>> nil
>>>>>>>>
>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>   Receiver: nil
>>>>>>>>   Arguments and temporary variables:
>>>>>>>> <<error during printing>
>>>>>>>>   Receiver's instance variables:
>>>>>>>> nil
>>>>>>>>
>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>   Receiver: [closure] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>   Arguments and temporary variables:
>>>>>>>>           anArray:        an Array('Error: Invalid utf8 input
>>>>>>>> detected' an
>>>>>>>> UTF8TextConverter)
>>>>>>>>   Receiver's instance variables:
>>>>>>>>           outerContext:   [] in [] in [] in
>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>           startpc:        183
>>>>>>>>           numArgs:        0
>>>>>>>>
>>>>>>>> [] in BlockClosure>>ifError:
>>>>>>>>   Receiver: [closure] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>   Arguments and temporary variables:
>>>>>>>>           errorHandlerBlock:      Error: Invalid utf8 input
>>>>>>>> detected
>>>>>>>>           ex:     [closure] in [] in [] in [] in
>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>   Receiver's instance variables:
>>>>>>>>           outerContext:   [] in [] in [] in
>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>           startpc:        171
>>>>>>>>           numArgs:        0
>>>>>>>>
>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>   Receiver: [closure] in BlockClosure>>ifError:
>>>>>>>>   Arguments and temporary variables:
>>>>>>>>           anArray:        an Array(Error: Invalid utf8 input
>>>>>>>> detected)
>>>>>>>>   Receiver's instance variables:
>>>>>>>>           outerContext:   BlockClosure>>ifError:
>>>>>>>>           startpc:        40
>>>>>>>>           numArgs:        1
>>>>>>>>
>>>>>>>> [] in MethodContext(ContextPart)>>handleSignal:
>>>>>>>>   Receiver: BlockClosure>>on:do:
>>>>>>>>   Arguments and temporary variables:
>>>>>>>> <<error during printing>
>>>>>>>>   Receiver's instance variables:
>>>>>>>>           sender:         BlockClosure>>ifError:
>>>>>>>>           pc:     17
>>>>>>>>           stackp:         3
>>>>>>>>           method:         a CompiledMethod (2306)
>>>>>>>>           closureOrNil:   nil
>>>>>>>>           receiver:       [closure] in [] in [] in [] in
>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>
>>>>>>>> BlockClosure>>ensure:
>>>>>>>>   Receiver: [closure] in
>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>   Arguments and temporary variables:
>>>>>>>>           aBlock:         [closure] in
>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>           returnValue:    nil
>>>>>>>>           b:      nil
>>>>>>>>   Receiver's instance variables:
>>>>>>>>           outerContext:
>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>           startpc:        90
>>>>>>>>           numArgs:        0
>>>>>>>>
>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>   Receiver: BlockClosure>>on:do:
>>>>>>>>   Arguments and temporary variables:
>>>>>>>>           exception:      Error: Invalid utf8 input detected
>>>>>>>>           val:    nil
>>>>>>>>   Receiver's instance variables:
>>>>>>>>           sender:         BlockClosure>>ifError:
>>>>>>>>           pc:     17
>>>>>>>>           stackp:         3
>>>>>>>>           method:         a CompiledMethod (2306)
>>>>>>>>           closureOrNil:   nil
>>>>>>>>           receiver:       [closure] in [] in [] in [] in
>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>
>>>>>>>> Error(Exception)>>signal
>>>>>>>>   Receiver: Error: Invalid utf8 input detected
>>>>>>>>   Arguments and temporary variables:
>>>>>>>>
>>>>>>>>   Receiver's instance variables:
>>>>>>>>           messageText:    'Invalid utf8 input detected'
>>>>>>>>           tag:    nil
>>>>>>>>           signalContext:  Error(Exception)>>signal
>>>>>>>>           handlerContext:         BlockClosure>>on:do:
>>>>>>>>           outerContext:   nil
>>>>>>>>
>>>>>>>> Error(Exception)>>signal:
>>>>>>>>   Receiver: Error: Invalid utf8 input detected
>>>>>>>>   Arguments and temporary variables:
>>>>>>>>           signalerText:   'Invalid utf8 input detected'
>>>>>>>>   Receiver's instance variables:
>>>>>>>>           messageText:    'Invalid utf8 input detected'
>>>>>>>>           tag:    nil
>>>>>>>>           signalContext:  Error(Exception)>>signal
>>>>>>>>           handlerContext:         BlockClosure>>on:do:
>>>>>>>>           outerContext:   nil
>>>>>>>>
>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>   Receiver: an UTF8TextConverter
>>>>>>>>   Arguments and temporary variables:
>>>>>>>>           aString:        'Invalid utf8 input detected'
>>>>>>>>   Receiver's instance variables:
>>>>>>>> an UTF8TextConverter
>>>>>>>>
>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>   Receiver: an UTF8TextConverter
>>>>>>>>   Arguments and temporary variables:
>>>>>>>>
>>>>>>>>   Receiver's instance variables:
>>>>>>>> an UTF8TextConverter
>>>>>>>>
>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>   Receiver: an UTF8TextConverter
>>>>>>>>   Arguments and temporary variables:
>>>>>>>>           aStream:        MultiByteFileStream: '/Data/squeak4.0-
>>>>>>>> relicenseTools/
>>>>>>>> history/Pharo0.1C...etc...
>>>>>>>>           character1:     $
>>>>>>>>           value1:         160
>>>>>>>>           character2:     Character tab
>>>>>>>>           value2:         9
>>>>>>>>           unicode:        nil
>>>>>>>>           character3:     Character tab
>>>>>>>>           value3:         9
>>>>>>>>           character4:     nil
>>>>>>>>           value4:         nil
>>>>>>>>   Receiver's instance variables:
>>>>>>>> an UTF8TextConverter
>>>>>>>>
>>>>>>>> MultiByteFileStream>>next
>>>>>>>>   Receiver: MultiByteFileStream: '/Data/squeak4.0-
>>>>>>>> relicenseTools/
>>>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>>>   Arguments and temporary variables:
>>>>>>>>           char:   nil
>>>>>>>>           secondChar:     nil
>>>>>>>>           state:  nil
>>>>>>>>   Receiver's instance variables:
>>>>>>>>
>>>>>>>>
>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>   Receiver: MultiByteFileStream: '/Data/squeak4.0-
>>>>>>>> relicenseTools/
>>>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>>>   Arguments and temporary variables:
>>>>>>>>           terminator:     $!
>>>>>>>>           out:    a WriteStream 'doesNotUnderstand: aMessage
>>>>>>>>    "Handle the fact that there ...etc...
>>>>>>>>           ch:     Character cr
>>>>>>>>   Receiver's instance variables:
>>>>>>>>
>>>>>>>>
>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>   Receiver: MultiByteFileStream: '/Data/squeak4.0-
>>>>>>>> relicenseTools/
>>>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>>>   Arguments and temporary variables:
>>>>>>>>           string:         nil
>>>>>>>>           runsRaw:        nil
>>>>>>>>           strm:   nil
>>>>>>>>           runs:   nil
>>>>>>>>           peek:   nil
>>>>>>>>           pos:    nil
>>>>>>>>   Receiver's instance variables:
>>>>>>>>
>>>>>>>>
>>>>>>>> [] in RemoteString>>text
>>>>>>>>   Receiver: a RemoteString
>>>>>>>>   Arguments and temporary variables:
>>>>>>>>           theFile:        MultiByteFileStream: '/Data/squeak4.0-
>>>>>>>> relicenseTools/
>>>>>>>> history/Pharo0.1C...etc...
>>>>>>>>   Receiver's instance variables:
>>>>>>>>           sourceFileNumber:       2
>>>>>>>>           filePositionHi:         10007336
>>>>>>>>
>>>>>>>> BlockClosure>>ensure:
>>>>>>>>   Receiver: [closure] in RemoteString>>text
>>>>>>>>   Arguments and temporary variables:
>>>>>>>>           aBlock:         [closure] in RemoteString>>text
>>>>>>>>           returnValue:    nil
>>>>>>>>           b:      nil
>>>>>>>>   Receiver's instance variables:
>>>>>>>>           outerContext:   RemoteString>>text
>>>>>>>>           startpc:        72
>>>>>>>>           numArgs:        0
>>>>>>>>
>>>>>>>> RemoteString>>text
>>>>>>>>   Receiver: a RemoteString
>>>>>>>>   Arguments and temporary variables:
>>>>>>>>           theFile:        MultiByteFileStream: '/Data/squeak4.0-
>>>>>>>> relicenseTools/
>>>>>>>> history/Pharo0.1C...etc...
>>>>>>>>   Receiver's instance variables:
>>>>>>>>           sourceFileNumber:       2
>>>>>>>>           filePositionHi:         10007336
>>>>>>>>
>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>   Receiver: a CompiledMethod (838)
>>>>>>>>   Arguments and temporary variables:
>>>>>>>>           position:       10007336
>>>>>>>>   Receiver's instance variables:
>>>>>>>> a CompiledMethod (838)
>>>>>>>>
>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>   Receiver: nil
>>>>>>>>   Arguments and temporary variables:
>>>>>>>> <<error during printing>
>>>>>>>>   Receiver's instance variables:
>>>>>>>> nil
>>>>>>>>
>>>>>>>> BlockClosure>>on:do:
>>>>>>>>   Receiver: [closure] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>   Arguments and temporary variables:
>>>>>>>>           exception:      Error
>>>>>>>>           handlerAction:  [closure] in BlockClosure>>ifError:
>>>>>>>>           handlerActive:  false
>>>>>>>>   Receiver's instance variables:
>>>>>>>>           outerContext:   [] in [] in [] in
>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>           startpc:        171
>>>>>>>>           numArgs:        0
>>>>>>>>
>>>>>>>> BlockClosure>>ifError:
>>>>>>>>   Receiver: [closure] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>   Arguments and temporary variables:
>>>>>>>>           errorHandlerBlock:      [closure] in [] in [] in [] in
>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>   Receiver's instance variables:
>>>>>>>>           outerContext:   [] in [] in [] in
>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>           startpc:        171
>>>>>>>>           numArgs:        0
>>>>>>>>
>>>>>>>> [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>   Receiver: nil
>>>>>>>>   Arguments and temporary variables:
>>>>>>>> <<error during printing>
>>>>>>>>   Receiver's instance variables:
>>>>>>>> nil
>>>>>>>>
>>>>>>>> IdentitySet(Set)>>do:
>>>>>>>>   Receiver: an IdentitySet(#name #inheritsFromAnyIn: #asOop
>>>>>>>> #isWebBrowser #storeOnStream: #wantsDroppe...etc...
>>>>>>>>   Arguments and temporary variables:
>>>>>>>>           aBlock:         [closure] in [] in [] in
>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>           index:  394
>>>>>>>>           each:   #doesNotUnderstand:
>>>>>>>>           indexLimiT:     498
>>>>>>>>   Receiver's instance variables:
>>>>>>>>           tally:  373
>>>>>>>>           array:  #(nil nil #name nil #inheritsFromAnyIn:
>>>>>>>> #asOop nil nil
>>>>>>>> #isWebBrowser nil...etc...
>>>>>>>>
>>>>>>>> [] in [] in UndefinedObject>>DoIt
>>>>>>>>   Receiver: nil
>>>>>>>>   Arguments and temporary variables:
>>>>>>>> <<error during printing>
>>>>>>>>   Receiver's instance variables:
>>>>>>>> nil
>>>>>>>>
>>>>>>>> [] in ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>   Receiver: ProtoObject
>>>>>>>>   Arguments and temporary variables:
>>>>>>>>           aBlock:         Object
>>>>>>>>           cl:     [closure] in [] in UndefinedObject>>DoIt
>>>>>>>>   Receiver's instance variables:
>>>>>>>>           superclass:     nil
>>>>>>>>           methodDict:     a MethodDictionary(#'=='->a
>>>>>>>> CompiledMethod (602)
>>>>>>>> #become:->a Compil...etc...
>>>>>>>>           format:         2
>>>>>>>>           instanceVariables:      nil
>>>>>>>>           organization:   ('apply primitives' tryNamedPrimitive
>>>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>>>           subclasses:     {Object . ObjectOut .
>>>>>>>> ImageSegmentRootStub .
>>>>>>>> MessageCatcher . TestC...etc...
>>>>>>>>           name:   #ProtoObject
>>>>>>>>           classPool:      nil
>>>>>>>>           sharedPools:    nil
>>>>>>>>           environment:    nil
>>>>>>>>           category:       #'Kernel-Objects'
>>>>>>>>           traitComposition:       nil
>>>>>>>>           localSelectors:         nil
>>>>>>>>
>>>>>>>> Array(SequenceableCollection)>>do:
>>>>>>>>   Receiver: {Object . ObjectOut . ImageSegmentRootStub .
>>>>>>>> MessageCatcher . TestCoverage}
>>>>>>>>   Arguments and temporary variables:
>>>>>>>>           aBlock:         [closure] in ProtoObject
>>>>>>>> class(Behavior)>>allSubclassesDoGently:
>>>>>>>>           index:  1
>>>>>>>>           indexLimiT:     5
>>>>>>>>   Receiver's instance variables:
>>>>>>>> {Object . ObjectOut . ImageSegmentRootStub . MessageCatcher .
>>>>>>>> TestCoverage}
>>>>>>>>
>>>>>>>> ProtoObject class(Class)>>subclassesDoGently:
>>>>>>>>   Receiver: ProtoObject
>>>>>>>>   Arguments and temporary variables:
>>>>>>>>           aBlock:         [closure] in ProtoObject
>>>>>>>> class(Behavior)>>allSubclassesDoGently:
>>>>>>>>   Receiver's instance variables:
>>>>>>>>           superclass:     nil
>>>>>>>>           methodDict:     a MethodDictionary(#'=='->a
>>>>>>>> CompiledMethod (602)
>>>>>>>> #become:->a Compil...etc...
>>>>>>>>           format:         2
>>>>>>>>           instanceVariables:      nil
>>>>>>>>           organization:   ('apply primitives' tryNamedPrimitive
>>>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>>>           subclasses:     {Object . ObjectOut .
>>>>>>>> ImageSegmentRootStub .
>>>>>>>> MessageCatcher . TestC...etc...
>>>>>>>>           name:   #ProtoObject
>>>>>>>>           classPool:      nil
>>>>>>>>           sharedPools:    nil
>>>>>>>>           environment:    nil
>>>>>>>>           category:       #'Kernel-Objects'
>>>>>>>>           traitComposition:       nil
>>>>>>>>           localSelectors:         nil
>>>>>>>>
>>>>>>>> ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>   Receiver: ProtoObject
>>>>>>>>   Arguments and temporary variables:
>>>>>>>>           aBlock:         [closure] in [] in
>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>   Receiver's instance variables:
>>>>>>>>           superclass:     nil
>>>>>>>>           methodDict:     a MethodDictionary(#'=='->a
>>>>>>>> CompiledMethod (602)
>>>>>>>> #become:->a Compil...etc...
>>>>>>>>           format:         2
>>>>>>>>           instanceVariables:      nil
>>>>>>>>           organization:   ('apply primitives' tryNamedPrimitive
>>>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>>>           subclasses:     {Object . ObjectOut .
>>>>>>>> ImageSegmentRootStub .
>>>>>>>> MessageCatcher . TestC...etc...
>>>>>>>>           name:   #ProtoObject
>>>>>>>>           classPool:      nil
>>>>>>>>           sharedPools:    nil
>>>>>>>>           environment:    nil
>>>>>>>>           category:       #'Kernel-Objects'
>>>>>>>>           traitComposition:       nil
>>>>>>>>           localSelectors:         nil
>>>>>>>>
>>>>>>>> SystemNavigation>>allBehaviorsDo:
>>>>>>>>   Receiver: a SystemNavigation
>>>>>>>>   Arguments and temporary variables:
>>>>>>>>           aBlock:         [closure] in [] in
>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>   Receiver's instance variables:
>>>>>>>>           browserClass:   nil
>>>>>>>>           hierarchyBrowserClass:  nil
>>>>>>>>
>>>>>>>> [] in UndefinedObject>>DoIt
>>>>>>>>   Receiver: nil
>>>>>>>>   Arguments and temporary variables:
>>>>>>>> <<error during printing>
>>>>>>>>   Receiver's instance variables:
>>>>>>>> nil
>>>>>>>>
>>>>>>>> [] in ProgressInitiationException>>defaultAction
>>>>>>>>   Receiver: ProgressInitiationException
>>>>>>>>   Arguments and temporary variables:
>>>>>>>>           progress:       [closure] in
>>>>>>>> SystemProgressMorph>>label:min:max:
>>>>>>>>           result:         #(nil)
>>>>>>>>   Receiver's instance variables:
>>>>>>>>           messageText:    nil
>>>>>>>>           tag:    nil
>>>>>>>>           signalContext:
>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>           handlerContext:         nil
>>>>>>>>           outerContext:   nil
>>>>>>>>           workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>>>           maxVal:         3874
>>>>>>>>           minVal:         0
>>>>>>>>           aPoint:         840@306
>>>>>>>>           progressTitle:  'Searching UTF-8 Problems...'
>>>>>>>>
>>>>>>>> BlockClosure>>ensure:
>>>>>>>>   Receiver: [closure] in
>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>   Arguments and temporary variables:
>>>>>>>>           aBlock:         [closure] in
>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>           returnValue:    nil
>>>>>>>>           b:      nil
>>>>>>>>   Receiver's instance variables:
>>>>>>>>           outerContext:
>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>           startpc:        49
>>>>>>>>           numArgs:        0
>>>>>>>>
>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>   Receiver: ProgressInitiationException
>>>>>>>>   Arguments and temporary variables:
>>>>>>>>           progress:       [closure] in
>>>>>>>> SystemProgressMorph>>label:min:max:
>>>>>>>>           result:         #(nil)
>>>>>>>>   Receiver's instance variables:
>>>>>>>>           messageText:    nil
>>>>>>>>           tag:    nil
>>>>>>>>           signalContext:
>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>           handlerContext:         nil
>>>>>>>>           outerContext:   nil
>>>>>>>>           workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>>>           maxVal:         3874
>>>>>>>>           minVal:         0
>>>>>>>>           aPoint:         840@306
>>>>>>>>           progressTitle:  'Searching UTF-8 Problems...'
>>>>>>>>
>>>>>>>> UndefinedObject>>handleSignal:
>>>>>>>>   Receiver: nil
>>>>>>>>   Arguments and temporary variables:
>>>>>>>>           exception:      ProgressInitiationException
>>>>>>>>   Receiver's instance variables:
>>>>>>>> nil
>>>>>>>>
>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>   Receiver: BlockClosure>>on:do:
>>>>>>>>   Arguments and temporary variables:
>>>>>>>>           exception:      ProgressInitiationException
>>>>>>>>           val:    nil
>>>>>>>>   Receiver's instance variables:
>>>>>>>>           sender:         PasteUpMorph>>becomeActiveDuring:
>>>>>>>>           pc:     17
>>>>>>>>           stackp:         3
>>>>>>>>           method:         a CompiledMethod (2306)
>>>>>>>>           closureOrNil:   nil
>>>>>>>>           receiver:       [closure] in
>>>>>>>> PasteUpMorph>>becomeActiveDuring:
>>>>>>>>
>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>   Receiver: BlockClosure>>on:do:
>>>>>>>>   Arguments and temporary variables:
>>>>>>>>           exception:      ProgressInitiationException
>>>>>>>>           val:    nil
>>>>>>>>   Receiver's instance variables:
>>>>>>>>           sender:
>>>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>           pc:     17
>>>>>>>>           stackp:         3
>>>>>>>>           method:         a CompiledMethod (2306)
>>>>>>>>           closureOrNil:   nil
>>>>>>>>           receiver:       [closure] in
>>>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>
>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>   Receiver: ProgressInitiationException
>>>>>>>>   Arguments and temporary variables:
>>>>>>>>
>>>>>>>>   Receiver's instance variables:
>>>>>>>>           messageText:    nil
>>>>>>>>           tag:    nil
>>>>>>>>           signalContext:
>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>           handlerContext:         nil
>>>>>>>>           outerContext:   nil
>>>>>>>>           workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>>>           maxVal:         3874
>>>>>>>>           minVal:         0
>>>>>>>>           aPoint:         840@306
>>>>>>>>           progressTitle:  'Searching UTF-8 Problems...'
>>>>>>>>
>>>>>>>>
>>>>>>>> --- The full stack ---
>>>>>>>> UndefinedObject(Object)>>doesNotUnderstand: #value:
>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>> [] in BlockClosure>>ifError:
>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>> [] in MethodContext(ContextPart)>>handleSignal:
>>>>>>>> BlockClosure>>ensure:
>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>> Error(Exception)>>signal
>>>>>>>> Error(Exception)>>signal:
>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>> MultiByteFileStream>>next
>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>> [] in RemoteString>>text
>>>>>>>> BlockClosure>>ensure:
>>>>>>>> RemoteString>>text
>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>> BlockClosure>>on:do:
>>>>>>>> BlockClosure>>ifError:
>>>>>>>> [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>> IdentitySet(Set)>>do:
>>>>>>>> [] in [] in UndefinedObject>>DoIt
>>>>>>>> [] in ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>> Array(SequenceableCollection)>>do:
>>>>>>>> ProtoObject class(Class)>>subclassesDoGently:
>>>>>>>> ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>> SystemNavigation>>allBehaviorsDo:
>>>>>>>> [] in UndefinedObject>>DoIt
>>>>>>>> [] in ProgressInitiationException>>defaultAction
>>>>>>>> BlockClosure>>ensure:
>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>> UndefinedObject>>handleSignal:
>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>> - - - - - - - - - - - - - - -
>>>>>>>>                   - - - - - - - - - - - - - - - - - -
>>>>>>>> ProgressInitiationException>>display:at:from:to:during:
>>>>>>>> ProgressInitiationException class>>display:at:from:to:during:
>>>>>>>> ByteString(String)>>displayProgressAt:from:to:during:
>>>>>>>> UndefinedObject>>DoIt
>>>>>>>> Compiler>>evaluate:in:to:notifying:ifFail:logged:
>>>>>>>> [] in TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>> BlockClosure>>on:do:
>>>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>> TextMorphEditor(ParagraphEditor)>>doIt
>>>>>>>> [] in TextMorphEditor(ParagraphEditor)>>doIt:
>>>>>>>> TextMorphEditor(ParagraphEditor)>>terminateAndInitializeAround:
>>>>>>>> TextMorphEditor(ParagraphEditor)>>doIt:
>>>>>>>> TextMorphEditor(ParagraphEditor)>>dispatchOnKeyEvent:with:
>>>>>>>> TextMorphEditor>>dispatchOnKeyEvent:with:
>>>>>>>> TextMorphEditor(ParagraphEditor)>>keystroke:
>>>>>>>> TextMorphEditor>>keystroke:
>>>>>>>> [] in TextMorphForEditView(TextMorph)>>keyStroke:
>>>>>>>> TextMorphForEditView(TextMorph)>>handleInteraction:
>>>>>>>> TextMorphForEditView>>handleInteraction:
>>>>>>>> TextMorphForEditView(TextMorph)>>keyStroke:
>>>>>>>> TextMorphForEditView>>keyStroke:
>>>>>>>> TextMorphForEditView(TextMorph)>>handleKeystroke:
>>>>>>>> KeyboardEvent>>sentTo:
>>>>>>>> TextMorphForEditView(Morph)>>handleEvent:
>>>>>>>> TextMorphForEditView(Morph)>>handleFocusEvent:
>>>>>>>> [] in HandMorph>>sendFocusEvent:to:clear:
>>>>>>>> [] in PasteUpMorph>>becomeActiveDuring:
>>>>>>>> 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
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On May 17, 2009, at 11:13 AM, Nicolas Cellier wrote:
>>>>>>>>
>>>>>>>>> One solution would be to use getSource rather than
>>>>>>>>> getSourceFromFile.
>>>>>>>>> However, with following code I detected no problem in my pharo-
>>>>>>>>> core
>>>>>>>>> copy (10281 updated to 10306)
>>>>>>>>>
>>>>>>>>> | problems total |
>>>>>>>>> problems := OrderedCollection new.
>>>>>>>>> total := 0.
>>>>>>>>> SystemNavigation default allBehaviorsDo: [:cl | total :=
>>>>>>>>> total +
>>>>>>>>> 1].
>>>>>>>>> 'Searching UTF-8 Problems...'
>>>>>>>>>  displayProgressAt: Sensor cursorPoint
>>>>>>>>>  from: 0 to: total
>>>>>>>>>  during:
>>>>>>>>>          [:bar | | count |
>>>>>>>>>          count := 0.
>>>>>>>>>          SystemNavigation default allBehaviorsDo: [:cl |
>>>>>>>>>                  bar value: (count := count + 1).
>>>>>>>>>                  cl selectors do: [:sel |
>>>>>>>>>                          [(cl compiledMethodAt: sel)
>>>>>>>>> getSourceFromFile] ifError: [
>>>>>>>>>                                  var value: 'last problem
>>>>>>>>> found ' , cl name , '>>#' , sel.
>>>>>>>>>                                  problems add: cl->sel]]]].
>>>>>>>>> ^problems
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>>>>>>> yes same here.
>>>>>>>>>>
>>>>>>>>>> On May 17, 2009, at 2:10 AM, Tudor Girba wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi,
>>>>>>>>>>>
>>>>>>>>>>> Recently I encounter a strange error:
>>>>>>>>>>> - I sometimes get a debugger due to some problems in my code
>>>>>>>>>>> - when I try to investigate the trace, I get another debugger
>>>>>>>>>>> saying
>>>>>>>>>>> that "Invalid utf8 input detected'"
>>>>>>>>>>>
>>>>>>>>>>> This second debugger I can investigate, the previous not. It
>>>>>>>>>>> looks
>>>>>>>>>>> like something got messed up with the text conversion of the
>>>>>>>>>>> sources.
>>>>>>>>>>>
>>>>>>>>>>> I am working on 10306 using the 4.1.1b2 VM on Mac. The code
>>>>>>>>>>> I am
>>>>>>>>>>> working on is loaded from squeaksource (Moose, Glamour,
>>>>>>>>>>> Mondrian).
>>>>>>>>>>>
>>>>>>>>>>> Anyone can confirm this problem?
>>>>>>>>>>>
>>>>>>>>>>> Cheers,
>>>>>>>>>>> Doru
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> ----ERROR REPORT----
>>>>>>>>>>>
>>>>>>>>>>> '17 May 2009 2:05:50 am
>>>>>>>>>>>
>>>>>>>>>>> VM: Mac OS - intel - 1056 - Squeak3.8.1 of ''28 Aug
>>>>>>>>>>> 2006'' [latest
>>>>>>>>>>> update: #6747] Squeak VM 4.1.1b2
>>>>>>>>>>> Image: Pharo0.1 [Latest update: #10306]
>>>>>>>>>>>
>>>>>>>>>>> SecurityManager state:
>>>>>>>>>>> Restricted: false
>>>>>>>>>>> FileAccess: true
>>>>>>>>>>> SocketAccess: true
>>>>>>>>>>> Working Dir /Users/girba/Work/Code/squeakingmoose
>>>>>>>>>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>>>>>>>>>>> Untrusted Dir /Users/girba/Library/Preferences/Squeak/
>>>>>>>>>>> Internet/
>>>>>>>>>>> My
>>>>>>>>>>> Squeak
>>>>>>>>>>>
>>>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>         aString:        ''Invalid utf8 input detected''
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>
>>>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>
>>>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>         aStream:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>>>> Work/Code/
>>>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>>>         character1:     $
>>>>>>>>>>>         value1:         160
>>>>>>>>>>>         character2:     Character tab
>>>>>>>>>>>         value2:         9
>>>>>>>>>>>         unicode:        nil
>>>>>>>>>>>         character3:     Character tab
>>>>>>>>>>>         value3:         9
>>>>>>>>>>>         character4:     nil
>>>>>>>>>>>         value4:         nil
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>
>>>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>         char:   nil
>>>>>>>>>>>         secondChar:     nil
>>>>>>>>>>>         state:  nil
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>         terminator:     $!
>>>>>>>>>>>         out:    a WriteStream ''doesNotUnderstand: aMessage
>>>>>>>>>>>  "Handle the fact that there ...etc...
>>>>>>>>>>>         ch:     Character cr
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>         string:         nil
>>>>>>>>>>>         runsRaw:        nil
>>>>>>>>>>>         strm:   nil
>>>>>>>>>>>         runs:   nil
>>>>>>>>>>>         peek:   nil
>>>>>>>>>>>         pos:    nil
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>>> Receiver: a RemoteString
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>         theFile:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>>>> Work/Code/
>>>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>         sourceFileNumber:       2
>>>>>>>>>>>         filePositionHi:         10007336
>>>>>>>>>>>
>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>> Receiver: [closure] in RemoteString>>text
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>         aBlock:         [closure] in RemoteString>>text
>>>>>>>>>>>         returnValue:    nil
>>>>>>>>>>>         b:      nil
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>         outerContext:   RemoteString>>text
>>>>>>>>>>>         startpc:        72
>>>>>>>>>>>         numArgs:        0
>>>>>>>>>>>
>>>>>>>>>>> RemoteString>>text
>>>>>>>>>>> Receiver: a RemoteString
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>         theFile:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>>>> Work/Code/
>>>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>         sourceFileNumber:       2
>>>>>>>>>>>         filePositionHi:         10007336
>>>>>>>>>>>
>>>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>         position:       10007336
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>>
>>>>>>>>>>> CompiledMethod>>methodNode
>>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>         aClass:         Object
>>>>>>>>>>>         source:         nil
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>>
>>>>>>>>>>> [] in DebuggerMethodMap class>>forMethod:
>>>>>>>>>>> Receiver: DebuggerMethodMap
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>         aMethod:        a CompiledMethod (838)
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>         superclass:     Object
>>>>>>>>>>>         methodDict:     a
>>>>>>>>>>> MethodDictionary(#abstractSourceMap-
>>>>>>>>>>>> a CompiledMethod
>>>>>>>>>>> (1628) #for...etc...
>>>>>>>>>>>         format:         140
>>>>>>>>>>>         instanceVariables:      #(''timestamp''
>>>>>>>>>>> ''methodReference''
>>>>>>>>>>> ''methodNode'' ''abstractSource...etc...
>>>>>>>>>>>         organization:   (''initialize-release''
>>>>>>>>>>> forMethod:methodNode:)
>>>>>>>>>>> (''accessing'' markRec...etc...
>>>>>>>>>>>         subclasses:
>>>>>>>>>>> {DebuggerMethodMapForBlueBookMethods .
>>>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>>>         name:   #DebuggerMethodMap
>>>>>>>>>>>         classPool:      a Dictionary(#MapCache->a
>>>>>>>>>>> WeakIdentityKeyDictionary(a
>>>>>>>>>>> CompiledMethod...etc...
>>>>>>>>>>>         sharedPools:    nil
>>>>>>>>>>>         environment:    Smalltalk
>>>>>>>>>>>         category:       #''Tools-Debugger''
>>>>>>>>>>>         traitComposition:       nil
>>>>>>>>>>>         localSelectors:         nil
>>>>>>>>>>>
>>>>>>>>>>> WeakIdentityKeyDictionary(Dictionary)>>at:ifAbsent:
>>>>>>>>>>> Receiver: a WeakIdentityKeyDictionary(a CompiledMethod (126)-
>>>>>>>>>>>> a
>>>>>>>>>>> DebuggerMethodMapForClosureCompiledM...etc...
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>         key:    a CompiledMethod (838)
>>>>>>>>>>>         aBlock:         [closure] in DebuggerMethodMap
>>>>>>>>>>> class>>forMethod:
>>>>>>>>>>>         assoc:  nil
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>         tally:  16
>>>>>>>>>>>         array:  an Array(nil nil a CompiledMethod (2402)->a
>>>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>>>
>>>>>>>>>>> DebuggerMethodMap class>>forMethod:
>>>>>>>>>>> Receiver: DebuggerMethodMap
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>         aMethod:        a CompiledMethod (838)
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>         superclass:     Object
>>>>>>>>>>>         methodDict:     a
>>>>>>>>>>> MethodDictionary(#abstractSourceMap-
>>>>>>>>>>>> a CompiledMethod
>>>>>>>>>>> (1628) #for...etc...
>>>>>>>>>>>         format:         140
>>>>>>>>>>>         instanceVariables:      #(''timestamp''
>>>>>>>>>>> ''methodReference''
>>>>>>>>>>> ''methodNode'' ''abstractSource...etc...
>>>>>>>>>>>         organization:   (''initialize-release''
>>>>>>>>>>> forMethod:methodNode:)
>>>>>>>>>>> (''accessing'' markRec...etc...
>>>>>>>>>>>         subclasses:
>>>>>>>>>>> {DebuggerMethodMapForBlueBookMethods .
>>>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>>>         name:   #DebuggerMethodMap
>>>>>>>>>>>         classPool:      a Dictionary(#MapCache->a
>>>>>>>>>>> WeakIdentityKeyDictionary(a
>>>>>>>>>>> CompiledMethod...etc...
>>>>>>>>>>>         sharedPools:    nil
>>>>>>>>>>>         environment:    Smalltalk
>>>>>>>>>>>         category:       #''Tools-Debugger''
>>>>>>>>>>>         traitComposition:       nil
>>>>>>>>>>>         localSelectors:         nil
>>>>>>>>>>>
>>>>>>>>>>> CompiledMethod>>debuggerMap
>>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>>
>>>>>>>>>>> OTClosureContextNode>>selection
>>>>>>>>>>> Receiver: an OTClosureContextNode
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>         metaNode:       context
>>>>>>>>>>>
>>>>>>>>>>>         navigation:     an OBDefaultEdgeNavigation
>>>>>>>>>>>         process:        a Process in OTToolset
>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>         context:        Model
>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>         parseTree:      nil
>>>>>>>>>>>         sourceMap:      nil
>>>>>>>>>>>         debuggerMap:    nil
>>>>>>>>>>>
>>>>>>>>>>> OTClosureContextNode(OTContextNode)>>definition
>>>>>>>>>>> Receiver: an OTClosureContextNode
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>         metaNode:       context
>>>>>>>>>>>
>>>>>>>>>>>         navigation:     an OBDefaultEdgeNavigation
>>>>>>>>>>>         process:        a Process in OTToolset
>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>         context:        Model
>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>         parseTree:      nil
>>>>>>>>>>>         sourceMap:      nil
>>>>>>>>>>>         debuggerMap:    nil
>>>>>>>>>>>
>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>node:
>>>>>>>>>>> Receiver: an OTDefinitionPanel
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>         aNode:  an OTClosureContextNode
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>         browser:        an OTDebugger
>>>>>>>>>>>         definition:     nil
>>>>>>>>>>>         selection:      nil
>>>>>>>>>>>
>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>selectionChanged:
>>>>>>>>>>> Receiver: an OTDefinitionPanel
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>         ann:    an OBSelectionChanged
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>         browser:        an OTDebugger
>>>>>>>>>>>         definition:     nil
>>>>>>>>>>>         selection:      nil
>>>>>>>>>>>
>>>>>>>>>>> MessageSend>>valueWithArguments:
>>>>>>>>>>> Receiver: MessageSend(#selectionChanged: -> an
>>>>>>>>>>> OTDefinitionPanel)
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>         anArray:        an Array(an OBSelectionChanged)
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>         receiver:       an OTDefinitionPanel
>>>>>>>>>>>         selector:       #selectionChanged:
>>>>>>>>>>>         arguments:      #()
>>>>>>>>>>>
>>>>>>>>>>> [] in ActionSequence>>valueWithArguments:
>>>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>         anArray:        MessageSend(#selectionChanged: -> an
>>>>>>>>>>> OTDefinitionPanel)
>>>>>>>>>>>         answer:         an Array(an OBSelectionChanged)
>>>>>>>>>>>         each:   an Array(an OBFixedButtonPanel)
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>
>>>>>>>>>>> ActionSequence(SequenceableCollection)>>do:
>>>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>         aBlock:         [closure] in
>>>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>>>>         index:  4
>>>>>>>>>>>         indexLimiT:     6
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>
>>>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>         anArray:        an Array(an OBSelectionChanged)
>>>>>>>>>>>         answer:         an Array(an OBFixedButtonPanel)
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>
>>>>>>>>>>> [] in OBAnnouncer>>announce:
>>>>>>>>>>> Receiver: an OBAnnouncer
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>> <<error during printing>
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>         subscriptions:  an
>>>>>>>>>>> IdentityDictionary(OBAboutToChange-
>>>>>>>>>>>> an
>>>>>>>>>>> ActionSequence(Message...etc...
>>>>>>>>>>>
>>>>>>>>>>> [] in IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>         aBlock:         OBSelectionChanged-
>>>>>>>>>>>> #(MessageSend(#relabel: -> an
>>>>>>>>>>> OTDebugger)
>>>>>>>>>>> MessageSe...etc...
>>>>>>>>>>>         assoc:  [closure] in OBAnnouncer>>announce:
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>         tally:  12
>>>>>>>>>>>         array:  {OBNodeCreated->an
>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>
>>>>>>>>>>> IdentityDictionary(Set)>>do:
>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>         aBlock:         [closure] in
>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>         index:  6
>>>>>>>>>>>         each:   OBSelectionChanged->#(MessageSend(#relabel: -
>>>>>>>>>>>> an OTDebugger)
>>>>>>>>>>> MessageSend...etc...
>>>>>>>>>>>         indexLimiT:     20
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>         tally:  12
>>>>>>>>>>>         array:  {OBNodeCreated->an
>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>
>>>>>>>>>>> IdentityDictionary(Dictionary)>>associationsDo:
>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>         aBlock:         [closure] in
>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>         tally:  12
>>>>>>>>>>>         array:  {OBNodeCreated->an
>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>
>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>         aBlock:         [closure] in OBAnnouncer>>announce:
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>         tally:  12
>>>>>>>>>>>         array:  {OBNodeCreated->an
>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>
>>>>>>>>>>> OBAnnouncer>>announce:
>>>>>>>>>>> Receiver: an OBAnnouncer
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>         anObject:       an OBSelectionChanged
>>>>>>>>>>>         ann:    an OBSelectionChanged
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>         subscriptions:  an
>>>>>>>>>>> IdentityDictionary(OBAboutToChange-
>>>>>>>>>>>> an
>>>>>>>>>>> ActionSequence(Message...etc...
>>>>>>>>>>>
>>>>>>>>>>> OBColumnPanel>>jumpTo:
>>>>>>>>>>> Receiver: an OBColumnPanel
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>         aNode:  an OTClosureContextNode
>>>>>>>>>>>         column:         an OBColumn(Model
>>>>>>>>>>> class(Object)>>doesNotUnderstand:
>>>>>>>>>>> #fullName)
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>         browser:        an OTDebugger
>>>>>>>>>>>         root:   an OTProcessNode
>>>>>>>>>>>         current:        an OTClosureContextNode
>>>>>>>>>>>         columns:        an OrderedCollection(an
>>>>>>>>>>> OBColumn(Model
>>>>>>>>>>> class(Object)>>doesNotUnderstan...etc...
>>>>>>>>>>>         minPanes:       1
>>>>>>>>>>>         maxPanes:       1
>>>>>>>>>>>
>>>>>>>>>>> OTDebugger(OBBrowser)>>jumpTo:
>>>>>>>>>>> Receiver: an OTDebugger
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>         aNode:  an OTClosureContextNode
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>         panels:         an OrderedCollection(an OBColumnPanel
>>>>>>>>>>> an OBFixedButtonPanel
>>>>>>>>>>> an OTDefini...etc...
>>>>>>>>>>>         announcer:      an OBAnnouncer
>>>>>>>>>>>         cmdFactories:   an Array(OTCmdProceedDebugger
>>>>>>>>>>> OTCmdIntoDebugger
>>>>>>>>>>> OTCmdThroughDebug...etc...
>>>>>>>>>>>
>>>>>>>>>>> OTDebugger class(OBBrowser
>>>>>>>>>>> class)>>metaNode:root:selection:panels:
>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>         metaNode:       process
>>>>>>>>>>> #longStack->context
>>>>>>>>>>>
>>>>>>>>>>>         rootNode:       an OTProcessNode
>>>>>>>>>>>         selectedNode:   an OTClosureContextNode
>>>>>>>>>>>         panels:         an Array(an OBColumnPanel an
>>>>>>>>>>> OBFixedButtonPanel an
>>>>>>>>>>> OTDefinitionPanel an...etc...
>>>>>>>>>>>         browser:        an OTDebugger
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>         superclass:     OBBrowser
>>>>>>>>>>>         methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>         format:         136
>>>>>>>>>>>         instanceVariables:      nil
>>>>>>>>>>>         organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>> cmdInspector)
>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>         subclasses:     nil
>>>>>>>>>>>         name:   #OTDebugger
>>>>>>>>>>>         classPool:      nil
>>>>>>>>>>>         sharedPools:    nil
>>>>>>>>>>>         environment:    Smalltalk
>>>>>>>>>>>         category:       #''OB-Tools-Debugger''
>>>>>>>>>>>         traitComposition:       nil
>>>>>>>>>>>         localSelectors:         nil
>>>>>>>>>>>
>>>>>>>>>>> OTDebugger class(OBBrowser class)>>root:selection:
>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>         rootNode:       an OTProcessNode
>>>>>>>>>>>         selectedNode:   an OTClosureContextNode
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>         superclass:     OBBrowser
>>>>>>>>>>>         methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>         format:         136
>>>>>>>>>>>         instanceVariables:      nil
>>>>>>>>>>>         organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>> cmdInspector)
>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>         subclasses:     nil
>>>>>>>>>>>         name:   #OTDebugger
>>>>>>>>>>>         classPool:      nil
>>>>>>>>>>>         sharedPools:    nil
>>>>>>>>>>>         environment:    Smalltalk
>>>>>>>>>>>         category:       #''OB-Tools-Debugger''
>>>>>>>>>>>         traitComposition:       nil
>>>>>>>>>>>         localSelectors:         nil
>>>>>>>>>>>
>>>>>>>>>>> OTDebugger class>>process:context:errorWasInUIProcess:
>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>         aProcess:       a Process in OTToolset
>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>         aContext:       Model
>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>         aBool:  true
>>>>>>>>>>>         processNode:    an OTProcessNode
>>>>>>>>>>>         contextNode:    an OTClosureContextNode
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>         superclass:     OBBrowser
>>>>>>>>>>>         methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>         format:         136
>>>>>>>>>>>         instanceVariables:      nil
>>>>>>>>>>>         organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>> cmdInspector)
>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>         subclasses:     nil
>>>>>>>>>>>         name:   #OTDebugger
>>>>>>>>>>>         classPool:      nil
>>>>>>>>>>>         sharedPools:    nil
>>>>>>>>>>>         environment:    Smalltalk
>>>>>>>>>>>         category:       #''OB-Tools-Debugger''
>>>>>>>>>>>         traitComposition:       nil
>>>>>>>>>>>         localSelectors:         nil
>>>>>>>>>>>
>>>>>>>>>>> OTDebugger class>>process:context:label:errorWasInUIProcess:
>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>         aProcess:       a Process in OTToolset
>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>         aContext:       Model
>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>         aString:        ''MessageNotUnderstood: Model
>>>>>>>>>>> class>>fullName''
>>>>>>>>>>>         aBool:  true
>>>>>>>>>>>         debugger:       nil
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>         superclass:     OBBrowser
>>>>>>>>>>>         methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>         format:         136
>>>>>>>>>>>         instanceVariables:      nil
>>>>>>>>>>>         organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>> cmdInspector)
>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>         subclasses:     nil
>>>>>>>>>>>         name:   #OTDebugger
>>>>>>>>>>>         classPool:      nil
>>>>>>>>>>>         sharedPools:    nil
>>>>>>>>>>>         environment:    Smalltalk
>>>>>>>>>>>         category:       #''OB-Tools-Debugger''
>>>>>>>>>>>         traitComposition:       nil
>>>>>>>>>>>         localSelectors:         nil
>>>>>>>>>>>
>>>>>>>>>>> OTDebugger
>>>>>>>>>>> class>>openProcess:context:label:errorWasInUIProcess:
>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>         aProcess:       a Process in OTToolset
>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>         aContext:       Model
>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>         aString:        ''MessageNotUnderstood: Model
>>>>>>>>>>> class>>fullName''
>>>>>>>>>>>         aBool:  true
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>         superclass:     OBBrowser
>>>>>>>>>>>         methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>         format:         136
>>>>>>>>>>>         instanceVariables:      nil
>>>>>>>>>>>         organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>> cmdInspector)
>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>         subclasses:     nil
>>>>>>>>>>>         name:   #OTDebugger
>>>>>>>>>>>         classPool:      nil
>>>>>>>>>>>         sharedPools:    nil
>>>>>>>>>>>         environment:    Smalltalk
>>>>>>>>>>>         category:       #''OB-Tools-Debugger''
>>>>>>>>>>>         traitComposition:       nil
>>>>>>>>>>>         localSelectors:         nil
>>>>>>>>>>>
>>>>>>>>>>> [] in OTPreDebugNode>>debug:
>>>>>>>>>>> Receiver: an OTPreDebugNode
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>         aRequestor:     an OTPreDebugPanel
>>>>>>>>>>>         proc:   a Process in OTToolset
>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>         metaNode:       Predebug
>>>>>>>>>>>
>>>>>>>>>>>         navigation:     nil
>>>>>>>>>>>         errorWasInUI:   true
>>>>>>>>>>>         process:        nil
>>>>>>>>>>>         context:        Model
>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>         label:  ''MessageNotUnderstood: Model
>>>>>>>>>>> class>>fullName''
>>>>>>>>>>>         contents:       ''Model
>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>> UtilitiesTest>>tes...etc...
>>>>>>>>>>>         debugOnMouseClick:      true
>>>>>>>>>>>
>>>>>>>>>>> WorldState>>runStepMethodsIn:
>>>>>>>>>>> Receiver: a WorldState
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>         aWorld:         a PasteUpMorph(1622) [world]
>>>>>>>>>>>         queue:  a SharedQueue
>>>>>>>>>>>         numItems:       1
>>>>>>>>>>>         i:      0
>>>>>>>>>>>         limit:  200
>>>>>>>>>>>         stamp:  12765762
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>         hands:  an Array(a HandMorph(3216))
>>>>>>>>>>>         viewBox:        0@0 corner: 1440@807
>>>>>>>>>>>         canvas:         a FormCanvas on:
>>>>>>>>>>> DisplayScreen(1440x807x32)
>>>>>>>>>>>         damageRecorder:         a DamageRecorder
>>>>>>>>>>>         stepList:       a Heap(StepMessage(#stepAt: -> a
>>>>>>>>>>> SystemWindow(3380))(a
>>>>>>>>>>> SystemWindow(3...etc...
>>>>>>>>>>>         lastStepTime:   12791780
>>>>>>>>>>>         lastStepMessage:        nil
>>>>>>>>>>>         lastCycleTime:  12791800
>>>>>>>>>>>         commandHistory:         a CommandHistory
>>>>>>>>>>>         alarms:         a Heap()
>>>>>>>>>>>         lastAlarmTime:  12791780
>>>>>>>>>>>
>>>>>>>>>>> PasteUpMorph>>runStepMethods
>>>>>>>>>>> Receiver: a PasteUpMorph(1622) [world]
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>
>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>         bounds:         0@0 corner: 1440@807
>>>>>>>>>>>         owner:  nil
>>>>>>>>>>>         submorphs:      an Array(a TaskbarMorph(3095) a
>>>>>>>>>>> SystemWindow(171) a
>>>>>>>>>>> PluggableStandar...etc...
>>>>>>>>>>>         fullBounds:     nil
>>>>>>>>>>>         color:  (Color r: 0.972 g: 0.972 b: 0.976)
>>>>>>>>>>>         extension:      a MorphExtension (2543) [eventHandler
>>>>>>>>>>> = an
>>>>>>>>>>> EventHandler]  [other:  (...etc...
>>>>>>>>>>>         borderWidth:    0
>>>>>>>>>>>         borderColor:    (Color r: 0.03 g: 0.02 b: 0.0)
>>>>>>>>>>>         presenter:      a Presenter (1246)
>>>>>>>>>>>         model:  a MorphicModel(1926)
>>>>>>>>>>>         cursor:         1
>>>>>>>>>>>         padding:        3
>>>>>>>>>>>         backgroundMorph:        nil
>>>>>>>>>>>         isPartsBin:     nil
>>>>>>>>>>>         autoLineLayout:         false
>>>>>>>>>>>         indicateCursor:         nil
>>>>>>>>>>>         resizeToFit:    nil
>>>>>>>>>>>         wantsMouseOverHalos:    nil
>>>>>>>>>>>         worldState:     a WorldState
>>>>>>>>>>>         griddingOn:     nil
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --- The full stack ---
>>>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>> RemoteString>>text
>>>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>>> CompiledMethod>>methodNode
>>>>>>>>>>> [] in DebuggerMethodMap class>>forMethod:
>>>>>>>>>>> WeakIdentityKeyDictionary(Dictionary)>>at:ifAbsent:
>>>>>>>>>>> DebuggerMethodMap class>>forMethod:
>>>>>>>>>>> CompiledMethod>>debuggerMap
>>>>>>>>>>> OTClosureContextNode>>selection
>>>>>>>>>>> OTClosureContextNode(OTContextNode)>>definition
>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>node:
>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>selectionChanged:
>>>>>>>>>>> MessageSend>>valueWithArguments:
>>>>>>>>>>> [] in ActionSequence>>valueWithArguments:
>>>>>>>>>>> ActionSequence(SequenceableCollection)>>do:
>>>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>>>> [] in OBAnnouncer>>announce:
>>>>>>>>>>> [] in IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>> IdentityDictionary(Set)>>do:
>>>>>>>>>>> IdentityDictionary(Dictionary)>>associationsDo:
>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>> OBAnnouncer>>announce:
>>>>>>>>>>> OBColumnPanel>>jumpTo:
>>>>>>>>>>> OTDebugger(OBBrowser)>>jumpTo:
>>>>>>>>>>> OTDebugger class(OBBrowser
>>>>>>>>>>> class)>>metaNode:root:selection:panels:
>>>>>>>>>>> OTDebugger class(OBBrowser class)>>root:selection:
>>>>>>>>>>> OTDebugger class>>process:context:errorWasInUIProcess:
>>>>>>>>>>> OTDebugger class>>process:context:label:errorWasInUIProcess:
>>>>>>>>>>> OTDebugger
>>>>>>>>>>> class>>openProcess:context:label:errorWasInUIProcess:
>>>>>>>>>>> [] in OTPreDebugNode>>debug:
>>>>>>>>>>> WorldState>>runStepMethodsIn:
>>>>>>>>>>> PasteUpMorph>>runStepMethods
>>>>>>>>>>> - - - - - - - - - - - - - - -
>>>>>>>>>>>                 - - - - - - - - - - - - - - - - - -
>>>>>>>>>>> WorldState>>doOneCycleNowFor:
>>>>>>>>>>> WorldState>>doOneCycleFor:
>>>>>>>>>>> PasteUpMorph>>doOneCycle
>>>>>>>>>>> [] in Project class>>spawnNewProcess
>>>>>>>>>>> [] in BlockClosure>>newProcess
>>>>>>>>>>> '
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> www.tudorgirba.com
>>>>>>>>>>>
>>>>>>>>>>> "To lead is not to demand things, it is to make them happen."
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>>> [hidden email]
>>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>>>>>>> project
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>> [hidden email]
>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Pharo-project mailing list
>>>>>>>>> [hidden email]
>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>>>>> project
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Pharo-project mailing list
>>>>>>>> [hidden email]
>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Pharo-project mailing list
>>>>>>> [hidden email]
>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Pharo-project mailing list
>>>>>> [hidden email]
>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>> project
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Pharo-project mailing list
>>>>> [hidden email]
>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>
>>>>
>>>> --
>>>> www.tudorgirba.com
>>>>
>>>> "It's not how it is, it is how we see it."
>>>>
>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> [hidden email]
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>
>>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: invalid utf8 input detected

Tudor Girba-3
Hi,

Could we not solve this for the couple of offending methods for the  
moment? Having a problem in Object>>doesNotUnderstand: makes the whole  
debugging a pain because I can actually not debug such a case.

Cheers,
Doru


On 19 May 2009, at 22:03, Nicolas Cellier wrote:

> I opened http://code.google.com/p/pharo/issues/detail?id=830
>
> I think other UTF-8 issues are different:
> Two for FileBrowser :
>    http://code.google.com/p/pharo/issues/detail?id=370
>    http://code.google.com/p/pharo/issues/detail?id=513
> One about VM crash :
>    http://code.google.com/p/pharo/issues/detail?id=744
>
> Nicolas
>
> 2009/5/19 Stéphane Ducasse <[hidden email]>:
>> thanks for making progress on this front.
>>
>> On May 19, 2009, at 6:40 PM, Nicolas Cellier wrote:
>>
>>>> From what I see in a 10304, all these methods had a non ASCII
>>> character in comment:
>>>
>>> {Object>>#doesNotUnderstand:.
>>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>>> Utilities class>>#changeStampPerSe.
>>> Utilities class>>#methodsWithInitials:} collect: [:e | (e
>>> getSourceFromFile select: [:s | s charCode > 127]) asArray collect:
>>> [:c | c charCode]]
>>> #(#(160 160) #(172 143 172 143) #(183) #(246))
>>> That is:
>>>
>>> an Array(a Text for '  ' a Text for '¬∂¬∂' a Text for '·' a
>>> Text for 'ö')
>>> First are non breaking space.
>>> Last but ones are not rendered same in Squeak.
>>>
>>> These four methods are changed in:
>>> - Kernel-stephane_ducasse.renggli.319.mcz
>>> - System-Support-stephane_ducasse.20.mcz
>>> If I merge 10305 manually, I get some decompiled code in the merge
>>> window.
>>> So there might be a problem already either in Monticello or in
>>> the .mcz.
>>> After the merge, there is decomipled code in the changes and no  
>>> error
>>> when executing above code.
>>>
>>> If I load instead of merging, then I also get the decompiled code in
>>> the change log, so I can't reproduce completely the faulty behavior
>>> (having an invalid utf-8 notifier), maybe because the process is no
>>> the same when there are conflicts...
>>>
>>> If I extract .mcz contents, I can read contents from FileBrowser.  
>>> But
>>> it does not use an UTF-8 encoding...
>>> I can't say if the encoding is macRoman or ISO8859L1 or CP1252 or
>>> what, but what I can say is that the source.st is not UTF-8 encoded.
>>>
>>> So without searching further I guess here lies the problems:  
>>> transfer
>>> of raw bytes from non UTF-8 .mcz/source.st to the UTF-8 .changes
>>> change-log...
>>>
>>> Every time we'll modify a method with a Character code > 127, we  
>>> will
>>> likely create an invalid UTF-8 bug or get some decompiled code, or
>>> corrupt source code in extreme case...
>>>
>>> Could the Monticello / UTF-8 experts confirm my guess ?
>>>
>>> Nicolas
>>>
>>> 2009/5/17 Nicolas Cellier <[hidden email]>:
>>>> OK,
>>>>
>>>> {Object>>#doesNotUnderstand:.
>>>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>>>> Utilities class>>#changeStampPerSe.
>>>> Utilities class>>#methodsWithInitials:} collect: [:e | e
>>>> getSourceFromFile].
>>>>
>>>> does not fail for me, BUT all these sources look like
>>>> decompileString.
>>>> I guess this is dating from the condenseChanges that occured in
>>>> #update10298
>>>> Change log prior to this update should have the problem.
>>>>
>>>> Nicolas
>>>>
>>>> 2009/5/17 Tudor Girba <[hidden email]>:
>>>>> Hi,
>>>>>
>>>>> I ran the snippet you sent on both 304cl and 306cl and I get the
>>>>> following list:
>>>>>
>>>>> Object->#doesNotUnderstand:
>>>>> SystemNavigation->#browseMethodsWhoseNamesContain:
>>>>> Utilities class->#changeStampPerSe
>>>>> Utilities class->#methodsWithInitials:
>>>>>
>>>>> Indeed, most of the annoyances are due to the
>>>>> Object>>doesNotUnderstand: because when I get a DNU I am stuck
>>>>> (and I
>>>>> feel like in Java :)).
>>>>>
>>>>> I am not sure I understand if there is a fix to the problem.
>>>>>
>>>>> Cheers,
>>>>> Doru
>>>>>
>>>>>
>>>>>
>>>>> On 17 May 2009, at 12:06, Nicolas Cellier wrote:
>>>>>
>>>>>> There's something weird... If you hit var (UndefinedObject)
>>>>>> doesNotUnderstand: #value: that means there were a problem the
>>>>>> first
>>>>>> time.
>>>>>>
>>>>>> Unfortunately, due to bug in MethodContext tempNames, we don't  
>>>>>> know
>>>>>> the class and selector guilty.
>>>>>> From the set of selectors I can see this is Object.
>>>>>> From the source file position, I cannot say anything because I do
>>>>>> not
>>>>>> have same change log history (sorry, own image).
>>>>>>
>>>>>> You could try
>>>>>> (SourceFiles at: 2) readOnlyCopy position: 10007336; nextChunk
>>>>>>
>>>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>>>> sorry for not checking either.
>>>>>>> When I run this code I indeed do not have a problem on 10306cl
>>>>>>>
>>>>>>> stef
>>>>>>>
>>>>>>> On May 17, 2009, at 11:36 AM, Nicolas Cellier wrote:
>>>>>>>
>>>>>>>> Sure, a key stroke error, it's bar value:, not var value:,
>>>>>>>> This @!* workspace takes it as global without a warning....
>>>>>>>>
>>>>>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>>>>>> Nicolas
>>>>>>>>>
>>>>>>>>> when I run your script on the license looking for image
>>>>>>>>> I got using 10306cl
>>>>>>>>>
>>>>>>>>> I get the following error:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> VM: Mac OS - intel - 1056 - Squeak3.8.1 of '28 Aug  
>>>>>>>>> 2006' [latest
>>>>>>>>> update: #6747] Squeak VM 4.1.1b2
>>>>>>>>> Image: Pharo0.1 [Latest update: #10306]
>>>>>>>>>
>>>>>>>>> SecurityManager state:
>>>>>>>>> Restricted: false
>>>>>>>>> FileAccess: true
>>>>>>>>> SocketAccess: true
>>>>>>>>> Working Dir /Data/squeak4.0-relicenseTools/history
>>>>>>>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>>>>>>>>> Untrusted Dir /Users/ducasse/Library/Preferences/Squeak/
>>>>>>>>> Internet/My
>>>>>>>>> Squeak
>>>>>>>>>
>>>>>>>>> UndefinedObject(Object)>>doesNotUnderstand: #value:
>>>>>>>>>  Receiver: nil
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>> <<error during printing>
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> nil
>>>>>>>>>
>>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>  Receiver: nil
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>> <<error during printing>
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> nil
>>>>>>>>>
>>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>>  Receiver: [closure] in [] in [] in [] in  
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          anArray:        an Array('Error: Invalid utf8 input
>>>>>>>>> detected' an
>>>>>>>>> UTF8TextConverter)
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          outerContext:   [] in [] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>          startpc:        183
>>>>>>>>>          numArgs:        0
>>>>>>>>>
>>>>>>>>> [] in BlockClosure>>ifError:
>>>>>>>>>  Receiver: [closure] in [] in [] in [] in  
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          errorHandlerBlock:      Error: Invalid utf8 input
>>>>>>>>> detected
>>>>>>>>>          ex:     [closure] in [] in [] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          outerContext:   [] in [] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>          startpc:        171
>>>>>>>>>          numArgs:        0
>>>>>>>>>
>>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>>  Receiver: [closure] in BlockClosure>>ifError:
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          anArray:        an Array(Error: Invalid utf8 input
>>>>>>>>> detected)
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          outerContext:   BlockClosure>>ifError:
>>>>>>>>>          startpc:        40
>>>>>>>>>          numArgs:        1
>>>>>>>>>
>>>>>>>>> [] in MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>  Receiver: BlockClosure>>on:do:
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>> <<error during printing>
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          sender:         BlockClosure>>ifError:
>>>>>>>>>          pc:     17
>>>>>>>>>          stackp:         3
>>>>>>>>>          method:         a CompiledMethod (2306)
>>>>>>>>>          closureOrNil:   nil
>>>>>>>>>          receiver:       [closure] in [] in [] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>
>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>  Receiver: [closure] in
>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          aBlock:         [closure] in
>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>          returnValue:    nil
>>>>>>>>>          b:      nil
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          outerContext:
>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>          startpc:        90
>>>>>>>>>          numArgs:        0
>>>>>>>>>
>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>  Receiver: BlockClosure>>on:do:
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          exception:      Error: Invalid utf8 input detected
>>>>>>>>>          val:    nil
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          sender:         BlockClosure>>ifError:
>>>>>>>>>          pc:     17
>>>>>>>>>          stackp:         3
>>>>>>>>>          method:         a CompiledMethod (2306)
>>>>>>>>>          closureOrNil:   nil
>>>>>>>>>          receiver:       [closure] in [] in [] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>
>>>>>>>>> Error(Exception)>>signal
>>>>>>>>>  Receiver: Error: Invalid utf8 input detected
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          messageText:    'Invalid utf8 input detected'
>>>>>>>>>          tag:    nil
>>>>>>>>>          signalContext:  Error(Exception)>>signal
>>>>>>>>>          handlerContext:         BlockClosure>>on:do:
>>>>>>>>>          outerContext:   nil
>>>>>>>>>
>>>>>>>>> Error(Exception)>>signal:
>>>>>>>>>  Receiver: Error: Invalid utf8 input detected
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          signalerText:   'Invalid utf8 input detected'
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          messageText:    'Invalid utf8 input detected'
>>>>>>>>>          tag:    nil
>>>>>>>>>          signalContext:  Error(Exception)>>signal
>>>>>>>>>          handlerContext:         BlockClosure>>on:do:
>>>>>>>>>          outerContext:   nil
>>>>>>>>>
>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>  Receiver: an UTF8TextConverter
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          aString:        'Invalid utf8 input detected'
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> an UTF8TextConverter
>>>>>>>>>
>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>  Receiver: an UTF8TextConverter
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> an UTF8TextConverter
>>>>>>>>>
>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>  Receiver: an UTF8TextConverter
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          aStream:        MultiByteFileStream: '/Data/
>>>>>>>>> squeak4.0-
>>>>>>>>> relicenseTools/
>>>>>>>>> history/Pharo0.1C...etc...
>>>>>>>>>          character1:     $
>>>>>>>>>          value1:         160
>>>>>>>>>          character2:     Character tab
>>>>>>>>>          value2:         9
>>>>>>>>>          unicode:        nil
>>>>>>>>>          character3:     Character tab
>>>>>>>>>          value3:         9
>>>>>>>>>          character4:     nil
>>>>>>>>>          value4:         nil
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> an UTF8TextConverter
>>>>>>>>>
>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>  Receiver: MultiByteFileStream: '/Data/squeak4.0-
>>>>>>>>> relicenseTools/
>>>>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          char:   nil
>>>>>>>>>          secondChar:     nil
>>>>>>>>>          state:  nil
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>  Receiver: MultiByteFileStream: '/Data/squeak4.0-
>>>>>>>>> relicenseTools/
>>>>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          terminator:     $!
>>>>>>>>>          out:    a WriteStream 'doesNotUnderstand: aMessage
>>>>>>>>>   "Handle the fact that there ...etc...
>>>>>>>>>          ch:     Character cr
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>  Receiver: MultiByteFileStream: '/Data/squeak4.0-
>>>>>>>>> relicenseTools/
>>>>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          string:         nil
>>>>>>>>>          runsRaw:        nil
>>>>>>>>>          strm:   nil
>>>>>>>>>          runs:   nil
>>>>>>>>>          peek:   nil
>>>>>>>>>          pos:    nil
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>  Receiver: a RemoteString
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          theFile:        MultiByteFileStream: '/Data/
>>>>>>>>> squeak4.0-
>>>>>>>>> relicenseTools/
>>>>>>>>> history/Pharo0.1C...etc...
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          sourceFileNumber:       2
>>>>>>>>>          filePositionHi:         10007336
>>>>>>>>>
>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>  Receiver: [closure] in RemoteString>>text
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          aBlock:         [closure] in RemoteString>>text
>>>>>>>>>          returnValue:    nil
>>>>>>>>>          b:      nil
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          outerContext:   RemoteString>>text
>>>>>>>>>          startpc:        72
>>>>>>>>>          numArgs:        0
>>>>>>>>>
>>>>>>>>> RemoteString>>text
>>>>>>>>>  Receiver: a RemoteString
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          theFile:        MultiByteFileStream: '/Data/
>>>>>>>>> squeak4.0-
>>>>>>>>> relicenseTools/
>>>>>>>>> history/Pharo0.1C...etc...
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          sourceFileNumber:       2
>>>>>>>>>          filePositionHi:         10007336
>>>>>>>>>
>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>  Receiver: a CompiledMethod (838)
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          position:       10007336
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>
>>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>  Receiver: nil
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>> <<error during printing>
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> nil
>>>>>>>>>
>>>>>>>>> BlockClosure>>on:do:
>>>>>>>>>  Receiver: [closure] in [] in [] in [] in  
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          exception:      Error
>>>>>>>>>          handlerAction:  [closure] in BlockClosure>>ifError:
>>>>>>>>>          handlerActive:  false
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          outerContext:   [] in [] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>          startpc:        171
>>>>>>>>>          numArgs:        0
>>>>>>>>>
>>>>>>>>> BlockClosure>>ifError:
>>>>>>>>>  Receiver: [closure] in [] in [] in [] in  
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          errorHandlerBlock:      [closure] in [] in [] in []  
>>>>>>>>> in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          outerContext:   [] in [] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>          startpc:        171
>>>>>>>>>          numArgs:        0
>>>>>>>>>
>>>>>>>>> [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>  Receiver: nil
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>> <<error during printing>
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> nil
>>>>>>>>>
>>>>>>>>> IdentitySet(Set)>>do:
>>>>>>>>>  Receiver: an IdentitySet(#name #inheritsFromAnyIn: #asOop
>>>>>>>>> #isWebBrowser #storeOnStream: #wantsDroppe...etc...
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          aBlock:         [closure] in [] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>          index:  394
>>>>>>>>>          each:   #doesNotUnderstand:
>>>>>>>>>          indexLimiT:     498
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          tally:  373
>>>>>>>>>          array:  #(nil nil #name nil #inheritsFromAnyIn:
>>>>>>>>> #asOop nil nil
>>>>>>>>> #isWebBrowser nil...etc...
>>>>>>>>>
>>>>>>>>> [] in [] in UndefinedObject>>DoIt
>>>>>>>>>  Receiver: nil
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>> <<error during printing>
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> nil
>>>>>>>>>
>>>>>>>>> [] in ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>  Receiver: ProtoObject
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          aBlock:         Object
>>>>>>>>>          cl:     [closure] in [] in UndefinedObject>>DoIt
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          superclass:     nil
>>>>>>>>>          methodDict:     a MethodDictionary(#'=='->a
>>>>>>>>> CompiledMethod (602)
>>>>>>>>> #become:->a Compil...etc...
>>>>>>>>>          format:         2
>>>>>>>>>          instanceVariables:      nil
>>>>>>>>>          organization:   ('apply primitives' tryNamedPrimitive
>>>>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>>>>          subclasses:     {Object . ObjectOut .
>>>>>>>>> ImageSegmentRootStub .
>>>>>>>>> MessageCatcher . TestC...etc...
>>>>>>>>>          name:   #ProtoObject
>>>>>>>>>          classPool:      nil
>>>>>>>>>          sharedPools:    nil
>>>>>>>>>          environment:    nil
>>>>>>>>>          category:       #'Kernel-Objects'
>>>>>>>>>          traitComposition:       nil
>>>>>>>>>          localSelectors:         nil
>>>>>>>>>
>>>>>>>>> Array(SequenceableCollection)>>do:
>>>>>>>>>  Receiver: {Object . ObjectOut . ImageSegmentRootStub .
>>>>>>>>> MessageCatcher . TestCoverage}
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          aBlock:         [closure] in ProtoObject
>>>>>>>>> class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>          index:  1
>>>>>>>>>          indexLimiT:     5
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> {Object . ObjectOut . ImageSegmentRootStub . MessageCatcher .
>>>>>>>>> TestCoverage}
>>>>>>>>>
>>>>>>>>> ProtoObject class(Class)>>subclassesDoGently:
>>>>>>>>>  Receiver: ProtoObject
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          aBlock:         [closure] in ProtoObject
>>>>>>>>> class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          superclass:     nil
>>>>>>>>>          methodDict:     a MethodDictionary(#'=='->a
>>>>>>>>> CompiledMethod (602)
>>>>>>>>> #become:->a Compil...etc...
>>>>>>>>>          format:         2
>>>>>>>>>          instanceVariables:      nil
>>>>>>>>>          organization:   ('apply primitives' tryNamedPrimitive
>>>>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>>>>          subclasses:     {Object . ObjectOut .
>>>>>>>>> ImageSegmentRootStub .
>>>>>>>>> MessageCatcher . TestC...etc...
>>>>>>>>>          name:   #ProtoObject
>>>>>>>>>          classPool:      nil
>>>>>>>>>          sharedPools:    nil
>>>>>>>>>          environment:    nil
>>>>>>>>>          category:       #'Kernel-Objects'
>>>>>>>>>          traitComposition:       nil
>>>>>>>>>          localSelectors:         nil
>>>>>>>>>
>>>>>>>>> ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>  Receiver: ProtoObject
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          aBlock:         [closure] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          superclass:     nil
>>>>>>>>>          methodDict:     a MethodDictionary(#'=='->a
>>>>>>>>> CompiledMethod (602)
>>>>>>>>> #become:->a Compil...etc...
>>>>>>>>>          format:         2
>>>>>>>>>          instanceVariables:      nil
>>>>>>>>>          organization:   ('apply primitives' tryNamedPrimitive
>>>>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>>>>          subclasses:     {Object . ObjectOut .
>>>>>>>>> ImageSegmentRootStub .
>>>>>>>>> MessageCatcher . TestC...etc...
>>>>>>>>>          name:   #ProtoObject
>>>>>>>>>          classPool:      nil
>>>>>>>>>          sharedPools:    nil
>>>>>>>>>          environment:    nil
>>>>>>>>>          category:       #'Kernel-Objects'
>>>>>>>>>          traitComposition:       nil
>>>>>>>>>          localSelectors:         nil
>>>>>>>>>
>>>>>>>>> SystemNavigation>>allBehaviorsDo:
>>>>>>>>>  Receiver: a SystemNavigation
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          aBlock:         [closure] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          browserClass:   nil
>>>>>>>>>          hierarchyBrowserClass:  nil
>>>>>>>>>
>>>>>>>>> [] in UndefinedObject>>DoIt
>>>>>>>>>  Receiver: nil
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>> <<error during printing>
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> nil
>>>>>>>>>
>>>>>>>>> [] in ProgressInitiationException>>defaultAction
>>>>>>>>>  Receiver: ProgressInitiationException
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          progress:       [closure] in
>>>>>>>>> SystemProgressMorph>>label:min:max:
>>>>>>>>>          result:         #(nil)
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          messageText:    nil
>>>>>>>>>          tag:    nil
>>>>>>>>>          signalContext:
>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>          handlerContext:         nil
>>>>>>>>>          outerContext:   nil
>>>>>>>>>          workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>>>>          maxVal:         3874
>>>>>>>>>          minVal:         0
>>>>>>>>>          aPoint:         840@306
>>>>>>>>>          progressTitle:  'Searching UTF-8 Problems...'
>>>>>>>>>
>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>  Receiver: [closure] in
>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          aBlock:         [closure] in
>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>          returnValue:    nil
>>>>>>>>>          b:      nil
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          outerContext:
>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>          startpc:        49
>>>>>>>>>          numArgs:        0
>>>>>>>>>
>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>  Receiver: ProgressInitiationException
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          progress:       [closure] in
>>>>>>>>> SystemProgressMorph>>label:min:max:
>>>>>>>>>          result:         #(nil)
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          messageText:    nil
>>>>>>>>>          tag:    nil
>>>>>>>>>          signalContext:
>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>          handlerContext:         nil
>>>>>>>>>          outerContext:   nil
>>>>>>>>>          workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>>>>          maxVal:         3874
>>>>>>>>>          minVal:         0
>>>>>>>>>          aPoint:         840@306
>>>>>>>>>          progressTitle:  'Searching UTF-8 Problems...'
>>>>>>>>>
>>>>>>>>> UndefinedObject>>handleSignal:
>>>>>>>>>  Receiver: nil
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          exception:      ProgressInitiationException
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> nil
>>>>>>>>>
>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>  Receiver: BlockClosure>>on:do:
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          exception:      ProgressInitiationException
>>>>>>>>>          val:    nil
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          sender:         PasteUpMorph>>becomeActiveDuring:
>>>>>>>>>          pc:     17
>>>>>>>>>          stackp:         3
>>>>>>>>>          method:         a CompiledMethod (2306)
>>>>>>>>>          closureOrNil:   nil
>>>>>>>>>          receiver:       [closure] in
>>>>>>>>> PasteUpMorph>>becomeActiveDuring:
>>>>>>>>>
>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>  Receiver: BlockClosure>>on:do:
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          exception:      ProgressInitiationException
>>>>>>>>>          val:    nil
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          sender:
>>>>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>>          pc:     17
>>>>>>>>>          stackp:         3
>>>>>>>>>          method:         a CompiledMethod (2306)
>>>>>>>>>          closureOrNil:   nil
>>>>>>>>>          receiver:       [closure] in
>>>>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>>
>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>  Receiver: ProgressInitiationException
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          messageText:    nil
>>>>>>>>>          tag:    nil
>>>>>>>>>          signalContext:
>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>          handlerContext:         nil
>>>>>>>>>          outerContext:   nil
>>>>>>>>>          workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>>>>          maxVal:         3874
>>>>>>>>>          minVal:         0
>>>>>>>>>          aPoint:         840@306
>>>>>>>>>          progressTitle:  'Searching UTF-8 Problems...'
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --- The full stack ---
>>>>>>>>> UndefinedObject(Object)>>doesNotUnderstand: #value:
>>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>> [] in BlockClosure>>ifError:
>>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>> [] in MethodContext(ContextPart)>>handleSignal:
>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>> Error(Exception)>>signal
>>>>>>>>> Error(Exception)>>signal:
>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>> [] in RemoteString>>text
>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>> RemoteString>>text
>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>> BlockClosure>>on:do:
>>>>>>>>> BlockClosure>>ifError:
>>>>>>>>> [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>> IdentitySet(Set)>>do:
>>>>>>>>> [] in [] in UndefinedObject>>DoIt
>>>>>>>>> [] in ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>> Array(SequenceableCollection)>>do:
>>>>>>>>> ProtoObject class(Class)>>subclassesDoGently:
>>>>>>>>> ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>> SystemNavigation>>allBehaviorsDo:
>>>>>>>>> [] in UndefinedObject>>DoIt
>>>>>>>>> [] in ProgressInitiationException>>defaultAction
>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>> UndefinedObject>>handleSignal:
>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>> - - - - - - - - - - - - - - -
>>>>>>>>>                  - - - - - - - - - - - - - - - - - -
>>>>>>>>> ProgressInitiationException>>display:at:from:to:during:
>>>>>>>>> ProgressInitiationException class>>display:at:from:to:during:
>>>>>>>>> ByteString(String)>>displayProgressAt:from:to:during:
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>> Compiler>>evaluate:in:to:notifying:ifFail:logged:
>>>>>>>>> [] in TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>> BlockClosure>>on:do:
>>>>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>> TextMorphEditor(ParagraphEditor)>>doIt
>>>>>>>>> [] in TextMorphEditor(ParagraphEditor)>>doIt:
>>>>>>>>> TextMorphEditor
>>>>>>>>> (ParagraphEditor)>>terminateAndInitializeAround:
>>>>>>>>> TextMorphEditor(ParagraphEditor)>>doIt:
>>>>>>>>> TextMorphEditor(ParagraphEditor)>>dispatchOnKeyEvent:with:
>>>>>>>>> TextMorphEditor>>dispatchOnKeyEvent:with:
>>>>>>>>> TextMorphEditor(ParagraphEditor)>>keystroke:
>>>>>>>>> TextMorphEditor>>keystroke:
>>>>>>>>> [] in TextMorphForEditView(TextMorph)>>keyStroke:
>>>>>>>>> TextMorphForEditView(TextMorph)>>handleInteraction:
>>>>>>>>> TextMorphForEditView>>handleInteraction:
>>>>>>>>> TextMorphForEditView(TextMorph)>>keyStroke:
>>>>>>>>> TextMorphForEditView>>keyStroke:
>>>>>>>>> TextMorphForEditView(TextMorph)>>handleKeystroke:
>>>>>>>>> KeyboardEvent>>sentTo:
>>>>>>>>> TextMorphForEditView(Morph)>>handleEvent:
>>>>>>>>> TextMorphForEditView(Morph)>>handleFocusEvent:
>>>>>>>>> [] in HandMorph>>sendFocusEvent:to:clear:
>>>>>>>>> [] in PasteUpMorph>>becomeActiveDuring:
>>>>>>>>> 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
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On May 17, 2009, at 11:13 AM, Nicolas Cellier wrote:
>>>>>>>>>
>>>>>>>>>> One solution would be to use getSource rather than
>>>>>>>>>> getSourceFromFile.
>>>>>>>>>> However, with following code I detected no problem in my  
>>>>>>>>>> pharo-
>>>>>>>>>> core
>>>>>>>>>> copy (10281 updated to 10306)
>>>>>>>>>>
>>>>>>>>>> | problems total |
>>>>>>>>>> problems := OrderedCollection new.
>>>>>>>>>> total := 0.
>>>>>>>>>> SystemNavigation default allBehaviorsDo: [:cl | total :=
>>>>>>>>>> total +
>>>>>>>>>> 1].
>>>>>>>>>> 'Searching UTF-8 Problems...'
>>>>>>>>>> displayProgressAt: Sensor cursorPoint
>>>>>>>>>> from: 0 to: total
>>>>>>>>>> during:
>>>>>>>>>>         [:bar | | count |
>>>>>>>>>>         count := 0.
>>>>>>>>>>         SystemNavigation default allBehaviorsDo: [:cl |
>>>>>>>>>>                 bar value: (count := count + 1).
>>>>>>>>>>                 cl selectors do: [:sel |
>>>>>>>>>>                         [(cl compiledMethodAt: sel)
>>>>>>>>>> getSourceFromFile] ifError: [
>>>>>>>>>>                                 var value: 'last problem
>>>>>>>>>> found ' , cl name , '>>#' , sel.
>>>>>>>>>>                                 problems add: cl->sel]]]].
>>>>>>>>>> ^problems
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>>>>>>>> yes same here.
>>>>>>>>>>>
>>>>>>>>>>> On May 17, 2009, at 2:10 AM, Tudor Girba wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi,
>>>>>>>>>>>>
>>>>>>>>>>>> Recently I encounter a strange error:
>>>>>>>>>>>> - I sometimes get a debugger due to some problems in my  
>>>>>>>>>>>> code
>>>>>>>>>>>> - when I try to investigate the trace, I get another  
>>>>>>>>>>>> debugger
>>>>>>>>>>>> saying
>>>>>>>>>>>> that "Invalid utf8 input detected'"
>>>>>>>>>>>>
>>>>>>>>>>>> This second debugger I can investigate, the previous not.  
>>>>>>>>>>>> It
>>>>>>>>>>>> looks
>>>>>>>>>>>> like something got messed up with the text conversion of  
>>>>>>>>>>>> the
>>>>>>>>>>>> sources.
>>>>>>>>>>>>
>>>>>>>>>>>> I am working on 10306 using the 4.1.1b2 VM on Mac. The code
>>>>>>>>>>>> I am
>>>>>>>>>>>> working on is loaded from squeaksource (Moose, Glamour,
>>>>>>>>>>>> Mondrian).
>>>>>>>>>>>>
>>>>>>>>>>>> Anyone can confirm this problem?
>>>>>>>>>>>>
>>>>>>>>>>>> Cheers,
>>>>>>>>>>>> Doru
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> ----ERROR REPORT----
>>>>>>>>>>>>
>>>>>>>>>>>> '17 May 2009 2:05:50 am
>>>>>>>>>>>>
>>>>>>>>>>>> VM: Mac OS - intel - 1056 - Squeak3.8.1 of ''28 Aug
>>>>>>>>>>>> 2006'' [latest
>>>>>>>>>>>> update: #6747] Squeak VM 4.1.1b2
>>>>>>>>>>>> Image: Pharo0.1 [Latest update: #10306]
>>>>>>>>>>>>
>>>>>>>>>>>> SecurityManager state:
>>>>>>>>>>>> Restricted: false
>>>>>>>>>>>> FileAccess: true
>>>>>>>>>>>> SocketAccess: true
>>>>>>>>>>>> Working Dir /Users/girba/Work/Code/squeakingmoose
>>>>>>>>>>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>>>>>>>>>>>> Untrusted Dir /Users/girba/Library/Preferences/Squeak/
>>>>>>>>>>>> Internet/
>>>>>>>>>>>> My
>>>>>>>>>>>> Squeak
>>>>>>>>>>>>
>>>>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aString:        ''Invalid utf8 input detected''
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>>
>>>>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>>
>>>>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aStream:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>>>>> Work/Code/
>>>>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>>>>        character1:     $
>>>>>>>>>>>>        value1:         160
>>>>>>>>>>>>        character2:     Character tab
>>>>>>>>>>>>        value2:         9
>>>>>>>>>>>>        unicode:        nil
>>>>>>>>>>>>        character3:     Character tab
>>>>>>>>>>>>        value3:         9
>>>>>>>>>>>>        character4:     nil
>>>>>>>>>>>>        value4:         nil
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>>
>>>>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        char:   nil
>>>>>>>>>>>>        secondChar:     nil
>>>>>>>>>>>>        state:  nil
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        terminator:     $!
>>>>>>>>>>>>        out:    a WriteStream ''doesNotUnderstand: aMessage
>>>>>>>>>>>> "Handle the fact that there ...etc...
>>>>>>>>>>>>        ch:     Character cr
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        string:         nil
>>>>>>>>>>>>        runsRaw:        nil
>>>>>>>>>>>>        strm:   nil
>>>>>>>>>>>>        runs:   nil
>>>>>>>>>>>>        peek:   nil
>>>>>>>>>>>>        pos:    nil
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>>>> Receiver: a RemoteString
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        theFile:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>>>>> Work/Code/
>>>>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        sourceFileNumber:       2
>>>>>>>>>>>>        filePositionHi:         10007336
>>>>>>>>>>>>
>>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>>> Receiver: [closure] in RemoteString>>text
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aBlock:         [closure] in RemoteString>>text
>>>>>>>>>>>>        returnValue:    nil
>>>>>>>>>>>>        b:      nil
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        outerContext:   RemoteString>>text
>>>>>>>>>>>>        startpc:        72
>>>>>>>>>>>>        numArgs:        0
>>>>>>>>>>>>
>>>>>>>>>>>> RemoteString>>text
>>>>>>>>>>>> Receiver: a RemoteString
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        theFile:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>>>>> Work/Code/
>>>>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        sourceFileNumber:       2
>>>>>>>>>>>>        filePositionHi:         10007336
>>>>>>>>>>>>
>>>>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        position:       10007336
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>>>
>>>>>>>>>>>> CompiledMethod>>methodNode
>>>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aClass:         Object
>>>>>>>>>>>>        source:         nil
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>>>
>>>>>>>>>>>> [] in DebuggerMethodMap class>>forMethod:
>>>>>>>>>>>> Receiver: DebuggerMethodMap
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aMethod:        a CompiledMethod (838)
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        superclass:     Object
>>>>>>>>>>>>        methodDict:     a
>>>>>>>>>>>> MethodDictionary(#abstractSourceMap-
>>>>>>>>>>>>> a CompiledMethod
>>>>>>>>>>>> (1628) #for...etc...
>>>>>>>>>>>>        format:         140
>>>>>>>>>>>>        instanceVariables:      #(''timestamp''
>>>>>>>>>>>> ''methodReference''
>>>>>>>>>>>> ''methodNode'' ''abstractSource...etc...
>>>>>>>>>>>>        organization:   (''initialize-release''
>>>>>>>>>>>> forMethod:methodNode:)
>>>>>>>>>>>> (''accessing'' markRec...etc...
>>>>>>>>>>>>        subclasses:
>>>>>>>>>>>> {DebuggerMethodMapForBlueBookMethods .
>>>>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>>>>        name:   #DebuggerMethodMap
>>>>>>>>>>>>        classPool:      a Dictionary(#MapCache->a
>>>>>>>>>>>> WeakIdentityKeyDictionary(a
>>>>>>>>>>>> CompiledMethod...etc...
>>>>>>>>>>>>        sharedPools:    nil
>>>>>>>>>>>>        environment:    Smalltalk
>>>>>>>>>>>>        category:       #''Tools-Debugger''
>>>>>>>>>>>>        traitComposition:       nil
>>>>>>>>>>>>        localSelectors:         nil
>>>>>>>>>>>>
>>>>>>>>>>>> WeakIdentityKeyDictionary(Dictionary)>>at:ifAbsent:
>>>>>>>>>>>> Receiver: a WeakIdentityKeyDictionary(a CompiledMethod  
>>>>>>>>>>>> (126)-
>>>>>>>>>>>>> a
>>>>>>>>>>>> DebuggerMethodMapForClosureCompiledM...etc...
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        key:    a CompiledMethod (838)
>>>>>>>>>>>>        aBlock:         [closure] in DebuggerMethodMap
>>>>>>>>>>>> class>>forMethod:
>>>>>>>>>>>>        assoc:  nil
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        tally:  16
>>>>>>>>>>>>        array:  an Array(nil nil a CompiledMethod (2402)->a
>>>>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> DebuggerMethodMap class>>forMethod:
>>>>>>>>>>>> Receiver: DebuggerMethodMap
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aMethod:        a CompiledMethod (838)
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        superclass:     Object
>>>>>>>>>>>>        methodDict:     a
>>>>>>>>>>>> MethodDictionary(#abstractSourceMap-
>>>>>>>>>>>>> a CompiledMethod
>>>>>>>>>>>> (1628) #for...etc...
>>>>>>>>>>>>        format:         140
>>>>>>>>>>>>        instanceVariables:      #(''timestamp''
>>>>>>>>>>>> ''methodReference''
>>>>>>>>>>>> ''methodNode'' ''abstractSource...etc...
>>>>>>>>>>>>        organization:   (''initialize-release''
>>>>>>>>>>>> forMethod:methodNode:)
>>>>>>>>>>>> (''accessing'' markRec...etc...
>>>>>>>>>>>>        subclasses:
>>>>>>>>>>>> {DebuggerMethodMapForBlueBookMethods .
>>>>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>>>>        name:   #DebuggerMethodMap
>>>>>>>>>>>>        classPool:      a Dictionary(#MapCache->a
>>>>>>>>>>>> WeakIdentityKeyDictionary(a
>>>>>>>>>>>> CompiledMethod...etc...
>>>>>>>>>>>>        sharedPools:    nil
>>>>>>>>>>>>        environment:    Smalltalk
>>>>>>>>>>>>        category:       #''Tools-Debugger''
>>>>>>>>>>>>        traitComposition:       nil
>>>>>>>>>>>>        localSelectors:         nil
>>>>>>>>>>>>
>>>>>>>>>>>> CompiledMethod>>debuggerMap
>>>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>>>
>>>>>>>>>>>> OTClosureContextNode>>selection
>>>>>>>>>>>> Receiver: an OTClosureContextNode
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        metaNode:       context
>>>>>>>>>>>>
>>>>>>>>>>>>        navigation:     an OBDefaultEdgeNavigation
>>>>>>>>>>>>        process:        a Process in OTToolset
>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>        context:        Model
>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>        parseTree:      nil
>>>>>>>>>>>>        sourceMap:      nil
>>>>>>>>>>>>        debuggerMap:    nil
>>>>>>>>>>>>
>>>>>>>>>>>> OTClosureContextNode(OTContextNode)>>definition
>>>>>>>>>>>> Receiver: an OTClosureContextNode
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        metaNode:       context
>>>>>>>>>>>>
>>>>>>>>>>>>        navigation:     an OBDefaultEdgeNavigation
>>>>>>>>>>>>        process:        a Process in OTToolset
>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>        context:        Model
>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>        parseTree:      nil
>>>>>>>>>>>>        sourceMap:      nil
>>>>>>>>>>>>        debuggerMap:    nil
>>>>>>>>>>>>
>>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>node:
>>>>>>>>>>>> Receiver: an OTDefinitionPanel
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aNode:  an OTClosureContextNode
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        browser:        an OTDebugger
>>>>>>>>>>>>        definition:     nil
>>>>>>>>>>>>        selection:      nil
>>>>>>>>>>>>
>>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>selectionChanged:
>>>>>>>>>>>> Receiver: an OTDefinitionPanel
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        ann:    an OBSelectionChanged
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        browser:        an OTDebugger
>>>>>>>>>>>>        definition:     nil
>>>>>>>>>>>>        selection:      nil
>>>>>>>>>>>>
>>>>>>>>>>>> MessageSend>>valueWithArguments:
>>>>>>>>>>>> Receiver: MessageSend(#selectionChanged: -> an
>>>>>>>>>>>> OTDefinitionPanel)
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        anArray:        an Array(an OBSelectionChanged)
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        receiver:       an OTDefinitionPanel
>>>>>>>>>>>>        selector:       #selectionChanged:
>>>>>>>>>>>>        arguments:      #()
>>>>>>>>>>>>
>>>>>>>>>>>> [] in ActionSequence>>valueWithArguments:
>>>>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        anArray:        MessageSend(#selectionChanged: -> an
>>>>>>>>>>>> OTDefinitionPanel)
>>>>>>>>>>>>        answer:         an Array(an OBSelectionChanged)
>>>>>>>>>>>>        each:   an Array(an OBFixedButtonPanel)
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> ActionSequence(SequenceableCollection)>>do:
>>>>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aBlock:         [closure] in
>>>>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>>>>>        index:  4
>>>>>>>>>>>>        indexLimiT:     6
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        anArray:        an Array(an OBSelectionChanged)
>>>>>>>>>>>>        answer:         an Array(an OBFixedButtonPanel)
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> [] in OBAnnouncer>>announce:
>>>>>>>>>>>> Receiver: an OBAnnouncer
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>> <<error during printing>
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        subscriptions:  an
>>>>>>>>>>>> IdentityDictionary(OBAboutToChange-
>>>>>>>>>>>>> an
>>>>>>>>>>>> ActionSequence(Message...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> [] in IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aBlock:         OBSelectionChanged-
>>>>>>>>>>>>> #(MessageSend(#relabel: -> an
>>>>>>>>>>>> OTDebugger)
>>>>>>>>>>>> MessageSe...etc...
>>>>>>>>>>>>        assoc:  [closure] in OBAnnouncer>>announce:
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        tally:  12
>>>>>>>>>>>>        array:  {OBNodeCreated->an
>>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> IdentityDictionary(Set)>>do:
>>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aBlock:         [closure] in
>>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>>        index:  6
>>>>>>>>>>>>        each:   OBSelectionChanged-
>>>>>>>>>>>> >#(MessageSend(#relabel: -
>>>>>>>>>>>>> an OTDebugger)
>>>>>>>>>>>> MessageSend...etc...
>>>>>>>>>>>>        indexLimiT:     20
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        tally:  12
>>>>>>>>>>>>        array:  {OBNodeCreated->an
>>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> IdentityDictionary(Dictionary)>>associationsDo:
>>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aBlock:         [closure] in
>>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        tally:  12
>>>>>>>>>>>>        array:  {OBNodeCreated->an
>>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aBlock:         [closure] in OBAnnouncer>>announce:
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        tally:  12
>>>>>>>>>>>>        array:  {OBNodeCreated->an
>>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> OBAnnouncer>>announce:
>>>>>>>>>>>> Receiver: an OBAnnouncer
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        anObject:       an OBSelectionChanged
>>>>>>>>>>>>        ann:    an OBSelectionChanged
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        subscriptions:  an
>>>>>>>>>>>> IdentityDictionary(OBAboutToChange-
>>>>>>>>>>>>> an
>>>>>>>>>>>> ActionSequence(Message...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> OBColumnPanel>>jumpTo:
>>>>>>>>>>>> Receiver: an OBColumnPanel
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aNode:  an OTClosureContextNode
>>>>>>>>>>>>        column:         an OBColumn(Model
>>>>>>>>>>>> class(Object)>>doesNotUnderstand:
>>>>>>>>>>>> #fullName)
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        browser:        an OTDebugger
>>>>>>>>>>>>        root:   an OTProcessNode
>>>>>>>>>>>>        current:        an OTClosureContextNode
>>>>>>>>>>>>        columns:        an OrderedCollection(an
>>>>>>>>>>>> OBColumn(Model
>>>>>>>>>>>> class(Object)>>doesNotUnderstan...etc...
>>>>>>>>>>>>        minPanes:       1
>>>>>>>>>>>>        maxPanes:       1
>>>>>>>>>>>>
>>>>>>>>>>>> OTDebugger(OBBrowser)>>jumpTo:
>>>>>>>>>>>> Receiver: an OTDebugger
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aNode:  an OTClosureContextNode
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        panels:         an OrderedCollection(an  
>>>>>>>>>>>> OBColumnPanel
>>>>>>>>>>>> an OBFixedButtonPanel
>>>>>>>>>>>> an OTDefini...etc...
>>>>>>>>>>>>        announcer:      an OBAnnouncer
>>>>>>>>>>>>        cmdFactories:   an Array(OTCmdProceedDebugger
>>>>>>>>>>>> OTCmdIntoDebugger
>>>>>>>>>>>> OTCmdThroughDebug...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> OTDebugger class(OBBrowser
>>>>>>>>>>>> class)>>metaNode:root:selection:panels:
>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        metaNode:       process
>>>>>>>>>>>> #longStack->context
>>>>>>>>>>>>
>>>>>>>>>>>>        rootNode:       an OTProcessNode
>>>>>>>>>>>>        selectedNode:   an OTClosureContextNode
>>>>>>>>>>>>        panels:         an Array(an OBColumnPanel an
>>>>>>>>>>>> OBFixedButtonPanel an
>>>>>>>>>>>> OTDefinitionPanel an...etc...
>>>>>>>>>>>>        browser:        an OTDebugger
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        superclass:     OBBrowser
>>>>>>>>>>>>        methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>        format:         136
>>>>>>>>>>>>        instanceVariables:      nil
>>>>>>>>>>>>        organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>        subclasses:     nil
>>>>>>>>>>>>        name:   #OTDebugger
>>>>>>>>>>>>        classPool:      nil
>>>>>>>>>>>>        sharedPools:    nil
>>>>>>>>>>>>        environment:    Smalltalk
>>>>>>>>>>>>        category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>        traitComposition:       nil
>>>>>>>>>>>>        localSelectors:         nil
>>>>>>>>>>>>
>>>>>>>>>>>> OTDebugger class(OBBrowser class)>>root:selection:
>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        rootNode:       an OTProcessNode
>>>>>>>>>>>>        selectedNode:   an OTClosureContextNode
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        superclass:     OBBrowser
>>>>>>>>>>>>        methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>        format:         136
>>>>>>>>>>>>        instanceVariables:      nil
>>>>>>>>>>>>        organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>        subclasses:     nil
>>>>>>>>>>>>        name:   #OTDebugger
>>>>>>>>>>>>        classPool:      nil
>>>>>>>>>>>>        sharedPools:    nil
>>>>>>>>>>>>        environment:    Smalltalk
>>>>>>>>>>>>        category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>        traitComposition:       nil
>>>>>>>>>>>>        localSelectors:         nil
>>>>>>>>>>>>
>>>>>>>>>>>> OTDebugger class>>process:context:errorWasInUIProcess:
>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aProcess:       a Process in OTToolset
>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>        aContext:       Model
>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>        aBool:  true
>>>>>>>>>>>>        processNode:    an OTProcessNode
>>>>>>>>>>>>        contextNode:    an OTClosureContextNode
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        superclass:     OBBrowser
>>>>>>>>>>>>        methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>        format:         136
>>>>>>>>>>>>        instanceVariables:      nil
>>>>>>>>>>>>        organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>        subclasses:     nil
>>>>>>>>>>>>        name:   #OTDebugger
>>>>>>>>>>>>        classPool:      nil
>>>>>>>>>>>>        sharedPools:    nil
>>>>>>>>>>>>        environment:    Smalltalk
>>>>>>>>>>>>        category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>        traitComposition:       nil
>>>>>>>>>>>>        localSelectors:         nil
>>>>>>>>>>>>
>>>>>>>>>>>> OTDebugger  
>>>>>>>>>>>> class>>process:context:label:errorWasInUIProcess:
>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aProcess:       a Process in OTToolset
>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>        aContext:       Model
>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>        aString:        ''MessageNotUnderstood: Model
>>>>>>>>>>>> class>>fullName''
>>>>>>>>>>>>        aBool:  true
>>>>>>>>>>>>        debugger:       nil
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        superclass:     OBBrowser
>>>>>>>>>>>>        methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>        format:         136
>>>>>>>>>>>>        instanceVariables:      nil
>>>>>>>>>>>>        organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>        subclasses:     nil
>>>>>>>>>>>>        name:   #OTDebugger
>>>>>>>>>>>>        classPool:      nil
>>>>>>>>>>>>        sharedPools:    nil
>>>>>>>>>>>>        environment:    Smalltalk
>>>>>>>>>>>>        category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>        traitComposition:       nil
>>>>>>>>>>>>        localSelectors:         nil
>>>>>>>>>>>>
>>>>>>>>>>>> OTDebugger
>>>>>>>>>>>> class>>openProcess:context:label:errorWasInUIProcess:
>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aProcess:       a Process in OTToolset
>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>        aContext:       Model
>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>        aString:        ''MessageNotUnderstood: Model
>>>>>>>>>>>> class>>fullName''
>>>>>>>>>>>>        aBool:  true
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        superclass:     OBBrowser
>>>>>>>>>>>>        methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>        format:         136
>>>>>>>>>>>>        instanceVariables:      nil
>>>>>>>>>>>>        organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>        subclasses:     nil
>>>>>>>>>>>>        name:   #OTDebugger
>>>>>>>>>>>>        classPool:      nil
>>>>>>>>>>>>        sharedPools:    nil
>>>>>>>>>>>>        environment:    Smalltalk
>>>>>>>>>>>>        category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>        traitComposition:       nil
>>>>>>>>>>>>        localSelectors:         nil
>>>>>>>>>>>>
>>>>>>>>>>>> [] in OTPreDebugNode>>debug:
>>>>>>>>>>>> Receiver: an OTPreDebugNode
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aRequestor:     an OTPreDebugPanel
>>>>>>>>>>>>        proc:   a Process in OTToolset
>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        metaNode:       Predebug
>>>>>>>>>>>>
>>>>>>>>>>>>        navigation:     nil
>>>>>>>>>>>>        errorWasInUI:   true
>>>>>>>>>>>>        process:        nil
>>>>>>>>>>>>        context:        Model
>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>        label:  ''MessageNotUnderstood: Model
>>>>>>>>>>>> class>>fullName''
>>>>>>>>>>>>        contents:       ''Model
>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>> UtilitiesTest>>tes...etc...
>>>>>>>>>>>>        debugOnMouseClick:      true
>>>>>>>>>>>>
>>>>>>>>>>>> WorldState>>runStepMethodsIn:
>>>>>>>>>>>> Receiver: a WorldState
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aWorld:         a PasteUpMorph(1622) [world]
>>>>>>>>>>>>        queue:  a SharedQueue
>>>>>>>>>>>>        numItems:       1
>>>>>>>>>>>>        i:      0
>>>>>>>>>>>>        limit:  200
>>>>>>>>>>>>        stamp:  12765762
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        hands:  an Array(a HandMorph(3216))
>>>>>>>>>>>>        viewBox:        0@0 corner: 1440@807
>>>>>>>>>>>>        canvas:         a FormCanvas on:
>>>>>>>>>>>> DisplayScreen(1440x807x32)
>>>>>>>>>>>>        damageRecorder:         a DamageRecorder
>>>>>>>>>>>>        stepList:       a Heap(StepMessage(#stepAt: -> a
>>>>>>>>>>>> SystemWindow(3380))(a
>>>>>>>>>>>> SystemWindow(3...etc...
>>>>>>>>>>>>        lastStepTime:   12791780
>>>>>>>>>>>>        lastStepMessage:        nil
>>>>>>>>>>>>        lastCycleTime:  12791800
>>>>>>>>>>>>        commandHistory:         a CommandHistory
>>>>>>>>>>>>        alarms:         a Heap()
>>>>>>>>>>>>        lastAlarmTime:  12791780
>>>>>>>>>>>>
>>>>>>>>>>>> PasteUpMorph>>runStepMethods
>>>>>>>>>>>> Receiver: a PasteUpMorph(1622) [world]
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        bounds:         0@0 corner: 1440@807
>>>>>>>>>>>>        owner:  nil
>>>>>>>>>>>>        submorphs:      an Array(a TaskbarMorph(3095) a
>>>>>>>>>>>> SystemWindow(171) a
>>>>>>>>>>>> PluggableStandar...etc...
>>>>>>>>>>>>        fullBounds:     nil
>>>>>>>>>>>>        color:  (Color r: 0.972 g: 0.972 b: 0.976)
>>>>>>>>>>>>        extension:      a MorphExtension (2543)  
>>>>>>>>>>>> [eventHandler
>>>>>>>>>>>> = an
>>>>>>>>>>>> EventHandler]  [other:  (...etc...
>>>>>>>>>>>>        borderWidth:    0
>>>>>>>>>>>>        borderColor:    (Color r: 0.03 g: 0.02 b: 0.0)
>>>>>>>>>>>>        presenter:      a Presenter (1246)
>>>>>>>>>>>>        model:  a MorphicModel(1926)
>>>>>>>>>>>>        cursor:         1
>>>>>>>>>>>>        padding:        3
>>>>>>>>>>>>        backgroundMorph:        nil
>>>>>>>>>>>>        isPartsBin:     nil
>>>>>>>>>>>>        autoLineLayout:         false
>>>>>>>>>>>>        indicateCursor:         nil
>>>>>>>>>>>>        resizeToFit:    nil
>>>>>>>>>>>>        wantsMouseOverHalos:    nil
>>>>>>>>>>>>        worldState:     a WorldState
>>>>>>>>>>>>        griddingOn:     nil
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --- The full stack ---
>>>>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>>> RemoteString>>text
>>>>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>>>> CompiledMethod>>methodNode
>>>>>>>>>>>> [] in DebuggerMethodMap class>>forMethod:
>>>>>>>>>>>> WeakIdentityKeyDictionary(Dictionary)>>at:ifAbsent:
>>>>>>>>>>>> DebuggerMethodMap class>>forMethod:
>>>>>>>>>>>> CompiledMethod>>debuggerMap
>>>>>>>>>>>> OTClosureContextNode>>selection
>>>>>>>>>>>> OTClosureContextNode(OTContextNode)>>definition
>>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>node:
>>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>selectionChanged:
>>>>>>>>>>>> MessageSend>>valueWithArguments:
>>>>>>>>>>>> [] in ActionSequence>>valueWithArguments:
>>>>>>>>>>>> ActionSequence(SequenceableCollection)>>do:
>>>>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>>>>> [] in OBAnnouncer>>announce:
>>>>>>>>>>>> [] in IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>> IdentityDictionary(Set)>>do:
>>>>>>>>>>>> IdentityDictionary(Dictionary)>>associationsDo:
>>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>> OBAnnouncer>>announce:
>>>>>>>>>>>> OBColumnPanel>>jumpTo:
>>>>>>>>>>>> OTDebugger(OBBrowser)>>jumpTo:
>>>>>>>>>>>> OTDebugger class(OBBrowser
>>>>>>>>>>>> class)>>metaNode:root:selection:panels:
>>>>>>>>>>>> OTDebugger class(OBBrowser class)>>root:selection:
>>>>>>>>>>>> OTDebugger class>>process:context:errorWasInUIProcess:
>>>>>>>>>>>> OTDebugger  
>>>>>>>>>>>> class>>process:context:label:errorWasInUIProcess:
>>>>>>>>>>>> OTDebugger
>>>>>>>>>>>> class>>openProcess:context:label:errorWasInUIProcess:
>>>>>>>>>>>> [] in OTPreDebugNode>>debug:
>>>>>>>>>>>> WorldState>>runStepMethodsIn:
>>>>>>>>>>>> PasteUpMorph>>runStepMethods
>>>>>>>>>>>> - - - - - - - - - - - - - - -
>>>>>>>>>>>>                - - - - - - - - - - - - - - - - - -
>>>>>>>>>>>> WorldState>>doOneCycleNowFor:
>>>>>>>>>>>> WorldState>>doOneCycleFor:
>>>>>>>>>>>> PasteUpMorph>>doOneCycle
>>>>>>>>>>>> [] in Project class>>spawnNewProcess
>>>>>>>>>>>> [] in BlockClosure>>newProcess
>>>>>>>>>>>> '
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> www.tudorgirba.com
>>>>>>>>>>>>
>>>>>>>>>>>> "To lead is not to demand things, it is to make them  
>>>>>>>>>>>> happen."
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>>>> [hidden email]
>>>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/ 
>>>>>>>>>>>> pharo-
>>>>>>>>>>>> project
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>>> [hidden email]
>>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>> [hidden email]
>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>>>>>> project
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Pharo-project mailing list
>>>>>>>>> [hidden email]
>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Pharo-project mailing list
>>>>>>>> [hidden email]
>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Pharo-project mailing list
>>>>>>> [hidden email]
>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>>> project
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Pharo-project mailing list
>>>>>> [hidden email]
>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>
>>>>>
>>>>> --
>>>>> www.tudorgirba.com
>>>>>
>>>>> "It's not how it is, it is how we see it."
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Pharo-project mailing list
>>>>> [hidden email]
>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo- 
>>>>> project
>>>>>
>>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [hidden email]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>

--
www.tudorgirba.com

"Some battles are better lost than fought."




_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: invalid utf8 input detected

hernan.wilkinson
yes please!

On Fri, May 22, 2009 at 7:01 PM, Tudor Girba <[hidden email]> wrote:
Hi,

Could we not solve this for the couple of offending methods for the
moment? Having a problem in Object>>doesNotUnderstand: makes the whole
debugging a pain because I can actually not debug such a case.

Cheers,
Doru


On 19 May 2009, at 22:03, Nicolas Cellier wrote:

> I opened http://code.google.com/p/pharo/issues/detail?id=830
>
> I think other UTF-8 issues are different:
> Two for FileBrowser :
>    http://code.google.com/p/pharo/issues/detail?id=370
>    http://code.google.com/p/pharo/issues/detail?id=513
> One about VM crash :
>    http://code.google.com/p/pharo/issues/detail?id=744
>
> Nicolas
>
> 2009/5/19 Stéphane Ducasse <[hidden email]>:
>> thanks for making progress on this front.
>>
>> On May 19, 2009, at 6:40 PM, Nicolas Cellier wrote:
>>
>>>> From what I see in a 10304, all these methods had a non ASCII
>>> character in comment:
>>>
>>> {Object>>#doesNotUnderstand:.
>>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>>> Utilities class>>#changeStampPerSe.
>>> Utilities class>>#methodsWithInitials:} collect: [:e | (e
>>> getSourceFromFile select: [:s | s charCode > 127]) asArray collect:
>>> [:c | c charCode]]
>>> #(#(160 160) #(172 143 172 143) #(183) #(246))
>>> That is:
>>>
>>> an Array(a Text for '  ' a Text for '¬∂¬∂' a Text for '·' a
>>> Text for 'ö')
>>> First are non breaking space.
>>> Last but ones are not rendered same in Squeak.
>>>
>>> These four methods are changed in:
>>> - Kernel-stephane_ducasse.renggli.319.mcz
>>> - System-Support-stephane_ducasse.20.mcz
>>> If I merge 10305 manually, I get some decompiled code in the merge
>>> window.
>>> So there might be a problem already either in Monticello or in
>>> the .mcz.
>>> After the merge, there is decomipled code in the changes and no
>>> error
>>> when executing above code.
>>>
>>> If I load instead of merging, then I also get the decompiled code in
>>> the change log, so I can't reproduce completely the faulty behavior
>>> (having an invalid utf-8 notifier), maybe because the process is no
>>> the same when there are conflicts...
>>>
>>> If I extract .mcz contents, I can read contents from FileBrowser.
>>> But
>>> it does not use an UTF-8 encoding...
>>> I can't say if the encoding is macRoman or ISO8859L1 or CP1252 or
>>> what, but what I can say is that the source.st is not UTF-8 encoded.
>>>
>>> So without searching further I guess here lies the problems:
>>> transfer
>>> of raw bytes from non UTF-8 .mcz/source.st to the UTF-8 .changes
>>> change-log...
>>>
>>> Every time we'll modify a method with a Character code > 127, we
>>> will
>>> likely create an invalid UTF-8 bug or get some decompiled code, or
>>> corrupt source code in extreme case...
>>>
>>> Could the Monticello / UTF-8 experts confirm my guess ?
>>>
>>> Nicolas
>>>
>>> 2009/5/17 Nicolas Cellier <[hidden email]>:
>>>> OK,
>>>>
>>>> {Object>>#doesNotUnderstand:.
>>>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>>>> Utilities class>>#changeStampPerSe.
>>>> Utilities class>>#methodsWithInitials:} collect: [:e | e
>>>> getSourceFromFile].
>>>>
>>>> does not fail for me, BUT all these sources look like
>>>> decompileString.
>>>> I guess this is dating from the condenseChanges that occured in
>>>> #update10298
>>>> Change log prior to this update should have the problem.
>>>>
>>>> Nicolas
>>>>
>>>> 2009/5/17 Tudor Girba <[hidden email]>:
>>>>> Hi,
>>>>>
>>>>> I ran the snippet you sent on both 304cl and 306cl and I get the
>>>>> following list:
>>>>>
>>>>> Object->#doesNotUnderstand:
>>>>> SystemNavigation->#browseMethodsWhoseNamesContain:
>>>>> Utilities class->#changeStampPerSe
>>>>> Utilities class->#methodsWithInitials:
>>>>>
>>>>> Indeed, most of the annoyances are due to the
>>>>> Object>>doesNotUnderstand: because when I get a DNU I am stuck
>>>>> (and I
>>>>> feel like in Java :)).
>>>>>
>>>>> I am not sure I understand if there is a fix to the problem.
>>>>>
>>>>> Cheers,
>>>>> Doru
>>>>>
>>>>>
>>>>>
>>>>> On 17 May 2009, at 12:06, Nicolas Cellier wrote:
>>>>>
>>>>>> There's something weird... If you hit var (UndefinedObject)
>>>>>> doesNotUnderstand: #value: that means there were a problem the
>>>>>> first
>>>>>> time.
>>>>>>
>>>>>> Unfortunately, due to bug in MethodContext tempNames, we don't
>>>>>> know
>>>>>> the class and selector guilty.
>>>>>> From the set of selectors I can see this is Object.
>>>>>> From the source file position, I cannot say anything because I do
>>>>>> not
>>>>>> have same change log history (sorry, own image).
>>>>>>
>>>>>> You could try
>>>>>> (SourceFiles at: 2) readOnlyCopy position: 10007336; nextChunk
>>>>>>
>>>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>>>> sorry for not checking either.
>>>>>>> When I run this code I indeed do not have a problem on 10306cl
>>>>>>>
>>>>>>> stef
>>>>>>>
>>>>>>> On May 17, 2009, at 11:36 AM, Nicolas Cellier wrote:
>>>>>>>
>>>>>>>> Sure, a key stroke error, it's bar value:, not var value:,
>>>>>>>> This @!* workspace takes it as global without a warning....
>>>>>>>>
>>>>>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>>>>>> Nicolas
>>>>>>>>>
>>>>>>>>> when I run your script on the license looking for image
>>>>>>>>> I got using 10306cl
>>>>>>>>>
>>>>>>>>> I get the following error:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> VM: Mac OS - intel - 1056 - Squeak3.8.1 of '28 Aug
>>>>>>>>> 2006' [latest
>>>>>>>>> update: #6747] Squeak VM 4.1.1b2
>>>>>>>>> Image: Pharo0.1 [Latest update: #10306]
>>>>>>>>>
>>>>>>>>> SecurityManager state:
>>>>>>>>> Restricted: false
>>>>>>>>> FileAccess: true
>>>>>>>>> SocketAccess: true
>>>>>>>>> Working Dir /Data/squeak4.0-relicenseTools/history
>>>>>>>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>>>>>>>>> Untrusted Dir /Users/ducasse/Library/Preferences/Squeak/
>>>>>>>>> Internet/My
>>>>>>>>> Squeak
>>>>>>>>>
>>>>>>>>> UndefinedObject(Object)>>doesNotUnderstand: #value:
>>>>>>>>>  Receiver: nil
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>> <<error during printing>
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> nil
>>>>>>>>>
>>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>  Receiver: nil
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>> <<error during printing>
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> nil
>>>>>>>>>
>>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>>  Receiver: [closure] in [] in [] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          anArray:        an Array('Error: Invalid utf8 input
>>>>>>>>> detected' an
>>>>>>>>> UTF8TextConverter)
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          outerContext:   [] in [] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>          startpc:        183
>>>>>>>>>          numArgs:        0
>>>>>>>>>
>>>>>>>>> [] in BlockClosure>>ifError:
>>>>>>>>>  Receiver: [closure] in [] in [] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          errorHandlerBlock:      Error: Invalid utf8 input
>>>>>>>>> detected
>>>>>>>>>          ex:     [closure] in [] in [] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          outerContext:   [] in [] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>          startpc:        171
>>>>>>>>>          numArgs:        0
>>>>>>>>>
>>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>>  Receiver: [closure] in BlockClosure>>ifError:
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          anArray:        an Array(Error: Invalid utf8 input
>>>>>>>>> detected)
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          outerContext:   BlockClosure>>ifError:
>>>>>>>>>          startpc:        40
>>>>>>>>>          numArgs:        1
>>>>>>>>>
>>>>>>>>> [] in MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>  Receiver: BlockClosure>>on:do:
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>> <<error during printing>
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          sender:         BlockClosure>>ifError:
>>>>>>>>>          pc:     17
>>>>>>>>>          stackp:         3
>>>>>>>>>          method:         a CompiledMethod (2306)
>>>>>>>>>          closureOrNil:   nil
>>>>>>>>>          receiver:       [closure] in [] in [] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>
>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>  Receiver: [closure] in
>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          aBlock:         [closure] in
>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>          returnValue:    nil
>>>>>>>>>          b:      nil
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          outerContext:
>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>          startpc:        90
>>>>>>>>>          numArgs:        0
>>>>>>>>>
>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>  Receiver: BlockClosure>>on:do:
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          exception:      Error: Invalid utf8 input detected
>>>>>>>>>          val:    nil
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          sender:         BlockClosure>>ifError:
>>>>>>>>>          pc:     17
>>>>>>>>>          stackp:         3
>>>>>>>>>          method:         a CompiledMethod (2306)
>>>>>>>>>          closureOrNil:   nil
>>>>>>>>>          receiver:       [closure] in [] in [] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>
>>>>>>>>> Error(Exception)>>signal
>>>>>>>>>  Receiver: Error: Invalid utf8 input detected
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          messageText:    'Invalid utf8 input detected'
>>>>>>>>>          tag:    nil
>>>>>>>>>          signalContext:  Error(Exception)>>signal
>>>>>>>>>          handlerContext:         BlockClosure>>on:do:
>>>>>>>>>          outerContext:   nil
>>>>>>>>>
>>>>>>>>> Error(Exception)>>signal:
>>>>>>>>>  Receiver: Error: Invalid utf8 input detected
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          signalerText:   'Invalid utf8 input detected'
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          messageText:    'Invalid utf8 input detected'
>>>>>>>>>          tag:    nil
>>>>>>>>>          signalContext:  Error(Exception)>>signal
>>>>>>>>>          handlerContext:         BlockClosure>>on:do:
>>>>>>>>>          outerContext:   nil
>>>>>>>>>
>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>  Receiver: an UTF8TextConverter
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          aString:        'Invalid utf8 input detected'
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> an UTF8TextConverter
>>>>>>>>>
>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>  Receiver: an UTF8TextConverter
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> an UTF8TextConverter
>>>>>>>>>
>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>  Receiver: an UTF8TextConverter
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          aStream:        MultiByteFileStream: '/Data/
>>>>>>>>> squeak4.0-
>>>>>>>>> relicenseTools/
>>>>>>>>> history/Pharo0.1C...etc...
>>>>>>>>>          character1:     $
>>>>>>>>>          value1:         160
>>>>>>>>>          character2:     Character tab
>>>>>>>>>          value2:         9
>>>>>>>>>          unicode:        nil
>>>>>>>>>          character3:     Character tab
>>>>>>>>>          value3:         9
>>>>>>>>>          character4:     nil
>>>>>>>>>          value4:         nil
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> an UTF8TextConverter
>>>>>>>>>
>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>  Receiver: MultiByteFileStream: '/Data/squeak4.0-
>>>>>>>>> relicenseTools/
>>>>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          char:   nil
>>>>>>>>>          secondChar:     nil
>>>>>>>>>          state:  nil
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>  Receiver: MultiByteFileStream: '/Data/squeak4.0-
>>>>>>>>> relicenseTools/
>>>>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          terminator:     $!
>>>>>>>>>          out:    a WriteStream 'doesNotUnderstand: aMessage
>>>>>>>>>   "Handle the fact that there ...etc...
>>>>>>>>>          ch:     Character cr
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>  Receiver: MultiByteFileStream: '/Data/squeak4.0-
>>>>>>>>> relicenseTools/
>>>>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          string:         nil
>>>>>>>>>          runsRaw:        nil
>>>>>>>>>          strm:   nil
>>>>>>>>>          runs:   nil
>>>>>>>>>          peek:   nil
>>>>>>>>>          pos:    nil
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>  Receiver: a RemoteString
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          theFile:        MultiByteFileStream: '/Data/
>>>>>>>>> squeak4.0-
>>>>>>>>> relicenseTools/
>>>>>>>>> history/Pharo0.1C...etc...
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          sourceFileNumber:       2
>>>>>>>>>          filePositionHi:         10007336
>>>>>>>>>
>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>  Receiver: [closure] in RemoteString>>text
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          aBlock:         [closure] in RemoteString>>text
>>>>>>>>>          returnValue:    nil
>>>>>>>>>          b:      nil
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          outerContext:   RemoteString>>text
>>>>>>>>>          startpc:        72
>>>>>>>>>          numArgs:        0
>>>>>>>>>
>>>>>>>>> RemoteString>>text
>>>>>>>>>  Receiver: a RemoteString
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          theFile:        MultiByteFileStream: '/Data/
>>>>>>>>> squeak4.0-
>>>>>>>>> relicenseTools/
>>>>>>>>> history/Pharo0.1C...etc...
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          sourceFileNumber:       2
>>>>>>>>>          filePositionHi:         10007336
>>>>>>>>>
>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>  Receiver: a CompiledMethod (838)
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          position:       10007336
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>
>>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>  Receiver: nil
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>> <<error during printing>
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> nil
>>>>>>>>>
>>>>>>>>> BlockClosure>>on:do:
>>>>>>>>>  Receiver: [closure] in [] in [] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          exception:      Error
>>>>>>>>>          handlerAction:  [closure] in BlockClosure>>ifError:
>>>>>>>>>          handlerActive:  false
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          outerContext:   [] in [] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>          startpc:        171
>>>>>>>>>          numArgs:        0
>>>>>>>>>
>>>>>>>>> BlockClosure>>ifError:
>>>>>>>>>  Receiver: [closure] in [] in [] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          errorHandlerBlock:      [closure] in [] in [] in []
>>>>>>>>> in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          outerContext:   [] in [] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>          startpc:        171
>>>>>>>>>          numArgs:        0
>>>>>>>>>
>>>>>>>>> [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>  Receiver: nil
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>> <<error during printing>
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> nil
>>>>>>>>>
>>>>>>>>> IdentitySet(Set)>>do:
>>>>>>>>>  Receiver: an IdentitySet(#name #inheritsFromAnyIn: #asOop
>>>>>>>>> #isWebBrowser #storeOnStream: #wantsDroppe...etc...
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          aBlock:         [closure] in [] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>          index:  394
>>>>>>>>>          each:   #doesNotUnderstand:
>>>>>>>>>          indexLimiT:     498
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          tally:  373
>>>>>>>>>          array:  #(nil nil #name nil #inheritsFromAnyIn:
>>>>>>>>> #asOop nil nil
>>>>>>>>> #isWebBrowser nil...etc...
>>>>>>>>>
>>>>>>>>> [] in [] in UndefinedObject>>DoIt
>>>>>>>>>  Receiver: nil
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>> <<error during printing>
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> nil
>>>>>>>>>
>>>>>>>>> [] in ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>  Receiver: ProtoObject
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          aBlock:         Object
>>>>>>>>>          cl:     [closure] in [] in UndefinedObject>>DoIt
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          superclass:     nil
>>>>>>>>>          methodDict:     a MethodDictionary(#'=='->a
>>>>>>>>> CompiledMethod (602)
>>>>>>>>> #become:->a Compil...etc...
>>>>>>>>>          format:         2
>>>>>>>>>          instanceVariables:      nil
>>>>>>>>>          organization:   ('apply primitives' tryNamedPrimitive
>>>>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>>>>          subclasses:     {Object . ObjectOut .
>>>>>>>>> ImageSegmentRootStub .
>>>>>>>>> MessageCatcher . TestC...etc...
>>>>>>>>>          name:   #ProtoObject
>>>>>>>>>          classPool:      nil
>>>>>>>>>          sharedPools:    nil
>>>>>>>>>          environment:    nil
>>>>>>>>>          category:       #'Kernel-Objects'
>>>>>>>>>          traitComposition:       nil
>>>>>>>>>          localSelectors:         nil
>>>>>>>>>
>>>>>>>>> Array(SequenceableCollection)>>do:
>>>>>>>>>  Receiver: {Object . ObjectOut . ImageSegmentRootStub .
>>>>>>>>> MessageCatcher . TestCoverage}
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          aBlock:         [closure] in ProtoObject
>>>>>>>>> class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>          index:  1
>>>>>>>>>          indexLimiT:     5
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> {Object . ObjectOut . ImageSegmentRootStub . MessageCatcher .
>>>>>>>>> TestCoverage}
>>>>>>>>>
>>>>>>>>> ProtoObject class(Class)>>subclassesDoGently:
>>>>>>>>>  Receiver: ProtoObject
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          aBlock:         [closure] in ProtoObject
>>>>>>>>> class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          superclass:     nil
>>>>>>>>>          methodDict:     a MethodDictionary(#'=='->a
>>>>>>>>> CompiledMethod (602)
>>>>>>>>> #become:->a Compil...etc...
>>>>>>>>>          format:         2
>>>>>>>>>          instanceVariables:      nil
>>>>>>>>>          organization:   ('apply primitives' tryNamedPrimitive
>>>>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>>>>          subclasses:     {Object . ObjectOut .
>>>>>>>>> ImageSegmentRootStub .
>>>>>>>>> MessageCatcher . TestC...etc...
>>>>>>>>>          name:   #ProtoObject
>>>>>>>>>          classPool:      nil
>>>>>>>>>          sharedPools:    nil
>>>>>>>>>          environment:    nil
>>>>>>>>>          category:       #'Kernel-Objects'
>>>>>>>>>          traitComposition:       nil
>>>>>>>>>          localSelectors:         nil
>>>>>>>>>
>>>>>>>>> ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>  Receiver: ProtoObject
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          aBlock:         [closure] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          superclass:     nil
>>>>>>>>>          methodDict:     a MethodDictionary(#'=='->a
>>>>>>>>> CompiledMethod (602)
>>>>>>>>> #become:->a Compil...etc...
>>>>>>>>>          format:         2
>>>>>>>>>          instanceVariables:      nil
>>>>>>>>>          organization:   ('apply primitives' tryNamedPrimitive
>>>>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>>>>          subclasses:     {Object . ObjectOut .
>>>>>>>>> ImageSegmentRootStub .
>>>>>>>>> MessageCatcher . TestC...etc...
>>>>>>>>>          name:   #ProtoObject
>>>>>>>>>          classPool:      nil
>>>>>>>>>          sharedPools:    nil
>>>>>>>>>          environment:    nil
>>>>>>>>>          category:       #'Kernel-Objects'
>>>>>>>>>          traitComposition:       nil
>>>>>>>>>          localSelectors:         nil
>>>>>>>>>
>>>>>>>>> SystemNavigation>>allBehaviorsDo:
>>>>>>>>>  Receiver: a SystemNavigation
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          aBlock:         [closure] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          browserClass:   nil
>>>>>>>>>          hierarchyBrowserClass:  nil
>>>>>>>>>
>>>>>>>>> [] in UndefinedObject>>DoIt
>>>>>>>>>  Receiver: nil
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>> <<error during printing>
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> nil
>>>>>>>>>
>>>>>>>>> [] in ProgressInitiationException>>defaultAction
>>>>>>>>>  Receiver: ProgressInitiationException
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          progress:       [closure] in
>>>>>>>>> SystemProgressMorph>>label:min:max:
>>>>>>>>>          result:         #(nil)
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          messageText:    nil
>>>>>>>>>          tag:    nil
>>>>>>>>>          signalContext:
>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>          handlerContext:         nil
>>>>>>>>>          outerContext:   nil
>>>>>>>>>          workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>>>>          maxVal:         3874
>>>>>>>>>          minVal:         0
>>>>>>>>>          aPoint:         840@306
>>>>>>>>>          progressTitle:  'Searching UTF-8 Problems...'
>>>>>>>>>
>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>  Receiver: [closure] in
>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          aBlock:         [closure] in
>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>          returnValue:    nil
>>>>>>>>>          b:      nil
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          outerContext:
>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>          startpc:        49
>>>>>>>>>          numArgs:        0
>>>>>>>>>
>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>  Receiver: ProgressInitiationException
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          progress:       [closure] in
>>>>>>>>> SystemProgressMorph>>label:min:max:
>>>>>>>>>          result:         #(nil)
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          messageText:    nil
>>>>>>>>>          tag:    nil
>>>>>>>>>          signalContext:
>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>          handlerContext:         nil
>>>>>>>>>          outerContext:   nil
>>>>>>>>>          workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>>>>          maxVal:         3874
>>>>>>>>>          minVal:         0
>>>>>>>>>          aPoint:         840@306
>>>>>>>>>          progressTitle:  'Searching UTF-8 Problems...'
>>>>>>>>>
>>>>>>>>> UndefinedObject>>handleSignal:
>>>>>>>>>  Receiver: nil
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          exception:      ProgressInitiationException
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> nil
>>>>>>>>>
>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>  Receiver: BlockClosure>>on:do:
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          exception:      ProgressInitiationException
>>>>>>>>>          val:    nil
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          sender:         PasteUpMorph>>becomeActiveDuring:
>>>>>>>>>          pc:     17
>>>>>>>>>          stackp:         3
>>>>>>>>>          method:         a CompiledMethod (2306)
>>>>>>>>>          closureOrNil:   nil
>>>>>>>>>          receiver:       [closure] in
>>>>>>>>> PasteUpMorph>>becomeActiveDuring:
>>>>>>>>>
>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>  Receiver: BlockClosure>>on:do:
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          exception:      ProgressInitiationException
>>>>>>>>>          val:    nil
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          sender:
>>>>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>>          pc:     17
>>>>>>>>>          stackp:         3
>>>>>>>>>          method:         a CompiledMethod (2306)
>>>>>>>>>          closureOrNil:   nil
>>>>>>>>>          receiver:       [closure] in
>>>>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>>
>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>  Receiver: ProgressInitiationException
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          messageText:    nil
>>>>>>>>>          tag:    nil
>>>>>>>>>          signalContext:
>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>          handlerContext:         nil
>>>>>>>>>          outerContext:   nil
>>>>>>>>>          workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>>>>          maxVal:         3874
>>>>>>>>>          minVal:         0
>>>>>>>>>          aPoint:         840@306
>>>>>>>>>          progressTitle:  'Searching UTF-8 Problems...'
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --- The full stack ---
>>>>>>>>> UndefinedObject(Object)>>doesNotUnderstand: #value:
>>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>> [] in BlockClosure>>ifError:
>>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>> [] in MethodContext(ContextPart)>>handleSignal:
>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>> Error(Exception)>>signal
>>>>>>>>> Error(Exception)>>signal:
>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>> [] in RemoteString>>text
>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>> RemoteString>>text
>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>> BlockClosure>>on:do:
>>>>>>>>> BlockClosure>>ifError:
>>>>>>>>> [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>> IdentitySet(Set)>>do:
>>>>>>>>> [] in [] in UndefinedObject>>DoIt
>>>>>>>>> [] in ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>> Array(SequenceableCollection)>>do:
>>>>>>>>> ProtoObject class(Class)>>subclassesDoGently:
>>>>>>>>> ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>> SystemNavigation>>allBehaviorsDo:
>>>>>>>>> [] in UndefinedObject>>DoIt
>>>>>>>>> [] in ProgressInitiationException>>defaultAction
>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>> UndefinedObject>>handleSignal:
>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>> - - - - - - - - - - - - - - -
>>>>>>>>>                  - - - - - - - - - - - - - - - - - -
>>>>>>>>> ProgressInitiationException>>display:at:from:to:during:
>>>>>>>>> ProgressInitiationException class>>display:at:from:to:during:
>>>>>>>>> ByteString(String)>>displayProgressAt:from:to:during:
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>> Compiler>>evaluate:in:to:notifying:ifFail:logged:
>>>>>>>>> [] in TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>> BlockClosure>>on:do:
>>>>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>> TextMorphEditor(ParagraphEditor)>>doIt
>>>>>>>>> [] in TextMorphEditor(ParagraphEditor)>>doIt:
>>>>>>>>> TextMorphEditor
>>>>>>>>> (ParagraphEditor)>>terminateAndInitializeAround:
>>>>>>>>> TextMorphEditor(ParagraphEditor)>>doIt:
>>>>>>>>> TextMorphEditor(ParagraphEditor)>>dispatchOnKeyEvent:with:
>>>>>>>>> TextMorphEditor>>dispatchOnKeyEvent:with:
>>>>>>>>> TextMorphEditor(ParagraphEditor)>>keystroke:
>>>>>>>>> TextMorphEditor>>keystroke:
>>>>>>>>> [] in TextMorphForEditView(TextMorph)>>keyStroke:
>>>>>>>>> TextMorphForEditView(TextMorph)>>handleInteraction:
>>>>>>>>> TextMorphForEditView>>handleInteraction:
>>>>>>>>> TextMorphForEditView(TextMorph)>>keyStroke:
>>>>>>>>> TextMorphForEditView>>keyStroke:
>>>>>>>>> TextMorphForEditView(TextMorph)>>handleKeystroke:
>>>>>>>>> KeyboardEvent>>sentTo:
>>>>>>>>> TextMorphForEditView(Morph)>>handleEvent:
>>>>>>>>> TextMorphForEditView(Morph)>>handleFocusEvent:
>>>>>>>>> [] in HandMorph>>sendFocusEvent:to:clear:
>>>>>>>>> [] in PasteUpMorph>>becomeActiveDuring:
>>>>>>>>> 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
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On May 17, 2009, at 11:13 AM, Nicolas Cellier wrote:
>>>>>>>>>
>>>>>>>>>> One solution would be to use getSource rather than
>>>>>>>>>> getSourceFromFile.
>>>>>>>>>> However, with following code I detected no problem in my
>>>>>>>>>> pharo-
>>>>>>>>>> core
>>>>>>>>>> copy (10281 updated to 10306)
>>>>>>>>>>
>>>>>>>>>> | problems total |
>>>>>>>>>> problems := OrderedCollection new.
>>>>>>>>>> total := 0.
>>>>>>>>>> SystemNavigation default allBehaviorsDo: [:cl | total :=
>>>>>>>>>> total +
>>>>>>>>>> 1].
>>>>>>>>>> 'Searching UTF-8 Problems...'
>>>>>>>>>> displayProgressAt: Sensor cursorPoint
>>>>>>>>>> from: 0 to: total
>>>>>>>>>> during:
>>>>>>>>>>         [:bar | | count |
>>>>>>>>>>         count := 0.
>>>>>>>>>>         SystemNavigation default allBehaviorsDo: [:cl |
>>>>>>>>>>                 bar value: (count := count + 1).
>>>>>>>>>>                 cl selectors do: [:sel |
>>>>>>>>>>                         [(cl compiledMethodAt: sel)
>>>>>>>>>> getSourceFromFile] ifError: [
>>>>>>>>>>                                 var value: 'last problem
>>>>>>>>>> found ' , cl name , '>>#' , sel.
>>>>>>>>>>                                 problems add: cl->sel]]]].
>>>>>>>>>> ^problems
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>>>>>>>> yes same here.
>>>>>>>>>>>
>>>>>>>>>>> On May 17, 2009, at 2:10 AM, Tudor Girba wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi,
>>>>>>>>>>>>
>>>>>>>>>>>> Recently I encounter a strange error:
>>>>>>>>>>>> - I sometimes get a debugger due to some problems in my
>>>>>>>>>>>> code
>>>>>>>>>>>> - when I try to investigate the trace, I get another
>>>>>>>>>>>> debugger
>>>>>>>>>>>> saying
>>>>>>>>>>>> that "Invalid utf8 input detected'"
>>>>>>>>>>>>
>>>>>>>>>>>> This second debugger I can investigate, the previous not.
>>>>>>>>>>>> It
>>>>>>>>>>>> looks
>>>>>>>>>>>> like something got messed up with the text conversion of
>>>>>>>>>>>> the
>>>>>>>>>>>> sources.
>>>>>>>>>>>>
>>>>>>>>>>>> I am working on 10306 using the 4.1.1b2 VM on Mac. The code
>>>>>>>>>>>> I am
>>>>>>>>>>>> working on is loaded from squeaksource (Moose, Glamour,
>>>>>>>>>>>> Mondrian).
>>>>>>>>>>>>
>>>>>>>>>>>> Anyone can confirm this problem?
>>>>>>>>>>>>
>>>>>>>>>>>> Cheers,
>>>>>>>>>>>> Doru
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> ----ERROR REPORT----
>>>>>>>>>>>>
>>>>>>>>>>>> '17 May 2009 2:05:50 am
>>>>>>>>>>>>
>>>>>>>>>>>> VM: Mac OS - intel - 1056 - Squeak3.8.1 of ''28 Aug
>>>>>>>>>>>> 2006'' [latest
>>>>>>>>>>>> update: #6747] Squeak VM 4.1.1b2
>>>>>>>>>>>> Image: Pharo0.1 [Latest update: #10306]
>>>>>>>>>>>>
>>>>>>>>>>>> SecurityManager state:
>>>>>>>>>>>> Restricted: false
>>>>>>>>>>>> FileAccess: true
>>>>>>>>>>>> SocketAccess: true
>>>>>>>>>>>> Working Dir /Users/girba/Work/Code/squeakingmoose
>>>>>>>>>>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>>>>>>>>>>>> Untrusted Dir /Users/girba/Library/Preferences/Squeak/
>>>>>>>>>>>> Internet/
>>>>>>>>>>>> My
>>>>>>>>>>>> Squeak
>>>>>>>>>>>>
>>>>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aString:        ''Invalid utf8 input detected''
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>>
>>>>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>>
>>>>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aStream:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>>>>> Work/Code/
>>>>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>>>>        character1:     $
>>>>>>>>>>>>        value1:         160
>>>>>>>>>>>>        character2:     Character tab
>>>>>>>>>>>>        value2:         9
>>>>>>>>>>>>        unicode:        nil
>>>>>>>>>>>>        character3:     Character tab
>>>>>>>>>>>>        value3:         9
>>>>>>>>>>>>        character4:     nil
>>>>>>>>>>>>        value4:         nil
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>>
>>>>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        char:   nil
>>>>>>>>>>>>        secondChar:     nil
>>>>>>>>>>>>        state:  nil
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        terminator:     $!
>>>>>>>>>>>>        out:    a WriteStream ''doesNotUnderstand: aMessage
>>>>>>>>>>>> "Handle the fact that there ...etc...
>>>>>>>>>>>>        ch:     Character cr
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        string:         nil
>>>>>>>>>>>>        runsRaw:        nil
>>>>>>>>>>>>        strm:   nil
>>>>>>>>>>>>        runs:   nil
>>>>>>>>>>>>        peek:   nil
>>>>>>>>>>>>        pos:    nil
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>>>> Receiver: a RemoteString
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        theFile:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>>>>> Work/Code/
>>>>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        sourceFileNumber:       2
>>>>>>>>>>>>        filePositionHi:         10007336
>>>>>>>>>>>>
>>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>>> Receiver: [closure] in RemoteString>>text
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aBlock:         [closure] in RemoteString>>text
>>>>>>>>>>>>        returnValue:    nil
>>>>>>>>>>>>        b:      nil
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        outerContext:   RemoteString>>text
>>>>>>>>>>>>        startpc:        72
>>>>>>>>>>>>        numArgs:        0
>>>>>>>>>>>>
>>>>>>>>>>>> RemoteString>>text
>>>>>>>>>>>> Receiver: a RemoteString
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        theFile:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>>>>> Work/Code/
>>>>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        sourceFileNumber:       2
>>>>>>>>>>>>        filePositionHi:         10007336
>>>>>>>>>>>>
>>>>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        position:       10007336
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>>>
>>>>>>>>>>>> CompiledMethod>>methodNode
>>>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aClass:         Object
>>>>>>>>>>>>        source:         nil
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>>>
>>>>>>>>>>>> [] in DebuggerMethodMap class>>forMethod:
>>>>>>>>>>>> Receiver: DebuggerMethodMap
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aMethod:        a CompiledMethod (838)
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        superclass:     Object
>>>>>>>>>>>>        methodDict:     a
>>>>>>>>>>>> MethodDictionary(#abstractSourceMap-
>>>>>>>>>>>>> a CompiledMethod
>>>>>>>>>>>> (1628) #for...etc...
>>>>>>>>>>>>        format:         140
>>>>>>>>>>>>        instanceVariables:      #(''timestamp''
>>>>>>>>>>>> ''methodReference''
>>>>>>>>>>>> ''methodNode'' ''abstractSource...etc...
>>>>>>>>>>>>        organization:   (''initialize-release''
>>>>>>>>>>>> forMethod:methodNode:)
>>>>>>>>>>>> (''accessing'' markRec...etc...
>>>>>>>>>>>>        subclasses:
>>>>>>>>>>>> {DebuggerMethodMapForBlueBookMethods .
>>>>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>>>>        name:   #DebuggerMethodMap
>>>>>>>>>>>>        classPool:      a Dictionary(#MapCache->a
>>>>>>>>>>>> WeakIdentityKeyDictionary(a
>>>>>>>>>>>> CompiledMethod...etc...
>>>>>>>>>>>>        sharedPools:    nil
>>>>>>>>>>>>        environment:    Smalltalk
>>>>>>>>>>>>        category:       #''Tools-Debugger''
>>>>>>>>>>>>        traitComposition:       nil
>>>>>>>>>>>>        localSelectors:         nil
>>>>>>>>>>>>
>>>>>>>>>>>> WeakIdentityKeyDictionary(Dictionary)>>at:ifAbsent:
>>>>>>>>>>>> Receiver: a WeakIdentityKeyDictionary(a CompiledMethod
>>>>>>>>>>>> (126)-
>>>>>>>>>>>>> a
>>>>>>>>>>>> DebuggerMethodMapForClosureCompiledM...etc...
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        key:    a CompiledMethod (838)
>>>>>>>>>>>>        aBlock:         [closure] in DebuggerMethodMap
>>>>>>>>>>>> class>>forMethod:
>>>>>>>>>>>>        assoc:  nil
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        tally:  16
>>>>>>>>>>>>        array:  an Array(nil nil a CompiledMethod (2402)->a
>>>>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> DebuggerMethodMap class>>forMethod:
>>>>>>>>>>>> Receiver: DebuggerMethodMap
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aMethod:        a CompiledMethod (838)
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        superclass:     Object
>>>>>>>>>>>>        methodDict:     a
>>>>>>>>>>>> MethodDictionary(#abstractSourceMap-
>>>>>>>>>>>>> a CompiledMethod
>>>>>>>>>>>> (1628) #for...etc...
>>>>>>>>>>>>        format:         140
>>>>>>>>>>>>        instanceVariables:      #(''timestamp''
>>>>>>>>>>>> ''methodReference''
>>>>>>>>>>>> ''methodNode'' ''abstractSource...etc...
>>>>>>>>>>>>        organization:   (''initialize-release''
>>>>>>>>>>>> forMethod:methodNode:)
>>>>>>>>>>>> (''accessing'' markRec...etc...
>>>>>>>>>>>>        subclasses:
>>>>>>>>>>>> {DebuggerMethodMapForBlueBookMethods .
>>>>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>>>>        name:   #DebuggerMethodMap
>>>>>>>>>>>>        classPool:      a Dictionary(#MapCache->a
>>>>>>>>>>>> WeakIdentityKeyDictionary(a
>>>>>>>>>>>> CompiledMethod...etc...
>>>>>>>>>>>>        sharedPools:    nil
>>>>>>>>>>>>        environment:    Smalltalk
>>>>>>>>>>>>        category:       #''Tools-Debugger''
>>>>>>>>>>>>        traitComposition:       nil
>>>>>>>>>>>>        localSelectors:         nil
>>>>>>>>>>>>
>>>>>>>>>>>> CompiledMethod>>debuggerMap
>>>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>>>
>>>>>>>>>>>> OTClosureContextNode>>selection
>>>>>>>>>>>> Receiver: an OTClosureContextNode
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        metaNode:       context
>>>>>>>>>>>>
>>>>>>>>>>>>        navigation:     an OBDefaultEdgeNavigation
>>>>>>>>>>>>        process:        a Process in OTToolset
>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>        context:        Model
>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>        parseTree:      nil
>>>>>>>>>>>>        sourceMap:      nil
>>>>>>>>>>>>        debuggerMap:    nil
>>>>>>>>>>>>
>>>>>>>>>>>> OTClosureContextNode(OTContextNode)>>definition
>>>>>>>>>>>> Receiver: an OTClosureContextNode
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        metaNode:       context
>>>>>>>>>>>>
>>>>>>>>>>>>        navigation:     an OBDefaultEdgeNavigation
>>>>>>>>>>>>        process:        a Process in OTToolset
>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>        context:        Model
>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>        parseTree:      nil
>>>>>>>>>>>>        sourceMap:      nil
>>>>>>>>>>>>        debuggerMap:    nil
>>>>>>>>>>>>
>>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>node:
>>>>>>>>>>>> Receiver: an OTDefinitionPanel
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aNode:  an OTClosureContextNode
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        browser:        an OTDebugger
>>>>>>>>>>>>        definition:     nil
>>>>>>>>>>>>        selection:      nil
>>>>>>>>>>>>
>>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>selectionChanged:
>>>>>>>>>>>> Receiver: an OTDefinitionPanel
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        ann:    an OBSelectionChanged
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        browser:        an OTDebugger
>>>>>>>>>>>>        definition:     nil
>>>>>>>>>>>>        selection:      nil
>>>>>>>>>>>>
>>>>>>>>>>>> MessageSend>>valueWithArguments:
>>>>>>>>>>>> Receiver: MessageSend(#selectionChanged: -> an
>>>>>>>>>>>> OTDefinitionPanel)
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        anArray:        an Array(an OBSelectionChanged)
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        receiver:       an OTDefinitionPanel
>>>>>>>>>>>>        selector:       #selectionChanged:
>>>>>>>>>>>>        arguments:      #()
>>>>>>>>>>>>
>>>>>>>>>>>> [] in ActionSequence>>valueWithArguments:
>>>>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        anArray:        MessageSend(#selectionChanged: -> an
>>>>>>>>>>>> OTDefinitionPanel)
>>>>>>>>>>>>        answer:         an Array(an OBSelectionChanged)
>>>>>>>>>>>>        each:   an Array(an OBFixedButtonPanel)
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> ActionSequence(SequenceableCollection)>>do:
>>>>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aBlock:         [closure] in
>>>>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>>>>>        index:  4
>>>>>>>>>>>>        indexLimiT:     6
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        anArray:        an Array(an OBSelectionChanged)
>>>>>>>>>>>>        answer:         an Array(an OBFixedButtonPanel)
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> [] in OBAnnouncer>>announce:
>>>>>>>>>>>> Receiver: an OBAnnouncer
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>> <<error during printing>
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        subscriptions:  an
>>>>>>>>>>>> IdentityDictionary(OBAboutToChange-
>>>>>>>>>>>>> an
>>>>>>>>>>>> ActionSequence(Message...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> [] in IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aBlock:         OBSelectionChanged-
>>>>>>>>>>>>> #(MessageSend(#relabel: -> an
>>>>>>>>>>>> OTDebugger)
>>>>>>>>>>>> MessageSe...etc...
>>>>>>>>>>>>        assoc:  [closure] in OBAnnouncer>>announce:
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        tally:  12
>>>>>>>>>>>>        array:  {OBNodeCreated->an
>>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> IdentityDictionary(Set)>>do:
>>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aBlock:         [closure] in
>>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>>        index:  6
>>>>>>>>>>>>        each:   OBSelectionChanged-
>>>>>>>>>>>> >#(MessageSend(#relabel: -
>>>>>>>>>>>>> an OTDebugger)
>>>>>>>>>>>> MessageSend...etc...
>>>>>>>>>>>>        indexLimiT:     20
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        tally:  12
>>>>>>>>>>>>        array:  {OBNodeCreated->an
>>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> IdentityDictionary(Dictionary)>>associationsDo:
>>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aBlock:         [closure] in
>>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        tally:  12
>>>>>>>>>>>>        array:  {OBNodeCreated->an
>>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aBlock:         [closure] in OBAnnouncer>>announce:
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        tally:  12
>>>>>>>>>>>>        array:  {OBNodeCreated->an
>>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> OBAnnouncer>>announce:
>>>>>>>>>>>> Receiver: an OBAnnouncer
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        anObject:       an OBSelectionChanged
>>>>>>>>>>>>        ann:    an OBSelectionChanged
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        subscriptions:  an
>>>>>>>>>>>> IdentityDictionary(OBAboutToChange-
>>>>>>>>>>>>> an
>>>>>>>>>>>> ActionSequence(Message...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> OBColumnPanel>>jumpTo:
>>>>>>>>>>>> Receiver: an OBColumnPanel
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aNode:  an OTClosureContextNode
>>>>>>>>>>>>        column:         an OBColumn(Model
>>>>>>>>>>>> class(Object)>>doesNotUnderstand:
>>>>>>>>>>>> #fullName)
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        browser:        an OTDebugger
>>>>>>>>>>>>        root:   an OTProcessNode
>>>>>>>>>>>>        current:        an OTClosureContextNode
>>>>>>>>>>>>        columns:        an OrderedCollection(an
>>>>>>>>>>>> OBColumn(Model
>>>>>>>>>>>> class(Object)>>doesNotUnderstan...etc...
>>>>>>>>>>>>        minPanes:       1
>>>>>>>>>>>>        maxPanes:       1
>>>>>>>>>>>>
>>>>>>>>>>>> OTDebugger(OBBrowser)>>jumpTo:
>>>>>>>>>>>> Receiver: an OTDebugger
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aNode:  an OTClosureContextNode
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        panels:         an OrderedCollection(an
>>>>>>>>>>>> OBColumnPanel
>>>>>>>>>>>> an OBFixedButtonPanel
>>>>>>>>>>>> an OTDefini...etc...
>>>>>>>>>>>>        announcer:      an OBAnnouncer
>>>>>>>>>>>>        cmdFactories:   an Array(OTCmdProceedDebugger
>>>>>>>>>>>> OTCmdIntoDebugger
>>>>>>>>>>>> OTCmdThroughDebug...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> OTDebugger class(OBBrowser
>>>>>>>>>>>> class)>>metaNode:root:selection:panels:
>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        metaNode:       process
>>>>>>>>>>>> #longStack->context
>>>>>>>>>>>>
>>>>>>>>>>>>        rootNode:       an OTProcessNode
>>>>>>>>>>>>        selectedNode:   an OTClosureContextNode
>>>>>>>>>>>>        panels:         an Array(an OBColumnPanel an
>>>>>>>>>>>> OBFixedButtonPanel an
>>>>>>>>>>>> OTDefinitionPanel an...etc...
>>>>>>>>>>>>        browser:        an OTDebugger
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        superclass:     OBBrowser
>>>>>>>>>>>>        methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>        format:         136
>>>>>>>>>>>>        instanceVariables:      nil
>>>>>>>>>>>>        organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>        subclasses:     nil
>>>>>>>>>>>>        name:   #OTDebugger
>>>>>>>>>>>>        classPool:      nil
>>>>>>>>>>>>        sharedPools:    nil
>>>>>>>>>>>>        environment:    Smalltalk
>>>>>>>>>>>>        category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>        traitComposition:       nil
>>>>>>>>>>>>        localSelectors:         nil
>>>>>>>>>>>>
>>>>>>>>>>>> OTDebugger class(OBBrowser class)>>root:selection:
>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        rootNode:       an OTProcessNode
>>>>>>>>>>>>        selectedNode:   an OTClosureContextNode
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        superclass:     OBBrowser
>>>>>>>>>>>>        methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>        format:         136
>>>>>>>>>>>>        instanceVariables:      nil
>>>>>>>>>>>>        organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>        subclasses:     nil
>>>>>>>>>>>>        name:   #OTDebugger
>>>>>>>>>>>>        classPool:      nil
>>>>>>>>>>>>        sharedPools:    nil
>>>>>>>>>>>>        environment:    Smalltalk
>>>>>>>>>>>>        category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>        traitComposition:       nil
>>>>>>>>>>>>        localSelectors:         nil
>>>>>>>>>>>>
>>>>>>>>>>>> OTDebugger class>>process:context:errorWasInUIProcess:
>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aProcess:       a Process in OTToolset
>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>        aContext:       Model
>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>        aBool:  true
>>>>>>>>>>>>        processNode:    an OTProcessNode
>>>>>>>>>>>>        contextNode:    an OTClosureContextNode
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        superclass:     OBBrowser
>>>>>>>>>>>>        methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>        format:         136
>>>>>>>>>>>>        instanceVariables:      nil
>>>>>>>>>>>>        organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>        subclasses:     nil
>>>>>>>>>>>>        name:   #OTDebugger
>>>>>>>>>>>>        classPool:      nil
>>>>>>>>>>>>        sharedPools:    nil
>>>>>>>>>>>>        environment:    Smalltalk
>>>>>>>>>>>>        category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>        traitComposition:       nil
>>>>>>>>>>>>        localSelectors:         nil
>>>>>>>>>>>>
>>>>>>>>>>>> OTDebugger
>>>>>>>>>>>> class>>process:context:label:errorWasInUIProcess:
>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aProcess:       a Process in OTToolset
>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>        aContext:       Model
>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>        aString:        ''MessageNotUnderstood: Model
>>>>>>>>>>>> class>>fullName''
>>>>>>>>>>>>        aBool:  true
>>>>>>>>>>>>        debugger:       nil
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        superclass:     OBBrowser
>>>>>>>>>>>>        methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>        format:         136
>>>>>>>>>>>>        instanceVariables:      nil
>>>>>>>>>>>>        organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>        subclasses:     nil
>>>>>>>>>>>>        name:   #OTDebugger
>>>>>>>>>>>>        classPool:      nil
>>>>>>>>>>>>        sharedPools:    nil
>>>>>>>>>>>>        environment:    Smalltalk
>>>>>>>>>>>>        category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>        traitComposition:       nil
>>>>>>>>>>>>        localSelectors:         nil
>>>>>>>>>>>>
>>>>>>>>>>>> OTDebugger
>>>>>>>>>>>> class>>openProcess:context:label:errorWasInUIProcess:
>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aProcess:       a Process in OTToolset
>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>        aContext:       Model
>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>        aString:        ''MessageNotUnderstood: Model
>>>>>>>>>>>> class>>fullName''
>>>>>>>>>>>>        aBool:  true
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        superclass:     OBBrowser
>>>>>>>>>>>>        methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>        format:         136
>>>>>>>>>>>>        instanceVariables:      nil
>>>>>>>>>>>>        organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>        subclasses:     nil
>>>>>>>>>>>>        name:   #OTDebugger
>>>>>>>>>>>>        classPool:      nil
>>>>>>>>>>>>        sharedPools:    nil
>>>>>>>>>>>>        environment:    Smalltalk
>>>>>>>>>>>>        category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>        traitComposition:       nil
>>>>>>>>>>>>        localSelectors:         nil
>>>>>>>>>>>>
>>>>>>>>>>>> [] in OTPreDebugNode>>debug:
>>>>>>>>>>>> Receiver: an OTPreDebugNode
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aRequestor:     an OTPreDebugPanel
>>>>>>>>>>>>        proc:   a Process in OTToolset
>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        metaNode:       Predebug
>>>>>>>>>>>>
>>>>>>>>>>>>        navigation:     nil
>>>>>>>>>>>>        errorWasInUI:   true
>>>>>>>>>>>>        process:        nil
>>>>>>>>>>>>        context:        Model
>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>        label:  ''MessageNotUnderstood: Model
>>>>>>>>>>>> class>>fullName''
>>>>>>>>>>>>        contents:       ''Model
>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>> UtilitiesTest>>tes...etc...
>>>>>>>>>>>>        debugOnMouseClick:      true
>>>>>>>>>>>>
>>>>>>>>>>>> WorldState>>runStepMethodsIn:
>>>>>>>>>>>> Receiver: a WorldState
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aWorld:         a PasteUpMorph(1622) [world]
>>>>>>>>>>>>        queue:  a SharedQueue
>>>>>>>>>>>>        numItems:       1
>>>>>>>>>>>>        i:      0
>>>>>>>>>>>>        limit:  200
>>>>>>>>>>>>        stamp:  12765762
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        hands:  an Array(a HandMorph(3216))
>>>>>>>>>>>>        viewBox:        0@0 corner: 1440@807
>>>>>>>>>>>>        canvas:         a FormCanvas on:
>>>>>>>>>>>> DisplayScreen(1440x807x32)
>>>>>>>>>>>>        damageRecorder:         a DamageRecorder
>>>>>>>>>>>>        stepList:       a Heap(StepMessage(#stepAt: -> a
>>>>>>>>>>>> SystemWindow(3380))(a
>>>>>>>>>>>> SystemWindow(3...etc...
>>>>>>>>>>>>        lastStepTime:   12791780
>>>>>>>>>>>>        lastStepMessage:        nil
>>>>>>>>>>>>        lastCycleTime:  12791800
>>>>>>>>>>>>        commandHistory:         a CommandHistory
>>>>>>>>>>>>        alarms:         a Heap()
>>>>>>>>>>>>        lastAlarmTime:  12791780
>>>>>>>>>>>>
>>>>>>>>>>>> PasteUpMorph>>runStepMethods
>>>>>>>>>>>> Receiver: a PasteUpMorph(1622) [world]
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        bounds:         0@0 corner: 1440@807
>>>>>>>>>>>>        owner:  nil
>>>>>>>>>>>>        submorphs:      an Array(a TaskbarMorph(3095) a
>>>>>>>>>>>> SystemWindow(171) a
>>>>>>>>>>>> PluggableStandar...etc...
>>>>>>>>>>>>        fullBounds:     nil
>>>>>>>>>>>>        color:  (Color r: 0.972 g: 0.972 b: 0.976)
>>>>>>>>>>>>        extension:      a MorphExtension (2543)
>>>>>>>>>>>> [eventHandler
>>>>>>>>>>>> = an
>>>>>>>>>>>> EventHandler]  [other:  (...etc...
>>>>>>>>>>>>        borderWidth:    0
>>>>>>>>>>>>        borderColor:    (Color r: 0.03 g: 0.02 b: 0.0)
>>>>>>>>>>>>        presenter:      a Presenter (1246)
>>>>>>>>>>>>        model:  a MorphicModel(1926)
>>>>>>>>>>>>        cursor:         1
>>>>>>>>>>>>        padding:        3
>>>>>>>>>>>>        backgroundMorph:        nil
>>>>>>>>>>>>        isPartsBin:     nil
>>>>>>>>>>>>        autoLineLayout:         false
>>>>>>>>>>>>        indicateCursor:         nil
>>>>>>>>>>>>        resizeToFit:    nil
>>>>>>>>>>>>        wantsMouseOverHalos:    nil
>>>>>>>>>>>>        worldState:     a WorldState
>>>>>>>>>>>>        griddingOn:     nil
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --- The full stack ---
>>>>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>>> RemoteString>>text
>>>>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>>>> CompiledMethod>>methodNode
>>>>>>>>>>>> [] in DebuggerMethodMap class>>forMethod:
>>>>>>>>>>>> WeakIdentityKeyDictionary(Dictionary)>>at:ifAbsent:
>>>>>>>>>>>> DebuggerMethodMap class>>forMethod:
>>>>>>>>>>>> CompiledMethod>>debuggerMap
>>>>>>>>>>>> OTClosureContextNode>>selection
>>>>>>>>>>>> OTClosureContextNode(OTContextNode)>>definition
>>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>node:
>>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>selectionChanged:
>>>>>>>>>>>> MessageSend>>valueWithArguments:
>>>>>>>>>>>> [] in ActionSequence>>valueWithArguments:
>>>>>>>>>>>> ActionSequence(SequenceableCollection)>>do:
>>>>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>>>>> [] in OBAnnouncer>>announce:
>>>>>>>>>>>> [] in IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>> IdentityDictionary(Set)>>do:
>>>>>>>>>>>> IdentityDictionary(Dictionary)>>associationsDo:
>>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>> OBAnnouncer>>announce:
>>>>>>>>>>>> OBColumnPanel>>jumpTo:
>>>>>>>>>>>> OTDebugger(OBBrowser)>>jumpTo:
>>>>>>>>>>>> OTDebugger class(OBBrowser
>>>>>>>>>>>> class)>>metaNode:root:selection:panels:
>>>>>>>>>>>> OTDebugger class(OBBrowser class)>>root:selection:
>>>>>>>>>>>> OTDebugger class>>process:context:errorWasInUIProcess:
>>>>>>>>>>>> OTDebugger
>>>>>>>>>>>> class>>process:context:label:errorWasInUIProcess:
>>>>>>>>>>>> OTDebugger
>>>>>>>>>>>> class>>openProcess:context:label:errorWasInUIProcess:
>>>>>>>>>>>> [] in OTPreDebugNode>>debug:
>>>>>>>>>>>> WorldState>>runStepMethodsIn:
>>>>>>>>>>>> PasteUpMorph>>runStepMethods
>>>>>>>>>>>> - - - - - - - - - - - - - - -
>>>>>>>>>>>>                - - - - - - - - - - - - - - - - - -
>>>>>>>>>>>> WorldState>>doOneCycleNowFor:
>>>>>>>>>>>> WorldState>>doOneCycleFor:
>>>>>>>>>>>> PasteUpMorph>>doOneCycle
>>>>>>>>>>>> [] in Project class>>spawnNewProcess
>>>>>>>>>>>> [] in BlockClosure>>newProcess
>>>>>>>>>>>> '
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> www.tudorgirba.com
>>>>>>>>>>>>
>>>>>>>>>>>> "To lead is not to demand things, it is to make them
>>>>>>>>>>>> happen."
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>>>> [hidden email]
>>>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/
>>>>>>>>>>>> pharo-
>>>>>>>>>>>> project
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>>> [hidden email]
>>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>> [hidden email]
>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>>>>>> project
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Pharo-project mailing list
>>>>>>>>> [hidden email]
>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Pharo-project mailing list
>>>>>>>> [hidden email]
>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Pharo-project mailing list
>>>>>>> [hidden email]
>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>>> project
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Pharo-project mailing list
>>>>>> [hidden email]
>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>
>>>>>
>>>>> --
>>>>> www.tudorgirba.com
>>>>>
>>>>> "It's not how it is, it is how we see it."
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Pharo-project mailing list
>>>>> [hidden email]
>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>> project
>>>>>
>>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [hidden email]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>

--
www.tudorgirba.com

"Some battles are better lost than fought."




_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: invalid utf8 input detected

Mariano Martinez Peck
Sorry for the honesty but we cannot release an image or put something in the upstream where you cannot even do a simple right click or debug.

Cheers,

Mariano

pd: I don't want to be agressive just honest

2009/5/22 Hernan Wilkinson <[hidden email]>
yes please!

On Fri, May 22, 2009 at 7:01 PM, Tudor Girba <[hidden email]> wrote:
Hi,

Could we not solve this for the couple of offending methods for the
moment? Having a problem in Object>>doesNotUnderstand: makes the whole
debugging a pain because I can actually not debug such a case.

Cheers,
Doru


On 19 May 2009, at 22:03, Nicolas Cellier wrote:

> I opened http://code.google.com/p/pharo/issues/detail?id=830
>
> I think other UTF-8 issues are different:
> Two for FileBrowser :
>    http://code.google.com/p/pharo/issues/detail?id=370
>    http://code.google.com/p/pharo/issues/detail?id=513
> One about VM crash :
>    http://code.google.com/p/pharo/issues/detail?id=744
>
> Nicolas
>
> 2009/5/19 Stéphane Ducasse <[hidden email]>:
>> thanks for making progress on this front.
>>
>> On May 19, 2009, at 6:40 PM, Nicolas Cellier wrote:
>>
>>>> From what I see in a 10304, all these methods had a non ASCII
>>> character in comment:
>>>
>>> {Object>>#doesNotUnderstand:.
>>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>>> Utilities class>>#changeStampPerSe.
>>> Utilities class>>#methodsWithInitials:} collect: [:e | (e
>>> getSourceFromFile select: [:s | s charCode > 127]) asArray collect:
>>> [:c | c charCode]]
>>> #(#(160 160) #(172 143 172 143) #(183) #(246))
>>> That is:
>>>
>>> an Array(a Text for '  ' a Text for '¬∂¬∂' a Text for '·' a
>>> Text for 'ö')
>>> First are non breaking space.
>>> Last but ones are not rendered same in Squeak.
>>>
>>> These four methods are changed in:
>>> - Kernel-stephane_ducasse.renggli.319.mcz
>>> - System-Support-stephane_ducasse.20.mcz
>>> If I merge 10305 manually, I get some decompiled code in the merge
>>> window.
>>> So there might be a problem already either in Monticello or in
>>> the .mcz.
>>> After the merge, there is decomipled code in the changes and no
>>> error
>>> when executing above code.
>>>
>>> If I load instead of merging, then I also get the decompiled code in
>>> the change log, so I can't reproduce completely the faulty behavior
>>> (having an invalid utf-8 notifier), maybe because the process is no
>>> the same when there are conflicts...
>>>
>>> If I extract .mcz contents, I can read contents from FileBrowser.
>>> But
>>> it does not use an UTF-8 encoding...
>>> I can't say if the encoding is macRoman or ISO8859L1 or CP1252 or
>>> what, but what I can say is that the source.st is not UTF-8 encoded.
>>>
>>> So without searching further I guess here lies the problems:
>>> transfer
>>> of raw bytes from non UTF-8 .mcz/source.st to the UTF-8 .changes
>>> change-log...
>>>
>>> Every time we'll modify a method with a Character code > 127, we
>>> will
>>> likely create an invalid UTF-8 bug or get some decompiled code, or
>>> corrupt source code in extreme case...
>>>
>>> Could the Monticello / UTF-8 experts confirm my guess ?
>>>
>>> Nicolas
>>>
>>> 2009/5/17 Nicolas Cellier <[hidden email]>:
>>>> OK,
>>>>
>>>> {Object>>#doesNotUnderstand:.
>>>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>>>> Utilities class>>#changeStampPerSe.
>>>> Utilities class>>#methodsWithInitials:} collect: [:e | e
>>>> getSourceFromFile].
>>>>
>>>> does not fail for me, BUT all these sources look like
>>>> decompileString.
>>>> I guess this is dating from the condenseChanges that occured in
>>>> #update10298
>>>> Change log prior to this update should have the problem.
>>>>
>>>> Nicolas
>>>>
>>>> 2009/5/17 Tudor Girba <[hidden email]>:
>>>>> Hi,
>>>>>
>>>>> I ran the snippet you sent on both 304cl and 306cl and I get the
>>>>> following list:
>>>>>
>>>>> Object->#doesNotUnderstand:
>>>>> SystemNavigation->#browseMethodsWhoseNamesContain:
>>>>> Utilities class->#changeStampPerSe
>>>>> Utilities class->#methodsWithInitials:
>>>>>
>>>>> Indeed, most of the annoyances are due to the
>>>>> Object>>doesNotUnderstand: because when I get a DNU I am stuck
>>>>> (and I
>>>>> feel like in Java :)).
>>>>>
>>>>> I am not sure I understand if there is a fix to the problem.
>>>>>
>>>>> Cheers,
>>>>> Doru
>>>>>
>>>>>
>>>>>
>>>>> On 17 May 2009, at 12:06, Nicolas Cellier wrote:
>>>>>
>>>>>> There's something weird... If you hit var (UndefinedObject)
>>>>>> doesNotUnderstand: #value: that means there were a problem the
>>>>>> first
>>>>>> time.
>>>>>>
>>>>>> Unfortunately, due to bug in MethodContext tempNames, we don't
>>>>>> know
>>>>>> the class and selector guilty.
>>>>>> From the set of selectors I can see this is Object.
>>>>>> From the source file position, I cannot say anything because I do
>>>>>> not
>>>>>> have same change log history (sorry, own image).
>>>>>>
>>>>>> You could try
>>>>>> (SourceFiles at: 2) readOnlyCopy position: 10007336; nextChunk
>>>>>>
>>>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>>>> sorry for not checking either.
>>>>>>> When I run this code I indeed do not have a problem on 10306cl
>>>>>>>
>>>>>>> stef
>>>>>>>
>>>>>>> On May 17, 2009, at 11:36 AM, Nicolas Cellier wrote:
>>>>>>>
>>>>>>>> Sure, a key stroke error, it's bar value:, not var value:,
>>>>>>>> This @!* workspace takes it as global without a warning....
>>>>>>>>
>>>>>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>>>>>> Nicolas
>>>>>>>>>
>>>>>>>>> when I run your script on the license looking for image
>>>>>>>>> I got using 10306cl
>>>>>>>>>
>>>>>>>>> I get the following error:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> VM: Mac OS - intel - 1056 - Squeak3.8.1 of '28 Aug
>>>>>>>>> 2006' [latest
>>>>>>>>> update: #6747] Squeak VM 4.1.1b2
>>>>>>>>> Image: Pharo0.1 [Latest update: #10306]
>>>>>>>>>
>>>>>>>>> SecurityManager state:
>>>>>>>>> Restricted: false
>>>>>>>>> FileAccess: true
>>>>>>>>> SocketAccess: true
>>>>>>>>> Working Dir /Data/squeak4.0-relicenseTools/history
>>>>>>>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>>>>>>>>> Untrusted Dir /Users/ducasse/Library/Preferences/Squeak/
>>>>>>>>> Internet/My
>>>>>>>>> Squeak
>>>>>>>>>
>>>>>>>>> UndefinedObject(Object)>>doesNotUnderstand: #value:
>>>>>>>>>  Receiver: nil
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>> <<error during printing>
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> nil
>>>>>>>>>
>>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>  Receiver: nil
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>> <<error during printing>
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> nil
>>>>>>>>>
>>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>>  Receiver: [closure] in [] in [] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          anArray:        an Array('Error: Invalid utf8 input
>>>>>>>>> detected' an
>>>>>>>>> UTF8TextConverter)
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          outerContext:   [] in [] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>          startpc:        183
>>>>>>>>>          numArgs:        0
>>>>>>>>>
>>>>>>>>> [] in BlockClosure>>ifError:
>>>>>>>>>  Receiver: [closure] in [] in [] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          errorHandlerBlock:      Error: Invalid utf8 input
>>>>>>>>> detected
>>>>>>>>>          ex:     [closure] in [] in [] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          outerContext:   [] in [] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>          startpc:        171
>>>>>>>>>          numArgs:        0
>>>>>>>>>
>>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>>  Receiver: [closure] in BlockClosure>>ifError:
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          anArray:        an Array(Error: Invalid utf8 input
>>>>>>>>> detected)
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          outerContext:   BlockClosure>>ifError:
>>>>>>>>>          startpc:        40
>>>>>>>>>          numArgs:        1
>>>>>>>>>
>>>>>>>>> [] in MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>  Receiver: BlockClosure>>on:do:
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>> <<error during printing>
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          sender:         BlockClosure>>ifError:
>>>>>>>>>          pc:     17
>>>>>>>>>          stackp:         3
>>>>>>>>>          method:         a CompiledMethod (2306)
>>>>>>>>>          closureOrNil:   nil
>>>>>>>>>          receiver:       [closure] in [] in [] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>
>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>  Receiver: [closure] in
>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          aBlock:         [closure] in
>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>          returnValue:    nil
>>>>>>>>>          b:      nil
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          outerContext:
>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>          startpc:        90
>>>>>>>>>          numArgs:        0
>>>>>>>>>
>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>  Receiver: BlockClosure>>on:do:
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          exception:      Error: Invalid utf8 input detected
>>>>>>>>>          val:    nil
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          sender:         BlockClosure>>ifError:
>>>>>>>>>          pc:     17
>>>>>>>>>          stackp:         3
>>>>>>>>>          method:         a CompiledMethod (2306)
>>>>>>>>>          closureOrNil:   nil
>>>>>>>>>          receiver:       [closure] in [] in [] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>
>>>>>>>>> Error(Exception)>>signal
>>>>>>>>>  Receiver: Error: Invalid utf8 input detected
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          messageText:    'Invalid utf8 input detected'
>>>>>>>>>          tag:    nil
>>>>>>>>>          signalContext:  Error(Exception)>>signal
>>>>>>>>>          handlerContext:         BlockClosure>>on:do:
>>>>>>>>>          outerContext:   nil
>>>>>>>>>
>>>>>>>>> Error(Exception)>>signal:
>>>>>>>>>  Receiver: Error: Invalid utf8 input detected
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          signalerText:   'Invalid utf8 input detected'
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          messageText:    'Invalid utf8 input detected'
>>>>>>>>>          tag:    nil
>>>>>>>>>          signalContext:  Error(Exception)>>signal
>>>>>>>>>          handlerContext:         BlockClosure>>on:do:
>>>>>>>>>          outerContext:   nil
>>>>>>>>>
>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>  Receiver: an UTF8TextConverter
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          aString:        'Invalid utf8 input detected'
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> an UTF8TextConverter
>>>>>>>>>
>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>  Receiver: an UTF8TextConverter
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> an UTF8TextConverter
>>>>>>>>>
>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>  Receiver: an UTF8TextConverter
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          aStream:        MultiByteFileStream: '/Data/
>>>>>>>>> squeak4.0-
>>>>>>>>> relicenseTools/
>>>>>>>>> history/Pharo0.1C...etc...
>>>>>>>>>          character1:     $
>>>>>>>>>          value1:         160
>>>>>>>>>          character2:     Character tab
>>>>>>>>>          value2:         9
>>>>>>>>>          unicode:        nil
>>>>>>>>>          character3:     Character tab
>>>>>>>>>          value3:         9
>>>>>>>>>          character4:     nil
>>>>>>>>>          value4:         nil
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> an UTF8TextConverter
>>>>>>>>>
>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>  Receiver: MultiByteFileStream: '/Data/squeak4.0-
>>>>>>>>> relicenseTools/
>>>>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          char:   nil
>>>>>>>>>          secondChar:     nil
>>>>>>>>>          state:  nil
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>  Receiver: MultiByteFileStream: '/Data/squeak4.0-
>>>>>>>>> relicenseTools/
>>>>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          terminator:     $!
>>>>>>>>>          out:    a WriteStream 'doesNotUnderstand: aMessage
>>>>>>>>>   "Handle the fact that there ...etc...
>>>>>>>>>          ch:     Character cr
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>  Receiver: MultiByteFileStream: '/Data/squeak4.0-
>>>>>>>>> relicenseTools/
>>>>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          string:         nil
>>>>>>>>>          runsRaw:        nil
>>>>>>>>>          strm:   nil
>>>>>>>>>          runs:   nil
>>>>>>>>>          peek:   nil
>>>>>>>>>          pos:    nil
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>  Receiver: a RemoteString
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          theFile:        MultiByteFileStream: '/Data/
>>>>>>>>> squeak4.0-
>>>>>>>>> relicenseTools/
>>>>>>>>> history/Pharo0.1C...etc...
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          sourceFileNumber:       2
>>>>>>>>>          filePositionHi:         10007336
>>>>>>>>>
>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>  Receiver: [closure] in RemoteString>>text
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          aBlock:         [closure] in RemoteString>>text
>>>>>>>>>          returnValue:    nil
>>>>>>>>>          b:      nil
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          outerContext:   RemoteString>>text
>>>>>>>>>          startpc:        72
>>>>>>>>>          numArgs:        0
>>>>>>>>>
>>>>>>>>> RemoteString>>text
>>>>>>>>>  Receiver: a RemoteString
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          theFile:        MultiByteFileStream: '/Data/
>>>>>>>>> squeak4.0-
>>>>>>>>> relicenseTools/
>>>>>>>>> history/Pharo0.1C...etc...
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          sourceFileNumber:       2
>>>>>>>>>          filePositionHi:         10007336
>>>>>>>>>
>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>  Receiver: a CompiledMethod (838)
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          position:       10007336
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>
>>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>  Receiver: nil
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>> <<error during printing>
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> nil
>>>>>>>>>
>>>>>>>>> BlockClosure>>on:do:
>>>>>>>>>  Receiver: [closure] in [] in [] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          exception:      Error
>>>>>>>>>          handlerAction:  [closure] in BlockClosure>>ifError:
>>>>>>>>>          handlerActive:  false
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          outerContext:   [] in [] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>          startpc:        171
>>>>>>>>>          numArgs:        0
>>>>>>>>>
>>>>>>>>> BlockClosure>>ifError:
>>>>>>>>>  Receiver: [closure] in [] in [] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          errorHandlerBlock:      [closure] in [] in [] in []
>>>>>>>>> in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          outerContext:   [] in [] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>          startpc:        171
>>>>>>>>>          numArgs:        0
>>>>>>>>>
>>>>>>>>> [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>  Receiver: nil
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>> <<error during printing>
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> nil
>>>>>>>>>
>>>>>>>>> IdentitySet(Set)>>do:
>>>>>>>>>  Receiver: an IdentitySet(#name #inheritsFromAnyIn: #asOop
>>>>>>>>> #isWebBrowser #storeOnStream: #wantsDroppe...etc...
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          aBlock:         [closure] in [] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>          index:  394
>>>>>>>>>          each:   #doesNotUnderstand:
>>>>>>>>>          indexLimiT:     498
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          tally:  373
>>>>>>>>>          array:  #(nil nil #name nil #inheritsFromAnyIn:
>>>>>>>>> #asOop nil nil
>>>>>>>>> #isWebBrowser nil...etc...
>>>>>>>>>
>>>>>>>>> [] in [] in UndefinedObject>>DoIt
>>>>>>>>>  Receiver: nil
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>> <<error during printing>
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> nil
>>>>>>>>>
>>>>>>>>> [] in ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>  Receiver: ProtoObject
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          aBlock:         Object
>>>>>>>>>          cl:     [closure] in [] in UndefinedObject>>DoIt
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          superclass:     nil
>>>>>>>>>          methodDict:     a MethodDictionary(#'=='->a
>>>>>>>>> CompiledMethod (602)
>>>>>>>>> #become:->a Compil...etc...
>>>>>>>>>          format:         2
>>>>>>>>>          instanceVariables:      nil
>>>>>>>>>          organization:   ('apply primitives' tryNamedPrimitive
>>>>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>>>>          subclasses:     {Object . ObjectOut .
>>>>>>>>> ImageSegmentRootStub .
>>>>>>>>> MessageCatcher . TestC...etc...
>>>>>>>>>          name:   #ProtoObject
>>>>>>>>>          classPool:      nil
>>>>>>>>>          sharedPools:    nil
>>>>>>>>>          environment:    nil
>>>>>>>>>          category:       #'Kernel-Objects'
>>>>>>>>>          traitComposition:       nil
>>>>>>>>>          localSelectors:         nil
>>>>>>>>>
>>>>>>>>> Array(SequenceableCollection)>>do:
>>>>>>>>>  Receiver: {Object . ObjectOut . ImageSegmentRootStub .
>>>>>>>>> MessageCatcher . TestCoverage}
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          aBlock:         [closure] in ProtoObject
>>>>>>>>> class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>          index:  1
>>>>>>>>>          indexLimiT:     5
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> {Object . ObjectOut . ImageSegmentRootStub . MessageCatcher .
>>>>>>>>> TestCoverage}
>>>>>>>>>
>>>>>>>>> ProtoObject class(Class)>>subclassesDoGently:
>>>>>>>>>  Receiver: ProtoObject
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          aBlock:         [closure] in ProtoObject
>>>>>>>>> class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          superclass:     nil
>>>>>>>>>          methodDict:     a MethodDictionary(#'=='->a
>>>>>>>>> CompiledMethod (602)
>>>>>>>>> #become:->a Compil...etc...
>>>>>>>>>          format:         2
>>>>>>>>>          instanceVariables:      nil
>>>>>>>>>          organization:   ('apply primitives' tryNamedPrimitive
>>>>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>>>>          subclasses:     {Object . ObjectOut .
>>>>>>>>> ImageSegmentRootStub .
>>>>>>>>> MessageCatcher . TestC...etc...
>>>>>>>>>          name:   #ProtoObject
>>>>>>>>>          classPool:      nil
>>>>>>>>>          sharedPools:    nil
>>>>>>>>>          environment:    nil
>>>>>>>>>          category:       #'Kernel-Objects'
>>>>>>>>>          traitComposition:       nil
>>>>>>>>>          localSelectors:         nil
>>>>>>>>>
>>>>>>>>> ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>  Receiver: ProtoObject
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          aBlock:         [closure] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          superclass:     nil
>>>>>>>>>          methodDict:     a MethodDictionary(#'=='->a
>>>>>>>>> CompiledMethod (602)
>>>>>>>>> #become:->a Compil...etc...
>>>>>>>>>          format:         2
>>>>>>>>>          instanceVariables:      nil
>>>>>>>>>          organization:   ('apply primitives' tryNamedPrimitive
>>>>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>>>>          subclasses:     {Object . ObjectOut .
>>>>>>>>> ImageSegmentRootStub .
>>>>>>>>> MessageCatcher . TestC...etc...
>>>>>>>>>          name:   #ProtoObject
>>>>>>>>>          classPool:      nil
>>>>>>>>>          sharedPools:    nil
>>>>>>>>>          environment:    nil
>>>>>>>>>          category:       #'Kernel-Objects'
>>>>>>>>>          traitComposition:       nil
>>>>>>>>>          localSelectors:         nil
>>>>>>>>>
>>>>>>>>> SystemNavigation>>allBehaviorsDo:
>>>>>>>>>  Receiver: a SystemNavigation
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          aBlock:         [closure] in [] in
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          browserClass:   nil
>>>>>>>>>          hierarchyBrowserClass:  nil
>>>>>>>>>
>>>>>>>>> [] in UndefinedObject>>DoIt
>>>>>>>>>  Receiver: nil
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>> <<error during printing>
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> nil
>>>>>>>>>
>>>>>>>>> [] in ProgressInitiationException>>defaultAction
>>>>>>>>>  Receiver: ProgressInitiationException
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          progress:       [closure] in
>>>>>>>>> SystemProgressMorph>>label:min:max:
>>>>>>>>>          result:         #(nil)
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          messageText:    nil
>>>>>>>>>          tag:    nil
>>>>>>>>>          signalContext:
>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>          handlerContext:         nil
>>>>>>>>>          outerContext:   nil
>>>>>>>>>          workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>>>>          maxVal:         3874
>>>>>>>>>          minVal:         0
>>>>>>>>>          aPoint:         840@306
>>>>>>>>>          progressTitle:  'Searching UTF-8 Problems...'
>>>>>>>>>
>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>  Receiver: [closure] in
>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          aBlock:         [closure] in
>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>          returnValue:    nil
>>>>>>>>>          b:      nil
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          outerContext:
>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>          startpc:        49
>>>>>>>>>          numArgs:        0
>>>>>>>>>
>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>  Receiver: ProgressInitiationException
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          progress:       [closure] in
>>>>>>>>> SystemProgressMorph>>label:min:max:
>>>>>>>>>          result:         #(nil)
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          messageText:    nil
>>>>>>>>>          tag:    nil
>>>>>>>>>          signalContext:
>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>          handlerContext:         nil
>>>>>>>>>          outerContext:   nil
>>>>>>>>>          workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>>>>          maxVal:         3874
>>>>>>>>>          minVal:         0
>>>>>>>>>          aPoint:         840@306
>>>>>>>>>          progressTitle:  'Searching UTF-8 Problems...'
>>>>>>>>>
>>>>>>>>> UndefinedObject>>handleSignal:
>>>>>>>>>  Receiver: nil
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          exception:      ProgressInitiationException
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>> nil
>>>>>>>>>
>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>  Receiver: BlockClosure>>on:do:
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          exception:      ProgressInitiationException
>>>>>>>>>          val:    nil
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          sender:         PasteUpMorph>>becomeActiveDuring:
>>>>>>>>>          pc:     17
>>>>>>>>>          stackp:         3
>>>>>>>>>          method:         a CompiledMethod (2306)
>>>>>>>>>          closureOrNil:   nil
>>>>>>>>>          receiver:       [closure] in
>>>>>>>>> PasteUpMorph>>becomeActiveDuring:
>>>>>>>>>
>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>  Receiver: BlockClosure>>on:do:
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>          exception:      ProgressInitiationException
>>>>>>>>>          val:    nil
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          sender:
>>>>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>>          pc:     17
>>>>>>>>>          stackp:         3
>>>>>>>>>          method:         a CompiledMethod (2306)
>>>>>>>>>          closureOrNil:   nil
>>>>>>>>>          receiver:       [closure] in
>>>>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>>
>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>  Receiver: ProgressInitiationException
>>>>>>>>>  Arguments and temporary variables:
>>>>>>>>>
>>>>>>>>>  Receiver's instance variables:
>>>>>>>>>          messageText:    nil
>>>>>>>>>          tag:    nil
>>>>>>>>>          signalContext:
>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>          handlerContext:         nil
>>>>>>>>>          outerContext:   nil
>>>>>>>>>          workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>>>>          maxVal:         3874
>>>>>>>>>          minVal:         0
>>>>>>>>>          aPoint:         840@306
>>>>>>>>>          progressTitle:  'Searching UTF-8 Problems...'
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --- The full stack ---
>>>>>>>>> UndefinedObject(Object)>>doesNotUnderstand: #value:
>>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>> [] in BlockClosure>>ifError:
>>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>> [] in MethodContext(ContextPart)>>handleSignal:
>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>> Error(Exception)>>signal
>>>>>>>>> Error(Exception)>>signal:
>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>> [] in RemoteString>>text
>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>> RemoteString>>text
>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>> BlockClosure>>on:do:
>>>>>>>>> BlockClosure>>ifError:
>>>>>>>>> [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>> IdentitySet(Set)>>do:
>>>>>>>>> [] in [] in UndefinedObject>>DoIt
>>>>>>>>> [] in ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>> Array(SequenceableCollection)>>do:
>>>>>>>>> ProtoObject class(Class)>>subclassesDoGently:
>>>>>>>>> ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>> SystemNavigation>>allBehaviorsDo:
>>>>>>>>> [] in UndefinedObject>>DoIt
>>>>>>>>> [] in ProgressInitiationException>>defaultAction
>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>> UndefinedObject>>handleSignal:
>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>> - - - - - - - - - - - - - - -
>>>>>>>>>                  - - - - - - - - - - - - - - - - - -
>>>>>>>>> ProgressInitiationException>>display:at:from:to:during:
>>>>>>>>> ProgressInitiationException class>>display:at:from:to:during:
>>>>>>>>> ByteString(String)>>displayProgressAt:from:to:during:
>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>> Compiler>>evaluate:in:to:notifying:ifFail:logged:
>>>>>>>>> [] in TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>> BlockClosure>>on:do:
>>>>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>> TextMorphEditor(ParagraphEditor)>>doIt
>>>>>>>>> [] in TextMorphEditor(ParagraphEditor)>>doIt:
>>>>>>>>> TextMorphEditor
>>>>>>>>> (ParagraphEditor)>>terminateAndInitializeAround:
>>>>>>>>> TextMorphEditor(ParagraphEditor)>>doIt:
>>>>>>>>> TextMorphEditor(ParagraphEditor)>>dispatchOnKeyEvent:with:
>>>>>>>>> TextMorphEditor>>dispatchOnKeyEvent:with:
>>>>>>>>> TextMorphEditor(ParagraphEditor)>>keystroke:
>>>>>>>>> TextMorphEditor>>keystroke:
>>>>>>>>> [] in TextMorphForEditView(TextMorph)>>keyStroke:
>>>>>>>>> TextMorphForEditView(TextMorph)>>handleInteraction:
>>>>>>>>> TextMorphForEditView>>handleInteraction:
>>>>>>>>> TextMorphForEditView(TextMorph)>>keyStroke:
>>>>>>>>> TextMorphForEditView>>keyStroke:
>>>>>>>>> TextMorphForEditView(TextMorph)>>handleKeystroke:
>>>>>>>>> KeyboardEvent>>sentTo:
>>>>>>>>> TextMorphForEditView(Morph)>>handleEvent:
>>>>>>>>> TextMorphForEditView(Morph)>>handleFocusEvent:
>>>>>>>>> [] in HandMorph>>sendFocusEvent:to:clear:
>>>>>>>>> [] in PasteUpMorph>>becomeActiveDuring:
>>>>>>>>> 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
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On May 17, 2009, at 11:13 AM, Nicolas Cellier wrote:
>>>>>>>>>
>>>>>>>>>> One solution would be to use getSource rather than
>>>>>>>>>> getSourceFromFile.
>>>>>>>>>> However, with following code I detected no problem in my
>>>>>>>>>> pharo-
>>>>>>>>>> core
>>>>>>>>>> copy (10281 updated to 10306)
>>>>>>>>>>
>>>>>>>>>> | problems total |
>>>>>>>>>> problems := OrderedCollection new.
>>>>>>>>>> total := 0.
>>>>>>>>>> SystemNavigation default allBehaviorsDo: [:cl | total :=
>>>>>>>>>> total +
>>>>>>>>>> 1].
>>>>>>>>>> 'Searching UTF-8 Problems...'
>>>>>>>>>> displayProgressAt: Sensor cursorPoint
>>>>>>>>>> from: 0 to: total
>>>>>>>>>> during:
>>>>>>>>>>         [:bar | | count |
>>>>>>>>>>         count := 0.
>>>>>>>>>>         SystemNavigation default allBehaviorsDo: [:cl |
>>>>>>>>>>                 bar value: (count := count + 1).
>>>>>>>>>>                 cl selectors do: [:sel |
>>>>>>>>>>                         [(cl compiledMethodAt: sel)
>>>>>>>>>> getSourceFromFile] ifError: [
>>>>>>>>>>                                 var value: 'last problem
>>>>>>>>>> found ' , cl name , '>>#' , sel.
>>>>>>>>>>                                 problems add: cl->sel]]]].
>>>>>>>>>> ^problems
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>>>>>>>> yes same here.
>>>>>>>>>>>
>>>>>>>>>>> On May 17, 2009, at 2:10 AM, Tudor Girba wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi,
>>>>>>>>>>>>
>>>>>>>>>>>> Recently I encounter a strange error:
>>>>>>>>>>>> - I sometimes get a debugger due to some problems in my
>>>>>>>>>>>> code
>>>>>>>>>>>> - when I try to investigate the trace, I get another
>>>>>>>>>>>> debugger
>>>>>>>>>>>> saying
>>>>>>>>>>>> that "Invalid utf8 input detected'"
>>>>>>>>>>>>
>>>>>>>>>>>> This second debugger I can investigate, the previous not.
>>>>>>>>>>>> It
>>>>>>>>>>>> looks
>>>>>>>>>>>> like something got messed up with the text conversion of
>>>>>>>>>>>> the
>>>>>>>>>>>> sources.
>>>>>>>>>>>>
>>>>>>>>>>>> I am working on 10306 using the 4.1.1b2 VM on Mac. The code
>>>>>>>>>>>> I am
>>>>>>>>>>>> working on is loaded from squeaksource (Moose, Glamour,
>>>>>>>>>>>> Mondrian).
>>>>>>>>>>>>
>>>>>>>>>>>> Anyone can confirm this problem?
>>>>>>>>>>>>
>>>>>>>>>>>> Cheers,
>>>>>>>>>>>> Doru
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> ----ERROR REPORT----
>>>>>>>>>>>>
>>>>>>>>>>>> '17 May 2009 2:05:50 am
>>>>>>>>>>>>
>>>>>>>>>>>> VM: Mac OS - intel - 1056 - Squeak3.8.1 of ''28 Aug
>>>>>>>>>>>> 2006'' [latest
>>>>>>>>>>>> update: #6747] Squeak VM 4.1.1b2
>>>>>>>>>>>> Image: Pharo0.1 [Latest update: #10306]
>>>>>>>>>>>>
>>>>>>>>>>>> SecurityManager state:
>>>>>>>>>>>> Restricted: false
>>>>>>>>>>>> FileAccess: true
>>>>>>>>>>>> SocketAccess: true
>>>>>>>>>>>> Working Dir /Users/girba/Work/Code/squeakingmoose
>>>>>>>>>>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>>>>>>>>>>>> Untrusted Dir /Users/girba/Library/Preferences/Squeak/
>>>>>>>>>>>> Internet/
>>>>>>>>>>>> My
>>>>>>>>>>>> Squeak
>>>>>>>>>>>>
>>>>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aString:        ''Invalid utf8 input detected''
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>>
>>>>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>>
>>>>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aStream:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>>>>> Work/Code/
>>>>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>>>>        character1:     $
>>>>>>>>>>>>        value1:         160
>>>>>>>>>>>>        character2:     Character tab
>>>>>>>>>>>>        value2:         9
>>>>>>>>>>>>        unicode:        nil
>>>>>>>>>>>>        character3:     Character tab
>>>>>>>>>>>>        value3:         9
>>>>>>>>>>>>        character4:     nil
>>>>>>>>>>>>        value4:         nil
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>>
>>>>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        char:   nil
>>>>>>>>>>>>        secondChar:     nil
>>>>>>>>>>>>        state:  nil
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        terminator:     $!
>>>>>>>>>>>>        out:    a WriteStream ''doesNotUnderstand: aMessage
>>>>>>>>>>>> "Handle the fact that there ...etc...
>>>>>>>>>>>>        ch:     Character cr
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        string:         nil
>>>>>>>>>>>>        runsRaw:        nil
>>>>>>>>>>>>        strm:   nil
>>>>>>>>>>>>        runs:   nil
>>>>>>>>>>>>        peek:   nil
>>>>>>>>>>>>        pos:    nil
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>>>> Receiver: a RemoteString
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        theFile:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>>>>> Work/Code/
>>>>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        sourceFileNumber:       2
>>>>>>>>>>>>        filePositionHi:         10007336
>>>>>>>>>>>>
>>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>>> Receiver: [closure] in RemoteString>>text
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aBlock:         [closure] in RemoteString>>text
>>>>>>>>>>>>        returnValue:    nil
>>>>>>>>>>>>        b:      nil
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        outerContext:   RemoteString>>text
>>>>>>>>>>>>        startpc:        72
>>>>>>>>>>>>        numArgs:        0
>>>>>>>>>>>>
>>>>>>>>>>>> RemoteString>>text
>>>>>>>>>>>> Receiver: a RemoteString
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        theFile:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>>>>> Work/Code/
>>>>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        sourceFileNumber:       2
>>>>>>>>>>>>        filePositionHi:         10007336
>>>>>>>>>>>>
>>>>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        position:       10007336
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>>>
>>>>>>>>>>>> CompiledMethod>>methodNode
>>>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aClass:         Object
>>>>>>>>>>>>        source:         nil
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>>>
>>>>>>>>>>>> [] in DebuggerMethodMap class>>forMethod:
>>>>>>>>>>>> Receiver: DebuggerMethodMap
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aMethod:        a CompiledMethod (838)
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        superclass:     Object
>>>>>>>>>>>>        methodDict:     a
>>>>>>>>>>>> MethodDictionary(#abstractSourceMap-
>>>>>>>>>>>>> a CompiledMethod
>>>>>>>>>>>> (1628) #for...etc...
>>>>>>>>>>>>        format:         140
>>>>>>>>>>>>        instanceVariables:      #(''timestamp''
>>>>>>>>>>>> ''methodReference''
>>>>>>>>>>>> ''methodNode'' ''abstractSource...etc...
>>>>>>>>>>>>        organization:   (''initialize-release''
>>>>>>>>>>>> forMethod:methodNode:)
>>>>>>>>>>>> (''accessing'' markRec...etc...
>>>>>>>>>>>>        subclasses:
>>>>>>>>>>>> {DebuggerMethodMapForBlueBookMethods .
>>>>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>>>>        name:   #DebuggerMethodMap
>>>>>>>>>>>>        classPool:      a Dictionary(#MapCache->a
>>>>>>>>>>>> WeakIdentityKeyDictionary(a
>>>>>>>>>>>> CompiledMethod...etc...
>>>>>>>>>>>>        sharedPools:    nil
>>>>>>>>>>>>        environment:    Smalltalk
>>>>>>>>>>>>        category:       #''Tools-Debugger''
>>>>>>>>>>>>        traitComposition:       nil
>>>>>>>>>>>>        localSelectors:         nil
>>>>>>>>>>>>
>>>>>>>>>>>> WeakIdentityKeyDictionary(Dictionary)>>at:ifAbsent:
>>>>>>>>>>>> Receiver: a WeakIdentityKeyDictionary(a CompiledMethod
>>>>>>>>>>>> (126)-
>>>>>>>>>>>>> a
>>>>>>>>>>>> DebuggerMethodMapForClosureCompiledM...etc...
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        key:    a CompiledMethod (838)
>>>>>>>>>>>>        aBlock:         [closure] in DebuggerMethodMap
>>>>>>>>>>>> class>>forMethod:
>>>>>>>>>>>>        assoc:  nil
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        tally:  16
>>>>>>>>>>>>        array:  an Array(nil nil a CompiledMethod (2402)->a
>>>>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> DebuggerMethodMap class>>forMethod:
>>>>>>>>>>>> Receiver: DebuggerMethodMap
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aMethod:        a CompiledMethod (838)
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        superclass:     Object
>>>>>>>>>>>>        methodDict:     a
>>>>>>>>>>>> MethodDictionary(#abstractSourceMap-
>>>>>>>>>>>>> a CompiledMethod
>>>>>>>>>>>> (1628) #for...etc...
>>>>>>>>>>>>        format:         140
>>>>>>>>>>>>        instanceVariables:      #(''timestamp''
>>>>>>>>>>>> ''methodReference''
>>>>>>>>>>>> ''methodNode'' ''abstractSource...etc...
>>>>>>>>>>>>        organization:   (''initialize-release''
>>>>>>>>>>>> forMethod:methodNode:)
>>>>>>>>>>>> (''accessing'' markRec...etc...
>>>>>>>>>>>>        subclasses:
>>>>>>>>>>>> {DebuggerMethodMapForBlueBookMethods .
>>>>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>>>>        name:   #DebuggerMethodMap
>>>>>>>>>>>>        classPool:      a Dictionary(#MapCache->a
>>>>>>>>>>>> WeakIdentityKeyDictionary(a
>>>>>>>>>>>> CompiledMethod...etc...
>>>>>>>>>>>>        sharedPools:    nil
>>>>>>>>>>>>        environment:    Smalltalk
>>>>>>>>>>>>        category:       #''Tools-Debugger''
>>>>>>>>>>>>        traitComposition:       nil
>>>>>>>>>>>>        localSelectors:         nil
>>>>>>>>>>>>
>>>>>>>>>>>> CompiledMethod>>debuggerMap
>>>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>>>
>>>>>>>>>>>> OTClosureContextNode>>selection
>>>>>>>>>>>> Receiver: an OTClosureContextNode
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        metaNode:       context
>>>>>>>>>>>>
>>>>>>>>>>>>        navigation:     an OBDefaultEdgeNavigation
>>>>>>>>>>>>        process:        a Process in OTToolset
>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>        context:        Model
>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>        parseTree:      nil
>>>>>>>>>>>>        sourceMap:      nil
>>>>>>>>>>>>        debuggerMap:    nil
>>>>>>>>>>>>
>>>>>>>>>>>> OTClosureContextNode(OTContextNode)>>definition
>>>>>>>>>>>> Receiver: an OTClosureContextNode
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        metaNode:       context
>>>>>>>>>>>>
>>>>>>>>>>>>        navigation:     an OBDefaultEdgeNavigation
>>>>>>>>>>>>        process:        a Process in OTToolset
>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>        context:        Model
>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>        parseTree:      nil
>>>>>>>>>>>>        sourceMap:      nil
>>>>>>>>>>>>        debuggerMap:    nil
>>>>>>>>>>>>
>>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>node:
>>>>>>>>>>>> Receiver: an OTDefinitionPanel
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aNode:  an OTClosureContextNode
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        browser:        an OTDebugger
>>>>>>>>>>>>        definition:     nil
>>>>>>>>>>>>        selection:      nil
>>>>>>>>>>>>
>>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>selectionChanged:
>>>>>>>>>>>> Receiver: an OTDefinitionPanel
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        ann:    an OBSelectionChanged
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        browser:        an OTDebugger
>>>>>>>>>>>>        definition:     nil
>>>>>>>>>>>>        selection:      nil
>>>>>>>>>>>>
>>>>>>>>>>>> MessageSend>>valueWithArguments:
>>>>>>>>>>>> Receiver: MessageSend(#selectionChanged: -> an
>>>>>>>>>>>> OTDefinitionPanel)
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        anArray:        an Array(an OBSelectionChanged)
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        receiver:       an OTDefinitionPanel
>>>>>>>>>>>>        selector:       #selectionChanged:
>>>>>>>>>>>>        arguments:      #()
>>>>>>>>>>>>
>>>>>>>>>>>> [] in ActionSequence>>valueWithArguments:
>>>>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        anArray:        MessageSend(#selectionChanged: -> an
>>>>>>>>>>>> OTDefinitionPanel)
>>>>>>>>>>>>        answer:         an Array(an OBSelectionChanged)
>>>>>>>>>>>>        each:   an Array(an OBFixedButtonPanel)
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> ActionSequence(SequenceableCollection)>>do:
>>>>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aBlock:         [closure] in
>>>>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>>>>>        index:  4
>>>>>>>>>>>>        indexLimiT:     6
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        anArray:        an Array(an OBSelectionChanged)
>>>>>>>>>>>>        answer:         an Array(an OBFixedButtonPanel)
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> [] in OBAnnouncer>>announce:
>>>>>>>>>>>> Receiver: an OBAnnouncer
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>> <<error during printing>
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        subscriptions:  an
>>>>>>>>>>>> IdentityDictionary(OBAboutToChange-
>>>>>>>>>>>>> an
>>>>>>>>>>>> ActionSequence(Message...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> [] in IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aBlock:         OBSelectionChanged-
>>>>>>>>>>>>> #(MessageSend(#relabel: -> an
>>>>>>>>>>>> OTDebugger)
>>>>>>>>>>>> MessageSe...etc...
>>>>>>>>>>>>        assoc:  [closure] in OBAnnouncer>>announce:
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        tally:  12
>>>>>>>>>>>>        array:  {OBNodeCreated->an
>>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> IdentityDictionary(Set)>>do:
>>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aBlock:         [closure] in
>>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>>        index:  6
>>>>>>>>>>>>        each:   OBSelectionChanged-
>>>>>>>>>>>> >#(MessageSend(#relabel: -
>>>>>>>>>>>>> an OTDebugger)
>>>>>>>>>>>> MessageSend...etc...
>>>>>>>>>>>>        indexLimiT:     20
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        tally:  12
>>>>>>>>>>>>        array:  {OBNodeCreated->an
>>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> IdentityDictionary(Dictionary)>>associationsDo:
>>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aBlock:         [closure] in
>>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        tally:  12
>>>>>>>>>>>>        array:  {OBNodeCreated->an
>>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aBlock:         [closure] in OBAnnouncer>>announce:
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        tally:  12
>>>>>>>>>>>>        array:  {OBNodeCreated->an
>>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> OBAnnouncer>>announce:
>>>>>>>>>>>> Receiver: an OBAnnouncer
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        anObject:       an OBSelectionChanged
>>>>>>>>>>>>        ann:    an OBSelectionChanged
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        subscriptions:  an
>>>>>>>>>>>> IdentityDictionary(OBAboutToChange-
>>>>>>>>>>>>> an
>>>>>>>>>>>> ActionSequence(Message...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> OBColumnPanel>>jumpTo:
>>>>>>>>>>>> Receiver: an OBColumnPanel
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aNode:  an OTClosureContextNode
>>>>>>>>>>>>        column:         an OBColumn(Model
>>>>>>>>>>>> class(Object)>>doesNotUnderstand:
>>>>>>>>>>>> #fullName)
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        browser:        an OTDebugger
>>>>>>>>>>>>        root:   an OTProcessNode
>>>>>>>>>>>>        current:        an OTClosureContextNode
>>>>>>>>>>>>        columns:        an OrderedCollection(an
>>>>>>>>>>>> OBColumn(Model
>>>>>>>>>>>> class(Object)>>doesNotUnderstan...etc...
>>>>>>>>>>>>        minPanes:       1
>>>>>>>>>>>>        maxPanes:       1
>>>>>>>>>>>>
>>>>>>>>>>>> OTDebugger(OBBrowser)>>jumpTo:
>>>>>>>>>>>> Receiver: an OTDebugger
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aNode:  an OTClosureContextNode
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        panels:         an OrderedCollection(an
>>>>>>>>>>>> OBColumnPanel
>>>>>>>>>>>> an OBFixedButtonPanel
>>>>>>>>>>>> an OTDefini...etc...
>>>>>>>>>>>>        announcer:      an OBAnnouncer
>>>>>>>>>>>>        cmdFactories:   an Array(OTCmdProceedDebugger
>>>>>>>>>>>> OTCmdIntoDebugger
>>>>>>>>>>>> OTCmdThroughDebug...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> OTDebugger class(OBBrowser
>>>>>>>>>>>> class)>>metaNode:root:selection:panels:
>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        metaNode:       process
>>>>>>>>>>>> #longStack->context
>>>>>>>>>>>>
>>>>>>>>>>>>        rootNode:       an OTProcessNode
>>>>>>>>>>>>        selectedNode:   an OTClosureContextNode
>>>>>>>>>>>>        panels:         an Array(an OBColumnPanel an
>>>>>>>>>>>> OBFixedButtonPanel an
>>>>>>>>>>>> OTDefinitionPanel an...etc...
>>>>>>>>>>>>        browser:        an OTDebugger
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        superclass:     OBBrowser
>>>>>>>>>>>>        methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>        format:         136
>>>>>>>>>>>>        instanceVariables:      nil
>>>>>>>>>>>>        organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>        subclasses:     nil
>>>>>>>>>>>>        name:   #OTDebugger
>>>>>>>>>>>>        classPool:      nil
>>>>>>>>>>>>        sharedPools:    nil
>>>>>>>>>>>>        environment:    Smalltalk
>>>>>>>>>>>>        category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>        traitComposition:       nil
>>>>>>>>>>>>        localSelectors:         nil
>>>>>>>>>>>>
>>>>>>>>>>>> OTDebugger class(OBBrowser class)>>root:selection:
>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        rootNode:       an OTProcessNode
>>>>>>>>>>>>        selectedNode:   an OTClosureContextNode
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        superclass:     OBBrowser
>>>>>>>>>>>>        methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>        format:         136
>>>>>>>>>>>>        instanceVariables:      nil
>>>>>>>>>>>>        organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>        subclasses:     nil
>>>>>>>>>>>>        name:   #OTDebugger
>>>>>>>>>>>>        classPool:      nil
>>>>>>>>>>>>        sharedPools:    nil
>>>>>>>>>>>>        environment:    Smalltalk
>>>>>>>>>>>>        category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>        traitComposition:       nil
>>>>>>>>>>>>        localSelectors:         nil
>>>>>>>>>>>>
>>>>>>>>>>>> OTDebugger class>>process:context:errorWasInUIProcess:
>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>        aProcess:       a Process in OTToolset
>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>        aContext:       Model
>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>        aBool:  true
>>>>>>>>>>>>        processNode:    an OTProcessNode
>>>>>>>>>>>>        contextNode:    an OTClosureContextNode
>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>        superclass:     OBBrowser
>>>>>>>>>>>>        methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>        format:         136
>>>>>>>>>>>>        instanceVariables:      nil
>>>>>>>>>>>>        organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>        subclasses:     nil
>>>>>>>>>>>>        name:   #OTDebugger
>>>>>>>>>>>>        classPool:      nil
>>>>>>>>>>>>        sharedPools:    nil
>>>>>>>>>>>>        environment:    Smalltalk
>>>>>>>>>>>>        category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>        traitComposition:       nil
>>&

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: invalid utf8 input detected

Stéphane Ducasse
In reply to this post by Tudor Girba-3
This is not a question of will.

Stef

On May 23, 2009, at 12:01 AM, Tudor Girba wrote:

> Hi,
>
> Could we not solve this for the couple of offending methods for the
> moment? Having a problem in Object>>doesNotUnderstand: makes the whole
> debugging a pain because I can actually not debug such a case.
>
> Cheers,
> Doru
>
>
> On 19 May 2009, at 22:03, Nicolas Cellier wrote:
>
>> I opened http://code.google.com/p/pharo/issues/detail?id=830
>>
>> I think other UTF-8 issues are different:
>> Two for FileBrowser :
>>   http://code.google.com/p/pharo/issues/detail?id=370
>>   http://code.google.com/p/pharo/issues/detail?id=513
>> One about VM crash :
>>   http://code.google.com/p/pharo/issues/detail?id=744
>>
>> Nicolas
>>
>> 2009/5/19 Stéphane Ducasse <[hidden email]>:
>>> thanks for making progress on this front.
>>>
>>> On May 19, 2009, at 6:40 PM, Nicolas Cellier wrote:
>>>
>>>>> From what I see in a 10304, all these methods had a non ASCII
>>>> character in comment:
>>>>
>>>> {Object>>#doesNotUnderstand:.
>>>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>>>> Utilities class>>#changeStampPerSe.
>>>> Utilities class>>#methodsWithInitials:} collect: [:e | (e
>>>> getSourceFromFile select: [:s | s charCode > 127]) asArray collect:
>>>> [:c | c charCode]]
>>>> #(#(160 160) #(172 143 172 143) #(183) #(246))
>>>> That is:
>>>>
>>>> an Array(a Text for '  ' a Text for '¬∂¬∂' a Text for '·' a
>>>> Text for 'ö')
>>>> First are non breaking space.
>>>> Last but ones are not rendered same in Squeak.
>>>>
>>>> These four methods are changed in:
>>>> - Kernel-stephane_ducasse.renggli.319.mcz
>>>> - System-Support-stephane_ducasse.20.mcz
>>>> If I merge 10305 manually, I get some decompiled code in the merge
>>>> window.
>>>> So there might be a problem already either in Monticello or in
>>>> the .mcz.
>>>> After the merge, there is decomipled code in the changes and no
>>>> error
>>>> when executing above code.
>>>>
>>>> If I load instead of merging, then I also get the decompiled code  
>>>> in
>>>> the change log, so I can't reproduce completely the faulty behavior
>>>> (having an invalid utf-8 notifier), maybe because the process is no
>>>> the same when there are conflicts...
>>>>
>>>> If I extract .mcz contents, I can read contents from FileBrowser.
>>>> But
>>>> it does not use an UTF-8 encoding...
>>>> I can't say if the encoding is macRoman or ISO8859L1 or CP1252 or
>>>> what, but what I can say is that the source.st is not UTF-8  
>>>> encoded.
>>>>
>>>> So without searching further I guess here lies the problems:
>>>> transfer
>>>> of raw bytes from non UTF-8 .mcz/source.st to the UTF-8 .changes
>>>> change-log...
>>>>
>>>> Every time we'll modify a method with a Character code > 127, we
>>>> will
>>>> likely create an invalid UTF-8 bug or get some decompiled code, or
>>>> corrupt source code in extreme case...
>>>>
>>>> Could the Monticello / UTF-8 experts confirm my guess ?
>>>>
>>>> Nicolas
>>>>
>>>> 2009/5/17 Nicolas Cellier <[hidden email]>:
>>>>> OK,
>>>>>
>>>>> {Object>>#doesNotUnderstand:.
>>>>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>>>>> Utilities class>>#changeStampPerSe.
>>>>> Utilities class>>#methodsWithInitials:} collect: [:e | e
>>>>> getSourceFromFile].
>>>>>
>>>>> does not fail for me, BUT all these sources look like
>>>>> decompileString.
>>>>> I guess this is dating from the condenseChanges that occured in
>>>>> #update10298
>>>>> Change log prior to this update should have the problem.
>>>>>
>>>>> Nicolas
>>>>>
>>>>> 2009/5/17 Tudor Girba <[hidden email]>:
>>>>>> Hi,
>>>>>>
>>>>>> I ran the snippet you sent on both 304cl and 306cl and I get the
>>>>>> following list:
>>>>>>
>>>>>> Object->#doesNotUnderstand:
>>>>>> SystemNavigation->#browseMethodsWhoseNamesContain:
>>>>>> Utilities class->#changeStampPerSe
>>>>>> Utilities class->#methodsWithInitials:
>>>>>>
>>>>>> Indeed, most of the annoyances are due to the
>>>>>> Object>>doesNotUnderstand: because when I get a DNU I am stuck
>>>>>> (and I
>>>>>> feel like in Java :)).
>>>>>>
>>>>>> I am not sure I understand if there is a fix to the problem.
>>>>>>
>>>>>> Cheers,
>>>>>> Doru
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 17 May 2009, at 12:06, Nicolas Cellier wrote:
>>>>>>
>>>>>>> There's something weird... If you hit var (UndefinedObject)
>>>>>>> doesNotUnderstand: #value: that means there were a problem the
>>>>>>> first
>>>>>>> time.
>>>>>>>
>>>>>>> Unfortunately, due to bug in MethodContext tempNames, we don't
>>>>>>> know
>>>>>>> the class and selector guilty.
>>>>>>> From the set of selectors I can see this is Object.
>>>>>>> From the source file position, I cannot say anything because I  
>>>>>>> do
>>>>>>> not
>>>>>>> have same change log history (sorry, own image).
>>>>>>>
>>>>>>> You could try
>>>>>>> (SourceFiles at: 2) readOnlyCopy position: 10007336; nextChunk
>>>>>>>
>>>>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>>>>> sorry for not checking either.
>>>>>>>> When I run this code I indeed do not have a problem on 10306cl
>>>>>>>>
>>>>>>>> stef
>>>>>>>>
>>>>>>>> On May 17, 2009, at 11:36 AM, Nicolas Cellier wrote:
>>>>>>>>
>>>>>>>>> Sure, a key stroke error, it's bar value:, not var value:,
>>>>>>>>> This @!* workspace takes it as global without a warning....
>>>>>>>>>
>>>>>>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>>>>>>> Nicolas
>>>>>>>>>>
>>>>>>>>>> when I run your script on the license looking for image
>>>>>>>>>> I got using 10306cl
>>>>>>>>>>
>>>>>>>>>> I get the following error:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> VM: Mac OS - intel - 1056 - Squeak3.8.1 of '28 Aug
>>>>>>>>>> 2006' [latest
>>>>>>>>>> update: #6747] Squeak VM 4.1.1b2
>>>>>>>>>> Image: Pharo0.1 [Latest update: #10306]
>>>>>>>>>>
>>>>>>>>>> SecurityManager state:
>>>>>>>>>> Restricted: false
>>>>>>>>>> FileAccess: true
>>>>>>>>>> SocketAccess: true
>>>>>>>>>> Working Dir /Data/squeak4.0-relicenseTools/history
>>>>>>>>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>>>>>>>>>> Untrusted Dir /Users/ducasse/Library/Preferences/Squeak/
>>>>>>>>>> Internet/My
>>>>>>>>>> Squeak
>>>>>>>>>>
>>>>>>>>>> UndefinedObject(Object)>>doesNotUnderstand: #value:
>>>>>>>>>> Receiver: nil
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>> <<error during printing>
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>> nil
>>>>>>>>>>
>>>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>> Receiver: nil
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>> <<error during printing>
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>> nil
>>>>>>>>>>
>>>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>>> Receiver: [closure] in [] in [] in [] in
>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         anArray:        an Array('Error: Invalid utf8 input
>>>>>>>>>> detected' an
>>>>>>>>>> UTF8TextConverter)
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         outerContext:   [] in [] in [] in
>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>         startpc:        183
>>>>>>>>>>         numArgs:        0
>>>>>>>>>>
>>>>>>>>>> [] in BlockClosure>>ifError:
>>>>>>>>>> Receiver: [closure] in [] in [] in [] in
>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         errorHandlerBlock:      Error: Invalid utf8 input
>>>>>>>>>> detected
>>>>>>>>>>         ex:     [closure] in [] in [] in [] in
>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         outerContext:   [] in [] in [] in
>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>         startpc:        171
>>>>>>>>>>         numArgs:        0
>>>>>>>>>>
>>>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>>> Receiver: [closure] in BlockClosure>>ifError:
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         anArray:        an Array(Error: Invalid utf8 input
>>>>>>>>>> detected)
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         outerContext:   BlockClosure>>ifError:
>>>>>>>>>>         startpc:        40
>>>>>>>>>>         numArgs:        1
>>>>>>>>>>
>>>>>>>>>> [] in MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>> Receiver: BlockClosure>>on:do:
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>> <<error during printing>
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         sender:         BlockClosure>>ifError:
>>>>>>>>>>         pc:     17
>>>>>>>>>>         stackp:         3
>>>>>>>>>>         method:         a CompiledMethod (2306)
>>>>>>>>>>         closureOrNil:   nil
>>>>>>>>>>         receiver:       [closure] in [] in [] in [] in
>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>
>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>> Receiver: [closure] in
>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aBlock:         [closure] in
>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>         returnValue:    nil
>>>>>>>>>>         b:      nil
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         outerContext:
>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>         startpc:        90
>>>>>>>>>>         numArgs:        0
>>>>>>>>>>
>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>> Receiver: BlockClosure>>on:do:
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         exception:      Error: Invalid utf8 input detected
>>>>>>>>>>         val:    nil
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         sender:         BlockClosure>>ifError:
>>>>>>>>>>         pc:     17
>>>>>>>>>>         stackp:         3
>>>>>>>>>>         method:         a CompiledMethod (2306)
>>>>>>>>>>         closureOrNil:   nil
>>>>>>>>>>         receiver:       [closure] in [] in [] in [] in
>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>
>>>>>>>>>> Error(Exception)>>signal
>>>>>>>>>> Receiver: Error: Invalid utf8 input detected
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         messageText:    'Invalid utf8 input detected'
>>>>>>>>>>         tag:    nil
>>>>>>>>>>         signalContext:  Error(Exception)>>signal
>>>>>>>>>>         handlerContext:         BlockClosure>>on:do:
>>>>>>>>>>         outerContext:   nil
>>>>>>>>>>
>>>>>>>>>> Error(Exception)>>signal:
>>>>>>>>>> Receiver: Error: Invalid utf8 input detected
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         signalerText:   'Invalid utf8 input detected'
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         messageText:    'Invalid utf8 input detected'
>>>>>>>>>>         tag:    nil
>>>>>>>>>>         signalContext:  Error(Exception)>>signal
>>>>>>>>>>         handlerContext:         BlockClosure>>on:do:
>>>>>>>>>>         outerContext:   nil
>>>>>>>>>>
>>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aString:        'Invalid utf8 input detected'
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>
>>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>
>>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aStream:        MultiByteFileStream: '/Data/
>>>>>>>>>> squeak4.0-
>>>>>>>>>> relicenseTools/
>>>>>>>>>> history/Pharo0.1C...etc...
>>>>>>>>>>         character1:     $
>>>>>>>>>>         value1:         160
>>>>>>>>>>         character2:     Character tab
>>>>>>>>>>         value2:         9
>>>>>>>>>>         unicode:        nil
>>>>>>>>>>         character3:     Character tab
>>>>>>>>>>         value3:         9
>>>>>>>>>>         character4:     nil
>>>>>>>>>>         value4:         nil
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>
>>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>> Receiver: MultiByteFileStream: '/Data/squeak4.0-
>>>>>>>>>> relicenseTools/
>>>>>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         char:   nil
>>>>>>>>>>         secondChar:     nil
>>>>>>>>>>         state:  nil
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>> Receiver: MultiByteFileStream: '/Data/squeak4.0-
>>>>>>>>>> relicenseTools/
>>>>>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         terminator:     $!
>>>>>>>>>>         out:    a WriteStream 'doesNotUnderstand: aMessage
>>>>>>>>>>  "Handle the fact that there ...etc...
>>>>>>>>>>         ch:     Character cr
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>> Receiver: MultiByteFileStream: '/Data/squeak4.0-
>>>>>>>>>> relicenseTools/
>>>>>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         string:         nil
>>>>>>>>>>         runsRaw:        nil
>>>>>>>>>>         strm:   nil
>>>>>>>>>>         runs:   nil
>>>>>>>>>>         peek:   nil
>>>>>>>>>>         pos:    nil
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>> Receiver: a RemoteString
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         theFile:        MultiByteFileStream: '/Data/
>>>>>>>>>> squeak4.0-
>>>>>>>>>> relicenseTools/
>>>>>>>>>> history/Pharo0.1C...etc...
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         sourceFileNumber:       2
>>>>>>>>>>         filePositionHi:         10007336
>>>>>>>>>>
>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>> Receiver: [closure] in RemoteString>>text
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aBlock:         [closure] in RemoteString>>text
>>>>>>>>>>         returnValue:    nil
>>>>>>>>>>         b:      nil
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         outerContext:   RemoteString>>text
>>>>>>>>>>         startpc:        72
>>>>>>>>>>         numArgs:        0
>>>>>>>>>>
>>>>>>>>>> RemoteString>>text
>>>>>>>>>> Receiver: a RemoteString
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         theFile:        MultiByteFileStream: '/Data/
>>>>>>>>>> squeak4.0-
>>>>>>>>>> relicenseTools/
>>>>>>>>>> history/Pharo0.1C...etc...
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         sourceFileNumber:       2
>>>>>>>>>>         filePositionHi:         10007336
>>>>>>>>>>
>>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         position:       10007336
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>
>>>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>> Receiver: nil
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>> <<error during printing>
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>> nil
>>>>>>>>>>
>>>>>>>>>> BlockClosure>>on:do:
>>>>>>>>>> Receiver: [closure] in [] in [] in [] in
>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         exception:      Error
>>>>>>>>>>         handlerAction:  [closure] in BlockClosure>>ifError:
>>>>>>>>>>         handlerActive:  false
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         outerContext:   [] in [] in [] in
>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>         startpc:        171
>>>>>>>>>>         numArgs:        0
>>>>>>>>>>
>>>>>>>>>> BlockClosure>>ifError:
>>>>>>>>>> Receiver: [closure] in [] in [] in [] in
>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         errorHandlerBlock:      [closure] in [] in [] in []
>>>>>>>>>> in
>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         outerContext:   [] in [] in [] in
>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>         startpc:        171
>>>>>>>>>>         numArgs:        0
>>>>>>>>>>
>>>>>>>>>> [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>> Receiver: nil
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>> <<error during printing>
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>> nil
>>>>>>>>>>
>>>>>>>>>> IdentitySet(Set)>>do:
>>>>>>>>>> Receiver: an IdentitySet(#name #inheritsFromAnyIn: #asOop
>>>>>>>>>> #isWebBrowser #storeOnStream: #wantsDroppe...etc...
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aBlock:         [closure] in [] in [] in
>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>         index:  394
>>>>>>>>>>         each:   #doesNotUnderstand:
>>>>>>>>>>         indexLimiT:     498
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         tally:  373
>>>>>>>>>>         array:  #(nil nil #name nil #inheritsFromAnyIn:
>>>>>>>>>> #asOop nil nil
>>>>>>>>>> #isWebBrowser nil...etc...
>>>>>>>>>>
>>>>>>>>>> [] in [] in UndefinedObject>>DoIt
>>>>>>>>>> Receiver: nil
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>> <<error during printing>
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>> nil
>>>>>>>>>>
>>>>>>>>>> [] in ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>> Receiver: ProtoObject
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aBlock:         Object
>>>>>>>>>>         cl:     [closure] in [] in UndefinedObject>>DoIt
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         superclass:     nil
>>>>>>>>>>         methodDict:     a MethodDictionary(#'=='->a
>>>>>>>>>> CompiledMethod (602)
>>>>>>>>>> #become:->a Compil...etc...
>>>>>>>>>>         format:         2
>>>>>>>>>>         instanceVariables:      nil
>>>>>>>>>>         organization:   ('apply primitives' tryNamedPrimitive
>>>>>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>>>>>         subclasses:     {Object . ObjectOut .
>>>>>>>>>> ImageSegmentRootStub .
>>>>>>>>>> MessageCatcher . TestC...etc...
>>>>>>>>>>         name:   #ProtoObject
>>>>>>>>>>         classPool:      nil
>>>>>>>>>>         sharedPools:    nil
>>>>>>>>>>         environment:    nil
>>>>>>>>>>         category:       #'Kernel-Objects'
>>>>>>>>>>         traitComposition:       nil
>>>>>>>>>>         localSelectors:         nil
>>>>>>>>>>
>>>>>>>>>> Array(SequenceableCollection)>>do:
>>>>>>>>>> Receiver: {Object . ObjectOut . ImageSegmentRootStub .
>>>>>>>>>> MessageCatcher . TestCoverage}
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aBlock:         [closure] in ProtoObject
>>>>>>>>>> class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>>         index:  1
>>>>>>>>>>         indexLimiT:     5
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>> {Object . ObjectOut . ImageSegmentRootStub . MessageCatcher .
>>>>>>>>>> TestCoverage}
>>>>>>>>>>
>>>>>>>>>> ProtoObject class(Class)>>subclassesDoGently:
>>>>>>>>>> Receiver: ProtoObject
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aBlock:         [closure] in ProtoObject
>>>>>>>>>> class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         superclass:     nil
>>>>>>>>>>         methodDict:     a MethodDictionary(#'=='->a
>>>>>>>>>> CompiledMethod (602)
>>>>>>>>>> #become:->a Compil...etc...
>>>>>>>>>>         format:         2
>>>>>>>>>>         instanceVariables:      nil
>>>>>>>>>>         organization:   ('apply primitives' tryNamedPrimitive
>>>>>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>>>>>         subclasses:     {Object . ObjectOut .
>>>>>>>>>> ImageSegmentRootStub .
>>>>>>>>>> MessageCatcher . TestC...etc...
>>>>>>>>>>         name:   #ProtoObject
>>>>>>>>>>         classPool:      nil
>>>>>>>>>>         sharedPools:    nil
>>>>>>>>>>         environment:    nil
>>>>>>>>>>         category:       #'Kernel-Objects'
>>>>>>>>>>         traitComposition:       nil
>>>>>>>>>>         localSelectors:         nil
>>>>>>>>>>
>>>>>>>>>> ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>> Receiver: ProtoObject
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aBlock:         [closure] in [] in
>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         superclass:     nil
>>>>>>>>>>         methodDict:     a MethodDictionary(#'=='->a
>>>>>>>>>> CompiledMethod (602)
>>>>>>>>>> #become:->a Compil...etc...
>>>>>>>>>>         format:         2
>>>>>>>>>>         instanceVariables:      nil
>>>>>>>>>>         organization:   ('apply primitives' tryNamedPrimitive
>>>>>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>>>>>         subclasses:     {Object . ObjectOut .
>>>>>>>>>> ImageSegmentRootStub .
>>>>>>>>>> MessageCatcher . TestC...etc...
>>>>>>>>>>         name:   #ProtoObject
>>>>>>>>>>         classPool:      nil
>>>>>>>>>>         sharedPools:    nil
>>>>>>>>>>         environment:    nil
>>>>>>>>>>         category:       #'Kernel-Objects'
>>>>>>>>>>         traitComposition:       nil
>>>>>>>>>>         localSelectors:         nil
>>>>>>>>>>
>>>>>>>>>> SystemNavigation>>allBehaviorsDo:
>>>>>>>>>> Receiver: a SystemNavigation
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aBlock:         [closure] in [] in
>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         browserClass:   nil
>>>>>>>>>>         hierarchyBrowserClass:  nil
>>>>>>>>>>
>>>>>>>>>> [] in UndefinedObject>>DoIt
>>>>>>>>>> Receiver: nil
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>> <<error during printing>
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>> nil
>>>>>>>>>>
>>>>>>>>>> [] in ProgressInitiationException>>defaultAction
>>>>>>>>>> Receiver: ProgressInitiationException
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         progress:       [closure] in
>>>>>>>>>> SystemProgressMorph>>label:min:max:
>>>>>>>>>>         result:         #(nil)
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         messageText:    nil
>>>>>>>>>>         tag:    nil
>>>>>>>>>>         signalContext:
>>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>>         handlerContext:         nil
>>>>>>>>>>         outerContext:   nil
>>>>>>>>>>         workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>>>>>         maxVal:         3874
>>>>>>>>>>         minVal:         0
>>>>>>>>>>         aPoint:         840@306
>>>>>>>>>>         progressTitle:  'Searching UTF-8 Problems...'
>>>>>>>>>>
>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>> Receiver: [closure] in
>>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aBlock:         [closure] in
>>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>>         returnValue:    nil
>>>>>>>>>>         b:      nil
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         outerContext:
>>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>>         startpc:        49
>>>>>>>>>>         numArgs:        0
>>>>>>>>>>
>>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>> Receiver: ProgressInitiationException
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         progress:       [closure] in
>>>>>>>>>> SystemProgressMorph>>label:min:max:
>>>>>>>>>>         result:         #(nil)
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         messageText:    nil
>>>>>>>>>>         tag:    nil
>>>>>>>>>>         signalContext:
>>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>>         handlerContext:         nil
>>>>>>>>>>         outerContext:   nil
>>>>>>>>>>         workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>>>>>         maxVal:         3874
>>>>>>>>>>         minVal:         0
>>>>>>>>>>         aPoint:         840@306
>>>>>>>>>>         progressTitle:  'Searching UTF-8 Problems...'
>>>>>>>>>>
>>>>>>>>>> UndefinedObject>>handleSignal:
>>>>>>>>>> Receiver: nil
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         exception:      ProgressInitiationException
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>> nil
>>>>>>>>>>
>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>> Receiver: BlockClosure>>on:do:
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         exception:      ProgressInitiationException
>>>>>>>>>>         val:    nil
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         sender:         PasteUpMorph>>becomeActiveDuring:
>>>>>>>>>>         pc:     17
>>>>>>>>>>         stackp:         3
>>>>>>>>>>         method:         a CompiledMethod (2306)
>>>>>>>>>>         closureOrNil:   nil
>>>>>>>>>>         receiver:       [closure] in
>>>>>>>>>> PasteUpMorph>>becomeActiveDuring:
>>>>>>>>>>
>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>> Receiver: BlockClosure>>on:do:
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         exception:      ProgressInitiationException
>>>>>>>>>>         val:    nil
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         sender:
>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>>>         pc:     17
>>>>>>>>>>         stackp:         3
>>>>>>>>>>         method:         a CompiledMethod (2306)
>>>>>>>>>>         closureOrNil:   nil
>>>>>>>>>>         receiver:       [closure] in
>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>>>
>>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>> Receiver: ProgressInitiationException
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         messageText:    nil
>>>>>>>>>>         tag:    nil
>>>>>>>>>>         signalContext:
>>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>>         handlerContext:         nil
>>>>>>>>>>         outerContext:   nil
>>>>>>>>>>         workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>>>>>         maxVal:         3874
>>>>>>>>>>         minVal:         0
>>>>>>>>>>         aPoint:         840@306
>>>>>>>>>>         progressTitle:  'Searching UTF-8 Problems...'
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --- The full stack ---
>>>>>>>>>> UndefinedObject(Object)>>doesNotUnderstand: #value:
>>>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>>> [] in BlockClosure>>ifError:
>>>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>>> [] in MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>> Error(Exception)>>signal
>>>>>>>>>> Error(Exception)>>signal:
>>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>> RemoteString>>text
>>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>> BlockClosure>>on:do:
>>>>>>>>>> BlockClosure>>ifError:
>>>>>>>>>> [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>> IdentitySet(Set)>>do:
>>>>>>>>>> [] in [] in UndefinedObject>>DoIt
>>>>>>>>>> [] in ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>> Array(SequenceableCollection)>>do:
>>>>>>>>>> ProtoObject class(Class)>>subclassesDoGently:
>>>>>>>>>> ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>> SystemNavigation>>allBehaviorsDo:
>>>>>>>>>> [] in UndefinedObject>>DoIt
>>>>>>>>>> [] in ProgressInitiationException>>defaultAction
>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>> UndefinedObject>>handleSignal:
>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>> - - - - - - - - - - - - - - -
>>>>>>>>>>                 - - - - - - - - - - - - - - - - - -
>>>>>>>>>> ProgressInitiationException>>display:at:from:to:during:
>>>>>>>>>> ProgressInitiationException class>>display:at:from:to:during:
>>>>>>>>>> ByteString(String)>>displayProgressAt:from:to:during:
>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>> Compiler>>evaluate:in:to:notifying:ifFail:logged:
>>>>>>>>>> [] in TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>>> BlockClosure>>on:do:
>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>doIt
>>>>>>>>>> [] in TextMorphEditor(ParagraphEditor)>>doIt:
>>>>>>>>>> TextMorphEditor
>>>>>>>>>> (ParagraphEditor)>>terminateAndInitializeAround:
>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>doIt:
>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>dispatchOnKeyEvent:with:
>>>>>>>>>> TextMorphEditor>>dispatchOnKeyEvent:with:
>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>keystroke:
>>>>>>>>>> TextMorphEditor>>keystroke:
>>>>>>>>>> [] in TextMorphForEditView(TextMorph)>>keyStroke:
>>>>>>>>>> TextMorphForEditView(TextMorph)>>handleInteraction:
>>>>>>>>>> TextMorphForEditView>>handleInteraction:
>>>>>>>>>> TextMorphForEditView(TextMorph)>>keyStroke:
>>>>>>>>>> TextMorphForEditView>>keyStroke:
>>>>>>>>>> TextMorphForEditView(TextMorph)>>handleKeystroke:
>>>>>>>>>> KeyboardEvent>>sentTo:
>>>>>>>>>> TextMorphForEditView(Morph)>>handleEvent:
>>>>>>>>>> TextMorphForEditView(Morph)>>handleFocusEvent:
>>>>>>>>>> [] in HandMorph>>sendFocusEvent:to:clear:
>>>>>>>>>> [] in PasteUpMorph>>becomeActiveDuring:
>>>>>>>>>> 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
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On May 17, 2009, at 11:13 AM, Nicolas Cellier wrote:
>>>>>>>>>>
>>>>>>>>>>> One solution would be to use getSource rather than
>>>>>>>>>>> getSourceFromFile.
>>>>>>>>>>> However, with following code I detected no problem in my
>>>>>>>>>>> pharo-
>>>>>>>>>>> core
>>>>>>>>>>> copy (10281 updated to 10306)
>>>>>>>>>>>
>>>>>>>>>>> | problems total |
>>>>>>>>>>> problems := OrderedCollection new.
>>>>>>>>>>> total := 0.
>>>>>>>>>>> SystemNavigation default allBehaviorsDo: [:cl | total :=
>>>>>>>>>>> total +
>>>>>>>>>>> 1].
>>>>>>>>>>> 'Searching UTF-8 Problems...'
>>>>>>>>>>> displayProgressAt: Sensor cursorPoint
>>>>>>>>>>> from: 0 to: total
>>>>>>>>>>> during:
>>>>>>>>>>>        [:bar | | count |
>>>>>>>>>>>        count := 0.
>>>>>>>>>>>        SystemNavigation default allBehaviorsDo: [:cl |
>>>>>>>>>>>                bar value: (count := count + 1).
>>>>>>>>>>>                cl selectors do: [:sel |
>>>>>>>>>>>                        [(cl compiledMethodAt: sel)
>>>>>>>>>>> getSourceFromFile] ifError: [
>>>>>>>>>>>                                var value: 'last problem
>>>>>>>>>>> found ' , cl name , '>>#' , sel.
>>>>>>>>>>>                                problems add: cl->sel]]]].
>>>>>>>>>>> ^problems
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>>>>>>>>> yes same here.
>>>>>>>>>>>>
>>>>>>>>>>>> On May 17, 2009, at 2:10 AM, Tudor Girba wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Recently I encounter a strange error:
>>>>>>>>>>>>> - I sometimes get a debugger due to some problems in my
>>>>>>>>>>>>> code
>>>>>>>>>>>>> - when I try to investigate the trace, I get another
>>>>>>>>>>>>> debugger
>>>>>>>>>>>>> saying
>>>>>>>>>>>>> that "Invalid utf8 input detected'"
>>>>>>>>>>>>>
>>>>>>>>>>>>> This second debugger I can investigate, the previous not.
>>>>>>>>>>>>> It
>>>>>>>>>>>>> looks
>>>>>>>>>>>>> like something got messed up with the text conversion of
>>>>>>>>>>>>> the
>>>>>>>>>>>>> sources.
>>>>>>>>>>>>>
>>>>>>>>>>>>> I am working on 10306 using the 4.1.1b2 VM on Mac. The  
>>>>>>>>>>>>> code
>>>>>>>>>>>>> I am
>>>>>>>>>>>>> working on is loaded from squeaksource (Moose, Glamour,
>>>>>>>>>>>>> Mondrian).
>>>>>>>>>>>>>
>>>>>>>>>>>>> Anyone can confirm this problem?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Cheers,
>>>>>>>>>>>>> Doru
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> ----ERROR REPORT----
>>>>>>>>>>>>>
>>>>>>>>>>>>> '17 May 2009 2:05:50 am
>>>>>>>>>>>>>
>>>>>>>>>>>>> VM: Mac OS - intel - 1056 - Squeak3.8.1 of ''28 Aug
>>>>>>>>>>>>> 2006'' [latest
>>>>>>>>>>>>> update: #6747] Squeak VM 4.1.1b2
>>>>>>>>>>>>> Image: Pharo0.1 [Latest update: #10306]
>>>>>>>>>>>>>
>>>>>>>>>>>>> SecurityManager state:
>>>>>>>>>>>>> Restricted: false
>>>>>>>>>>>>> FileAccess: true
>>>>>>>>>>>>> SocketAccess: true
>>>>>>>>>>>>> Working Dir /Users/girba/Work/Code/squeakingmoose
>>>>>>>>>>>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>>>>>>>>>>>>> Untrusted Dir /Users/girba/Library/Preferences/Squeak/
>>>>>>>>>>>>> Internet/
>>>>>>>>>>>>> My
>>>>>>>>>>>>> Squeak
>>>>>>>>>>>>>
>>>>>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aString:        ''Invalid utf8 input detected''
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>>>
>>>>>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>>>
>>>>>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aStream:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>>>>>> Work/Code/
>>>>>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>>>>>       character1:     $
>>>>>>>>>>>>>       value1:         160
>>>>>>>>>>>>>       character2:     Character tab
>>>>>>>>>>>>>       value2:         9
>>>>>>>>>>>>>       unicode:        nil
>>>>>>>>>>>>>       character3:     Character tab
>>>>>>>>>>>>>       value3:         9
>>>>>>>>>>>>>       character4:     nil
>>>>>>>>>>>>>       value4:         nil
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>>>
>>>>>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       char:   nil
>>>>>>>>>>>>>       secondChar:     nil
>>>>>>>>>>>>>       state:  nil
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       terminator:     $!
>>>>>>>>>>>>>       out:    a WriteStream ''doesNotUnderstand: aMessage
>>>>>>>>>>>>> "Handle the fact that there ...etc...
>>>>>>>>>>>>>       ch:     Character cr
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       string:         nil
>>>>>>>>>>>>>       runsRaw:        nil
>>>>>>>>>>>>>       strm:   nil
>>>>>>>>>>>>>       runs:   nil
>>>>>>>>>>>>>       peek:   nil
>>>>>>>>>>>>>       pos:    nil
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>>>>> Receiver: a RemoteString
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       theFile:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>>>>>> Work/Code/
>>>>>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       sourceFileNumber:       2
>>>>>>>>>>>>>       filePositionHi:         10007336
>>>>>>>>>>>>>
>>>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>>>> Receiver: [closure] in RemoteString>>text
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aBlock:         [closure] in RemoteString>>text
>>>>>>>>>>>>>       returnValue:    nil
>>>>>>>>>>>>>       b:      nil
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       outerContext:   RemoteString>>text
>>>>>>>>>>>>>       startpc:        72
>>>>>>>>>>>>>       numArgs:        0
>>>>>>>>>>>>>
>>>>>>>>>>>>> RemoteString>>text
>>>>>>>>>>>>> Receiver: a RemoteString
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       theFile:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>>>>>> Work/Code/
>>>>>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       sourceFileNumber:       2
>>>>>>>>>>>>>       filePositionHi:         10007336
>>>>>>>>>>>>>
>>>>>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       position:       10007336
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>>>>
>>>>>>>>>>>>> CompiledMethod>>methodNode
>>>>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aClass:         Object
>>>>>>>>>>>>>       source:         nil
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>>>>
>>>>>>>>>>>>> [] in DebuggerMethodMap class>>forMethod:
>>>>>>>>>>>>> Receiver: DebuggerMethodMap
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aMethod:        a CompiledMethod (838)
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       superclass:     Object
>>>>>>>>>>>>>       methodDict:     a
>>>>>>>>>>>>> MethodDictionary(#abstractSourceMap-
>>>>>>>>>>>>>> a CompiledMethod
>>>>>>>>>>>>> (1628) #for...etc...
>>>>>>>>>>>>>       format:         140
>>>>>>>>>>>>>       instanceVariables:      #(''timestamp''
>>>>>>>>>>>>> ''methodReference''
>>>>>>>>>>>>> ''methodNode'' ''abstractSource...etc...
>>>>>>>>>>>>>       organization:   (''initialize-release''
>>>>>>>>>>>>> forMethod:methodNode:)
>>>>>>>>>>>>> (''accessing'' markRec...etc...
>>>>>>>>>>>>>       subclasses:
>>>>>>>>>>>>> {DebuggerMethodMapForBlueBookMethods .
>>>>>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>>>>>       name:   #DebuggerMethodMap
>>>>>>>>>>>>>       classPool:      a Dictionary(#MapCache->a
>>>>>>>>>>>>> WeakIdentityKeyDictionary(a
>>>>>>>>>>>>> CompiledMethod...etc...
>>>>>>>>>>>>>       sharedPools:    nil
>>>>>>>>>>>>>       environment:    Smalltalk
>>>>>>>>>>>>>       category:       #''Tools-Debugger''
>>>>>>>>>>>>>       traitComposition:       nil
>>>>>>>>>>>>>       localSelectors:         nil
>>>>>>>>>>>>>
>>>>>>>>>>>>> WeakIdentityKeyDictionary(Dictionary)>>at:ifAbsent:
>>>>>>>>>>>>> Receiver: a WeakIdentityKeyDictionary(a CompiledMethod
>>>>>>>>>>>>> (126)-
>>>>>>>>>>>>>> a
>>>>>>>>>>>>> DebuggerMethodMapForClosureCompiledM...etc...
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       key:    a CompiledMethod (838)
>>>>>>>>>>>>>       aBlock:         [closure] in DebuggerMethodMap
>>>>>>>>>>>>> class>>forMethod:
>>>>>>>>>>>>>       assoc:  nil
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       tally:  16
>>>>>>>>>>>>>       array:  an Array(nil nil a CompiledMethod (2402)->a
>>>>>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>>>>>
>>>>>>>>>>>>> DebuggerMethodMap class>>forMethod:
>>>>>>>>>>>>> Receiver: DebuggerMethodMap
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aMethod:        a CompiledMethod (838)
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       superclass:     Object
>>>>>>>>>>>>>       methodDict:     a
>>>>>>>>>>>>> MethodDictionary(#abstractSourceMap-
>>>>>>>>>>>>>> a CompiledMethod
>>>>>>>>>>>>> (1628) #for...etc...
>>>>>>>>>>>>>       format:         140
>>>>>>>>>>>>>       instanceVariables:      #(''timestamp''
>>>>>>>>>>>>> ''methodReference''
>>>>>>>>>>>>> ''methodNode'' ''abstractSource...etc...
>>>>>>>>>>>>>       organization:   (''initialize-release''
>>>>>>>>>>>>> forMethod:methodNode:)
>>>>>>>>>>>>> (''accessing'' markRec...etc...
>>>>>>>>>>>>>       subclasses:
>>>>>>>>>>>>> {DebuggerMethodMapForBlueBookMethods .
>>>>>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>>>>>       name:   #DebuggerMethodMap
>>>>>>>>>>>>>       classPool:      a Dictionary(#MapCache->a
>>>>>>>>>>>>> WeakIdentityKeyDictionary(a
>>>>>>>>>>>>> CompiledMethod...etc...
>>>>>>>>>>>>>       sharedPools:    nil
>>>>>>>>>>>>>       environment:    Smalltalk
>>>>>>>>>>>>>       category:       #''Tools-Debugger''
>>>>>>>>>>>>>       traitComposition:       nil
>>>>>>>>>>>>>       localSelectors:         nil
>>>>>>>>>>>>>
>>>>>>>>>>>>> CompiledMethod>>debuggerMap
>>>>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>>>>
>>>>>>>>>>>>> OTClosureContextNode>>selection
>>>>>>>>>>>>> Receiver: an OTClosureContextNode
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       metaNode:       context
>>>>>>>>>>>>>
>>>>>>>>>>>>>       navigation:     an OBDefaultEdgeNavigation
>>>>>>>>>>>>>       process:        a Process in OTToolset
>>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>>       context:        Model
>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>>       parseTree:      nil
>>>>>>>>>>>>>       sourceMap:      nil
>>>>>>>>>>>>>       debuggerMap:    nil
>>>>>>>>>>>>>
>>>>>>>>>>>>> OTClosureContextNode(OTContextNode)>>definition
>>>>>>>>>>>>> Receiver: an OTClosureContextNode
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       metaNode:       context
>>>>>>>>>>>>>
>>>>>>>>>>>>>       navigation:     an OBDefaultEdgeNavigation
>>>>>>>>>>>>>       process:        a Process in OTToolset
>>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>>       context:        Model
>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>>       parseTree:      nil
>>>>>>>>>>>>>       sourceMap:      nil
>>>>>>>>>>>>>       debuggerMap:    nil
>>>>>>>>>>>>>
>>>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>node:
>>>>>>>>>>>>> Receiver: an OTDefinitionPanel
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aNode:  an OTClosureContextNode
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       browser:        an OTDebugger
>>>>>>>>>>>>>       definition:     nil
>>>>>>>>>>>>>       selection:      nil
>>>>>>>>>>>>>
>>>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>selectionChanged:
>>>>>>>>>>>>> Receiver: an OTDefinitionPanel
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       ann:    an OBSelectionChanged
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       browser:        an OTDebugger
>>>>>>>>>>>>>       definition:     nil
>>>>>>>>>>>>>       selection:      nil
>>>>>>>>>>>>>
>>>>>>>>>>>>> MessageSend>>valueWithArguments:
>>>>>>>>>>>>> Receiver: MessageSend(#selectionChanged: -> an
>>>>>>>>>>>>> OTDefinitionPanel)
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       anArray:        an Array(an OBSelectionChanged)
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       receiver:       an OTDefinitionPanel
>>>>>>>>>>>>>       selector:       #selectionChanged:
>>>>>>>>>>>>>       arguments:      #()
>>>>>>>>>>>>>
>>>>>>>>>>>>> [] in ActionSequence>>valueWithArguments:
>>>>>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       anArray:        MessageSend(#selectionChanged: -> an
>>>>>>>>>>>>> OTDefinitionPanel)
>>>>>>>>>>>>>       answer:         an Array(an OBSelectionChanged)
>>>>>>>>>>>>>       each:   an Array(an OBFixedButtonPanel)
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>>>
>>>>>>>>>>>>> ActionSequence(SequenceableCollection)>>do:
>>>>>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aBlock:         [closure] in
>>>>>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>>>>>>       index:  4
>>>>>>>>>>>>>       indexLimiT:     6
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>>>
>>>>>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       anArray:        an Array(an OBSelectionChanged)
>>>>>>>>>>>>>       answer:         an Array(an OBFixedButtonPanel)
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>>>
>>>>>>>>>>>>> [] in OBAnnouncer>>announce:
>>>>>>>>>>>>> Receiver: an OBAnnouncer
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>> <<error during printing>
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       subscriptions:  an
>>>>>>>>>>>>> IdentityDictionary(OBAboutToChange-
>>>>>>>>>>>>>> an
>>>>>>>>>>>>> ActionSequence(Message...etc...
>>>>>>>>>>>>>
>>>>>>>>>>>>> [] in IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aBlock:         OBSelectionChanged-
>>>>>>>>>>>>>> #(MessageSend(#relabel: -> an
>>>>>>>>>>>>> OTDebugger)
>>>>>>>>>>>>> MessageSe...etc...
>>>>>>>>>>>>>       assoc:  [closure] in OBAnnouncer>>announce:
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       tally:  12
>>>>>>>>>>>>>       array:  {OBNodeCreated->an
>>>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>>>
>>>>>>>>>>>>> IdentityDictionary(Set)>>do:
>>>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aBlock:         [closure] in
>>>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>>>       index:  6
>>>>>>>>>>>>>       each:   OBSelectionChanged-
>>>>>>>>>>>>>> #(MessageSend(#relabel: -
>>>>>>>>>>>>>> an OTDebugger)
>>>>>>>>>>>>> MessageSend...etc...
>>>>>>>>>>>>>       indexLimiT:     20
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       tally:  12
>>>>>>>>>>>>>       array:  {OBNodeCreated->an
>>>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>>>
>>>>>>>>>>>>> IdentityDictionary(Dictionary)>>associationsDo:
>>>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aBlock:         [closure] in
>>>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       tally:  12
>>>>>>>>>>>>>       array:  {OBNodeCreated->an
>>>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>>>
>>>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aBlock:         [closure] in OBAnnouncer>>announce:
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       tally:  12
>>>>>>>>>>>>>       array:  {OBNodeCreated->an
>>>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>>>
>>>>>>>>>>>>> OBAnnouncer>>announce:
>>>>>>>>>>>>> Receiver: an OBAnnouncer
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       anObject:       an OBSelectionChanged
>>>>>>>>>>>>>       ann:    an OBSelectionChanged
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       subscriptions:  an
>>>>>>>>>>>>> IdentityDictionary(OBAboutToChange-
>>>>>>>>>>>>>> an
>>>>>>>>>>>>> ActionSequence(Message...etc...
>>>>>>>>>>>>>
>>>>>>>>>>>>> OBColumnPanel>>jumpTo:
>>>>>>>>>>>>> Receiver: an OBColumnPanel
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aNode:  an OTClosureContextNode
>>>>>>>>>>>>>       column:         an OBColumn(Model
>>>>>>>>>>>>> class(Object)>>doesNotUnderstand:
>>>>>>>>>>>>> #fullName)
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       browser:        an OTDebugger
>>>>>>>>>>>>>       root:   an OTProcessNode
>>>>>>>>>>>>>       current:        an OTClosureContextNode
>>>>>>>>>>>>>       columns:        an OrderedCollection(an
>>>>>>>>>>>>> OBColumn(Model
>>>>>>>>>>>>> class(Object)>>doesNotUnderstan...etc...
>>>>>>>>>>>>>       minPanes:       1
>>>>>>>>>>>>>       maxPanes:       1
>>>>>>>>>>>>>
>>>>>>>>>>>>> OTDebugger(OBBrowser)>>jumpTo:
>>>>>>>>>>>>> Receiver: an OTDebugger
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aNode:  an OTClosureContextNode
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       panels:         an OrderedCollection(an
>>>>>>>>>>>>> OBColumnPanel
>>>>>>>>>>>>> an OBFixedButtonPanel
>>>>>>>>>>>>> an OTDefini...etc...
>>>>>>>>>>>>>       announcer:      an OBAnnouncer
>>>>>>>>>>>>>       cmdFactories:   an Array(OTCmdProceedDebugger
>>>>>>>>>>>>> OTCmdIntoDebugger
>>>>>>>>>>>>> OTCmdThroughDebug...etc...
>>>>>>>>>>>>>
>>>>>>>>>>>>> OTDebugger class(OBBrowser
>>>>>>>>>>>>> class)>>metaNode:root:selection:panels:
>>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       metaNode:       process
>>>>>>>>>>>>> #longStack->context
>>>>>>>>>>>>>
>>>>>>>>>>>>>       rootNode:       an OTProcessNode
>>>>>>>>>>>>>       selectedNode:   an OTClosureContextNode
>>>>>>>>>>>>>       panels:         an Array(an OBColumnPanel an
>>>>>>>>>>>>> OBFixedButtonPanel an
>>>>>>>>>>>>> OTDefinitionPanel an...etc...
>>>>>>>>>>>>>       browser:        an OTDebugger
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       superclass:     OBBrowser
>>>>>>>>>>>>>       methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>>       format:         136
>>>>>>>>>>>>>       instanceVariables:      nil
>>>>>>>>>>>>>       organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>>       subclasses:     nil
>>>>>>>>>>>>>       name:   #OTDebugger
>>>>>>>>>>>>>       classPool:      nil
>>>>>>>>>>>>>       sharedPools:    nil
>>>>>>>>>>>>>       environment:    Smalltalk
>>>>>>>>>>>>>       category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>>       traitComposition:       nil
>>>>>>>>>>>>>       localSelectors:         nil
>>>>>>>>>>>>>
>>>>>>>>>>>>> OTDebugger class(OBBrowser class)>>root:selection:
>>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       rootNode:       an OTProcessNode
>>>>>>>>>>>>>       selectedNode:   an OTClosureContextNode
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       superclass:     OBBrowser
>>>>>>>>>>>>>       methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>>       format:         136
>>>>>>>>>>>>>       instanceVariables:      nil
>>>>>>>>>>>>>       organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>>       subclasses:     nil
>>>>>>>>>>>>>       name:   #OTDebugger
>>>>>>>>>>>>>       classPool:      nil
>>>>>>>>>>>>>       sharedPools:    nil
>>>>>>>>>>>>>       environment:    Smalltalk
>>>>>>>>>>>>>       category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>>       traitComposition:       nil
>>>>>>>>>>>>>       localSelectors:         nil
>>>>>>>>>>>>>
>>>>>>>>>>>>> OTDebugger class>>process:context:errorWasInUIProcess:
>>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aProcess:       a Process in OTToolset
>>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>>       aContext:       Model
>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>>       aBool:  true
>>>>>>>>>>>>>       processNode:    an OTProcessNode
>>>>>>>>>>>>>       contextNode:    an OTClosureContextNode
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       superclass:     OBBrowser
>>>>>>>>>>>>>       methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>>       format:         136
>>>>>>>>>>>>>       instanceVariables:      nil
>>>>>>>>>>>>>       organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>>       subclasses:     nil
>>>>>>>>>>>>>       name:   #OTDebugger
>>>>>>>>>>>>>       classPool:      nil
>>>>>>>>>>>>>       sharedPools:    nil
>>>>>>>>>>>>>       environment:    Smalltalk
>>>>>>>>>>>>>       category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>>       traitComposition:       nil
>>>>>>>>>>>>>       localSelectors:         nil
>>>>>>>>>>>>>
>>>>>>>>>>>>> OTDebugger
>>>>>>>>>>>>> class>>process:context:label:errorWasInUIProcess:
>>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aProcess:       a Process in OTToolset
>>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>>       aContext:       Model
>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>>       aString:        ''MessageNotUnderstood: Model
>>>>>>>>>>>>> class>>fullName''
>>>>>>>>>>>>>       aBool:  true
>>>>>>>>>>>>>       debugger:       nil
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       superclass:     OBBrowser
>>>>>>>>>>>>>       methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>>       format:         136
>>>>>>>>>>>>>       instanceVariables:      nil
>>>>>>>>>>>>>       organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>>       subclasses:     nil
>>>>>>>>>>>>>       name:   #OTDebugger
>>>>>>>>>>>>>       classPool:      nil
>>>>>>>>>>>>>       sharedPools:    nil
>>>>>>>>>>>>>       environment:    Smalltalk
>>>>>>>>>>>>>       category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>>       traitComposition:       nil
>>>>>>>>>>>>>       localSelectors:         nil
>>>>>>>>>>>>>
>>>>>>>>>>>>> OTDebugger
>>>>>>>>>>>>> class>>openProcess:context:label:errorWasInUIProcess:
>>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aProcess:       a Process in OTToolset
>>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>>       aContext:       Model
>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>>       aString:        ''MessageNotUnderstood: Model
>>>>>>>>>>>>> class>>fullName''
>>>>>>>>>>>>>       aBool:  true
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       superclass:     OBBrowser
>>>>>>>>>>>>>       methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>>       format:         136
>>>>>>>>>>>>>       instanceVariables:      nil
>>>>>>>>>>>>>       organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>>       subclasses:     nil
>>>>>>>>>>>>>       name:   #OTDebugger
>>>>>>>>>>>>>       classPool:      nil
>>>>>>>>>>>>>       sharedPools:    nil
>>>>>>>>>>>>>       environment:    Smalltalk
>>>>>>>>>>>>>       category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>>       traitComposition:       nil
>>>>>>>>>>>>>       localSelectors:         nil
>>>>>>>>>>>>>
>>>>>>>>>>>>> [] in OTPreDebugNode>>debug:
>>>>>>>>>>>>> Receiver: an OTPreDebugNode
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aRequestor:     an OTPreDebugPanel
>>>>>>>>>>>>>       proc:   a Process in OTToolset
>>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       metaNode:       Predebug
>>>>>>>>>>>>>
>>>>>>>>>>>>>       navigation:     nil
>>>>>>>>>>>>>       errorWasInUI:   true
>>>>>>>>>>>>>       process:        nil
>>>>>>>>>>>>>       context:        Model
>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>>       label:  ''MessageNotUnderstood: Model
>>>>>>>>>>>>> class>>fullName''
>>>>>>>>>>>>>       contents:       ''Model
>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>> UtilitiesTest>>tes...etc...
>>>>>>>>>>>>>       debugOnMouseClick:      true
>>>>>>>>>>>>>
>>>>>>>>>>>>> WorldState>>runStepMethodsIn:
>>>>>>>>>>>>> Receiver: a WorldState
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aWorld:         a PasteUpMorph(1622) [world]
>>>>>>>>>>>>>       queue:  a SharedQueue
>>>>>>>>>>>>>       numItems:       1
>>>>>>>>>>>>>       i:      0
>>>>>>>>>>>>>       limit:  200
>>>>>>>>>>>>>       stamp:  12765762
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       hands:  an Array(a HandMorph(3216))
>>>>>>>>>>>>>       viewBox:        0@0 corner: 1440@807
>>>>>>>>>>>>>       canvas:         a FormCanvas on:
>>>>>>>>>>>>> DisplayScreen(1440x807x32)
>>>>>>>>>>>>>       damageRecorder:         a DamageRecorder
>>>>>>>>>>>>>       stepList:       a Heap(StepMessage(#stepAt: -> a
>>>>>>>>>>>>> SystemWindow(3380))(a
>>>>>>>>>>>>> SystemWindow(3...etc...
>>>>>>>>>>>>>       lastStepTime:   12791780
>>>>>>>>>>>>>       lastStepMessage:        nil
>>>>>>>>>>>>>       lastCycleTime:  12791800
>>>>>>>>>>>>>       commandHistory:         a CommandHistory
>>>>>>>>>>>>>       alarms:         a Heap()
>>>>>>>>>>>>>       lastAlarmTime:  12791780
>>>>>>>>>>>>>
>>>>>>>>>>>>> PasteUpMorph>>runStepMethods
>>>>>>>>>>>>> Receiver: a PasteUpMorph(1622) [world]
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       bounds:         0@0 corner: 1440@807
>>>>>>>>>>>>>       owner:  nil
>>>>>>>>>>>>>       submorphs:      an Array(a TaskbarMorph(3095) a
>>>>>>>>>>>>> SystemWindow(171) a
>>>>>>>>>>>>> PluggableStandar...etc...
>>>>>>>>>>>>>       fullBounds:     nil
>>>>>>>>>>>>>       color:  (Color r: 0.972 g: 0.972 b: 0.976)
>>>>>>>>>>>>>       extension:      a MorphExtension (2543)
>>>>>>>>>>>>> [eventHandler
>>>>>>>>>>>>> = an
>>>>>>>>>>>>> EventHandler]  [other:  (...etc...
>>>>>>>>>>>>>       borderWidth:    0
>>>>>>>>>>>>>       borderColor:    (Color r: 0.03 g: 0.02 b: 0.0)
>>>>>>>>>>>>>       presenter:      a Presenter (1246)
>>>>>>>>>>>>>       model:  a MorphicModel(1926)
>>>>>>>>>>>>>       cursor:         1
>>>>>>>>>>>>>       padding:        3
>>>>>>>>>>>>>       backgroundMorph:        nil
>>>>>>>>>>>>>       isPartsBin:     nil
>>>>>>>>>>>>>       autoLineLayout:         false
>>>>>>>>>>>>>       indicateCursor:         nil
>>>>>>>>>>>>>       resizeToFit:    nil
>>>>>>>>>>>>>       wantsMouseOverHalos:    nil
>>>>>>>>>>>>>       worldState:     a WorldState
>>>>>>>>>>>>>       griddingOn:     nil
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --- The full stack ---
>>>>>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>>>> RemoteString>>text
>>>>>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>>>>> CompiledMethod>>methodNode
>>>>>>>>>>>>> [] in DebuggerMethodMap class>>forMethod:
>>>>>>>>>>>>> WeakIdentityKeyDictionary(Dictionary)>>at:ifAbsent:
>>>>>>>>>>>>> DebuggerMethodMap class>>forMethod:
>>>>>>>>>>>>> CompiledMethod>>debuggerMap
>>>>>>>>>>>>> OTClosureContextNode>>selection
>>>>>>>>>>>>> OTClosureContextNode(OTContextNode)>>definition
>>>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>node:
>>>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>selectionChanged:
>>>>>>>>>>>>> MessageSend>>valueWithArguments:
>>>>>>>>>>>>> [] in ActionSequence>>valueWithArguments:
>>>>>>>>>>>>> ActionSequence(SequenceableCollection)>>do:
>>>>>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>>>>>> [] in OBAnnouncer>>announce:
>>>>>>>>>>>>> [] in IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>>> IdentityDictionary(Set)>>do:
>>>>>>>>>>>>> IdentityDictionary(Dictionary)>>associationsDo:
>>>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>>> OBAnnouncer>>announce:
>>>>>>>>>>>>> OBColumnPanel>>jumpTo:
>>>>>>>>>>>>> OTDebugger(OBBrowser)>>jumpTo:
>>>>>>>>>>>>> OTDebugger class(OBBrowser
>>>>>>>>>>>>> class)>>metaNode:root:selection:panels:
>>>>>>>>>>>>> OTDebugger class(OBBrowser class)>>root:selection:
>>>>>>>>>>>>> OTDebugger class>>process:context:errorWasInUIProcess:
>>>>>>>>>>>>> OTDebugger
>>>>>>>>>>>>> class>>process:context:label:errorWasInUIProcess:
>>>>>>>>>>>>> OTDebugger
>>>>>>>>>>>>> class>>openProcess:context:label:errorWasInUIProcess:
>>>>>>>>>>>>> [] in OTPreDebugNode>>debug:
>>>>>>>>>>>>> WorldState>>runStepMethodsIn:
>>>>>>>>>>>>> PasteUpMorph>>runStepMethods
>>>>>>>>>>>>> - - - - - - - - - - - - - - -
>>>>>>>>>>>>>               - - - - - - - - - - - - - - - - - -
>>>>>>>>>>>>> WorldState>>doOneCycleNowFor:
>>>>>>>>>>>>> WorldState>>doOneCycleFor:
>>>>>>>>>>>>> PasteUpMorph>>doOneCycle
>>>>>>>>>>>>> [] in Project class>>spawnNewProcess
>>>>>>>>>>>>> [] in BlockClosure>>newProcess
>>>>>>>>>>>>> '
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> www.tudorgirba.com
>>>>>>>>>>>>>
>>>>>>>>>>>>> "To lead is not to demand things, it is to make them
>>>>>>>>>>>>> happen."
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>>>>> [hidden email]
>>>>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/
>>>>>>>>>>>>> pharo-
>>>>>>>>>>>>> project
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>>>> [hidden email]
>>>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>>> [hidden email]
>>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>>>>>>> project
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>> [hidden email]
>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Pharo-project mailing list
>>>>>>>>> [hidden email]
>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Pharo-project mailing list
>>>>>>>> [hidden email]
>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>>>> project
>>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Pharo-project mailing list
>>>>>>> [hidden email]
>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> www.tudorgirba.com
>>>>>>
>>>>>> "It's not how it is, it is how we see it."
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Pharo-project mailing list
>>>>>> [hidden email]
>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>> project
>>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> [hidden email]
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>
>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [hidden email]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>
> --
> www.tudorgirba.com
>
> "Some battles are better lost than fought."
>
>
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: invalid utf8 input detected

Stéphane Ducasse
In reply to this post by Tudor Girba-3
doru
do you have a scenario running with the latest core?

Stef

On May 23, 2009, at 12:01 AM, Tudor Girba wrote:

> Hi,
>
> Could we not solve this for the couple of offending methods for the
> moment? Having a problem in Object>>doesNotUnderstand: makes the whole
> debugging a pain because I can actually not debug such a case.
>
> Cheers,
> Doru
>
>
> On 19 May 2009, at 22:03, Nicolas Cellier wrote:
>
>> I opened http://code.google.com/p/pharo/issues/detail?id=830
>>
>> I think other UTF-8 issues are different:
>> Two for FileBrowser :
>>   http://code.google.com/p/pharo/issues/detail?id=370
>>   http://code.google.com/p/pharo/issues/detail?id=513
>> One about VM crash :
>>   http://code.google.com/p/pharo/issues/detail?id=744
>>
>> Nicolas
>>
>> 2009/5/19 Stéphane Ducasse <[hidden email]>:
>>> thanks for making progress on this front.
>>>
>>> On May 19, 2009, at 6:40 PM, Nicolas Cellier wrote:
>>>
>>>>> From what I see in a 10304, all these methods had a non ASCII
>>>> character in comment:
>>>>
>>>> {Object>>#doesNotUnderstand:.
>>>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>>>> Utilities class>>#changeStampPerSe.
>>>> Utilities class>>#methodsWithInitials:} collect: [:e | (e
>>>> getSourceFromFile select: [:s | s charCode > 127]) asArray collect:
>>>> [:c | c charCode]]
>>>> #(#(160 160) #(172 143 172 143) #(183) #(246))
>>>> That is:
>>>>
>>>> an Array(a Text for '  ' a Text for '¬∂¬∂' a Text for '·' a
>>>> Text for 'ö')
>>>> First are non breaking space.
>>>> Last but ones are not rendered same in Squeak.
>>>>
>>>> These four methods are changed in:
>>>> - Kernel-stephane_ducasse.renggli.319.mcz
>>>> - System-Support-stephane_ducasse.20.mcz
>>>> If I merge 10305 manually, I get some decompiled code in the merge
>>>> window.
>>>> So there might be a problem already either in Monticello or in
>>>> the .mcz.
>>>> After the merge, there is decomipled code in the changes and no
>>>> error
>>>> when executing above code.
>>>>
>>>> If I load instead of merging, then I also get the decompiled code  
>>>> in
>>>> the change log, so I can't reproduce completely the faulty behavior
>>>> (having an invalid utf-8 notifier), maybe because the process is no
>>>> the same when there are conflicts...
>>>>
>>>> If I extract .mcz contents, I can read contents from FileBrowser.
>>>> But
>>>> it does not use an UTF-8 encoding...
>>>> I can't say if the encoding is macRoman or ISO8859L1 or CP1252 or
>>>> what, but what I can say is that the source.st is not UTF-8  
>>>> encoded.
>>>>
>>>> So without searching further I guess here lies the problems:
>>>> transfer
>>>> of raw bytes from non UTF-8 .mcz/source.st to the UTF-8 .changes
>>>> change-log...
>>>>
>>>> Every time we'll modify a method with a Character code > 127, we
>>>> will
>>>> likely create an invalid UTF-8 bug or get some decompiled code, or
>>>> corrupt source code in extreme case...
>>>>
>>>> Could the Monticello / UTF-8 experts confirm my guess ?
>>>>
>>>> Nicolas
>>>>
>>>> 2009/5/17 Nicolas Cellier <[hidden email]>:
>>>>> OK,
>>>>>
>>>>> {Object>>#doesNotUnderstand:.
>>>>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>>>>> Utilities class>>#changeStampPerSe.
>>>>> Utilities class>>#methodsWithInitials:} collect: [:e | e
>>>>> getSourceFromFile].
>>>>>
>>>>> does not fail for me, BUT all these sources look like
>>>>> decompileString.
>>>>> I guess this is dating from the condenseChanges that occured in
>>>>> #update10298
>>>>> Change log prior to this update should have the problem.
>>>>>
>>>>> Nicolas
>>>>>
>>>>> 2009/5/17 Tudor Girba <[hidden email]>:
>>>>>> Hi,
>>>>>>
>>>>>> I ran the snippet you sent on both 304cl and 306cl and I get the
>>>>>> following list:
>>>>>>
>>>>>> Object->#doesNotUnderstand:
>>>>>> SystemNavigation->#browseMethodsWhoseNamesContain:
>>>>>> Utilities class->#changeStampPerSe
>>>>>> Utilities class->#methodsWithInitials:
>>>>>>
>>>>>> Indeed, most of the annoyances are due to the
>>>>>> Object>>doesNotUnderstand: because when I get a DNU I am stuck
>>>>>> (and I
>>>>>> feel like in Java :)).
>>>>>>
>>>>>> I am not sure I understand if there is a fix to the problem.
>>>>>>
>>>>>> Cheers,
>>>>>> Doru
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 17 May 2009, at 12:06, Nicolas Cellier wrote:
>>>>>>
>>>>>>> There's something weird... If you hit var (UndefinedObject)
>>>>>>> doesNotUnderstand: #value: that means there were a problem the
>>>>>>> first
>>>>>>> time.
>>>>>>>
>>>>>>> Unfortunately, due to bug in MethodContext tempNames, we don't
>>>>>>> know
>>>>>>> the class and selector guilty.
>>>>>>> From the set of selectors I can see this is Object.
>>>>>>> From the source file position, I cannot say anything because I  
>>>>>>> do
>>>>>>> not
>>>>>>> have same change log history (sorry, own image).
>>>>>>>
>>>>>>> You could try
>>>>>>> (SourceFiles at: 2) readOnlyCopy position: 10007336; nextChunk
>>>>>>>
>>>>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>>>>> sorry for not checking either.
>>>>>>>> When I run this code I indeed do not have a problem on 10306cl
>>>>>>>>
>>>>>>>> stef
>>>>>>>>
>>>>>>>> On May 17, 2009, at 11:36 AM, Nicolas Cellier wrote:
>>>>>>>>
>>>>>>>>> Sure, a key stroke error, it's bar value:, not var value:,
>>>>>>>>> This @!* workspace takes it as global without a warning....
>>>>>>>>>
>>>>>>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>>>>>>> Nicolas
>>>>>>>>>>
>>>>>>>>>> when I run your script on the license looking for image
>>>>>>>>>> I got using 10306cl
>>>>>>>>>>
>>>>>>>>>> I get the following error:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> VM: Mac OS - intel - 1056 - Squeak3.8.1 of '28 Aug
>>>>>>>>>> 2006' [latest
>>>>>>>>>> update: #6747] Squeak VM 4.1.1b2
>>>>>>>>>> Image: Pharo0.1 [Latest update: #10306]
>>>>>>>>>>
>>>>>>>>>> SecurityManager state:
>>>>>>>>>> Restricted: false
>>>>>>>>>> FileAccess: true
>>>>>>>>>> SocketAccess: true
>>>>>>>>>> Working Dir /Data/squeak4.0-relicenseTools/history
>>>>>>>>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>>>>>>>>>> Untrusted Dir /Users/ducasse/Library/Preferences/Squeak/
>>>>>>>>>> Internet/My
>>>>>>>>>> Squeak
>>>>>>>>>>
>>>>>>>>>> UndefinedObject(Object)>>doesNotUnderstand: #value:
>>>>>>>>>> Receiver: nil
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>> <<error during printing>
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>> nil
>>>>>>>>>>
>>>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>> Receiver: nil
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>> <<error during printing>
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>> nil
>>>>>>>>>>
>>>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>>> Receiver: [closure] in [] in [] in [] in
>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         anArray:        an Array('Error: Invalid utf8 input
>>>>>>>>>> detected' an
>>>>>>>>>> UTF8TextConverter)
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         outerContext:   [] in [] in [] in
>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>         startpc:        183
>>>>>>>>>>         numArgs:        0
>>>>>>>>>>
>>>>>>>>>> [] in BlockClosure>>ifError:
>>>>>>>>>> Receiver: [closure] in [] in [] in [] in
>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         errorHandlerBlock:      Error: Invalid utf8 input
>>>>>>>>>> detected
>>>>>>>>>>         ex:     [closure] in [] in [] in [] in
>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         outerContext:   [] in [] in [] in
>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>         startpc:        171
>>>>>>>>>>         numArgs:        0
>>>>>>>>>>
>>>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>>> Receiver: [closure] in BlockClosure>>ifError:
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         anArray:        an Array(Error: Invalid utf8 input
>>>>>>>>>> detected)
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         outerContext:   BlockClosure>>ifError:
>>>>>>>>>>         startpc:        40
>>>>>>>>>>         numArgs:        1
>>>>>>>>>>
>>>>>>>>>> [] in MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>> Receiver: BlockClosure>>on:do:
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>> <<error during printing>
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         sender:         BlockClosure>>ifError:
>>>>>>>>>>         pc:     17
>>>>>>>>>>         stackp:         3
>>>>>>>>>>         method:         a CompiledMethod (2306)
>>>>>>>>>>         closureOrNil:   nil
>>>>>>>>>>         receiver:       [closure] in [] in [] in [] in
>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>
>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>> Receiver: [closure] in
>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aBlock:         [closure] in
>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>         returnValue:    nil
>>>>>>>>>>         b:      nil
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         outerContext:
>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>         startpc:        90
>>>>>>>>>>         numArgs:        0
>>>>>>>>>>
>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>> Receiver: BlockClosure>>on:do:
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         exception:      Error: Invalid utf8 input detected
>>>>>>>>>>         val:    nil
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         sender:         BlockClosure>>ifError:
>>>>>>>>>>         pc:     17
>>>>>>>>>>         stackp:         3
>>>>>>>>>>         method:         a CompiledMethod (2306)
>>>>>>>>>>         closureOrNil:   nil
>>>>>>>>>>         receiver:       [closure] in [] in [] in [] in
>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>
>>>>>>>>>> Error(Exception)>>signal
>>>>>>>>>> Receiver: Error: Invalid utf8 input detected
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         messageText:    'Invalid utf8 input detected'
>>>>>>>>>>         tag:    nil
>>>>>>>>>>         signalContext:  Error(Exception)>>signal
>>>>>>>>>>         handlerContext:         BlockClosure>>on:do:
>>>>>>>>>>         outerContext:   nil
>>>>>>>>>>
>>>>>>>>>> Error(Exception)>>signal:
>>>>>>>>>> Receiver: Error: Invalid utf8 input detected
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         signalerText:   'Invalid utf8 input detected'
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         messageText:    'Invalid utf8 input detected'
>>>>>>>>>>         tag:    nil
>>>>>>>>>>         signalContext:  Error(Exception)>>signal
>>>>>>>>>>         handlerContext:         BlockClosure>>on:do:
>>>>>>>>>>         outerContext:   nil
>>>>>>>>>>
>>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aString:        'Invalid utf8 input detected'
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>
>>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>
>>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aStream:        MultiByteFileStream: '/Data/
>>>>>>>>>> squeak4.0-
>>>>>>>>>> relicenseTools/
>>>>>>>>>> history/Pharo0.1C...etc...
>>>>>>>>>>         character1:     $
>>>>>>>>>>         value1:         160
>>>>>>>>>>         character2:     Character tab
>>>>>>>>>>         value2:         9
>>>>>>>>>>         unicode:        nil
>>>>>>>>>>         character3:     Character tab
>>>>>>>>>>         value3:         9
>>>>>>>>>>         character4:     nil
>>>>>>>>>>         value4:         nil
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>
>>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>> Receiver: MultiByteFileStream: '/Data/squeak4.0-
>>>>>>>>>> relicenseTools/
>>>>>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         char:   nil
>>>>>>>>>>         secondChar:     nil
>>>>>>>>>>         state:  nil
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>> Receiver: MultiByteFileStream: '/Data/squeak4.0-
>>>>>>>>>> relicenseTools/
>>>>>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         terminator:     $!
>>>>>>>>>>         out:    a WriteStream 'doesNotUnderstand: aMessage
>>>>>>>>>>  "Handle the fact that there ...etc...
>>>>>>>>>>         ch:     Character cr
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>> Receiver: MultiByteFileStream: '/Data/squeak4.0-
>>>>>>>>>> relicenseTools/
>>>>>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         string:         nil
>>>>>>>>>>         runsRaw:        nil
>>>>>>>>>>         strm:   nil
>>>>>>>>>>         runs:   nil
>>>>>>>>>>         peek:   nil
>>>>>>>>>>         pos:    nil
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>> Receiver: a RemoteString
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         theFile:        MultiByteFileStream: '/Data/
>>>>>>>>>> squeak4.0-
>>>>>>>>>> relicenseTools/
>>>>>>>>>> history/Pharo0.1C...etc...
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         sourceFileNumber:       2
>>>>>>>>>>         filePositionHi:         10007336
>>>>>>>>>>
>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>> Receiver: [closure] in RemoteString>>text
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aBlock:         [closure] in RemoteString>>text
>>>>>>>>>>         returnValue:    nil
>>>>>>>>>>         b:      nil
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         outerContext:   RemoteString>>text
>>>>>>>>>>         startpc:        72
>>>>>>>>>>         numArgs:        0
>>>>>>>>>>
>>>>>>>>>> RemoteString>>text
>>>>>>>>>> Receiver: a RemoteString
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         theFile:        MultiByteFileStream: '/Data/
>>>>>>>>>> squeak4.0-
>>>>>>>>>> relicenseTools/
>>>>>>>>>> history/Pharo0.1C...etc...
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         sourceFileNumber:       2
>>>>>>>>>>         filePositionHi:         10007336
>>>>>>>>>>
>>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         position:       10007336
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>
>>>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>> Receiver: nil
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>> <<error during printing>
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>> nil
>>>>>>>>>>
>>>>>>>>>> BlockClosure>>on:do:
>>>>>>>>>> Receiver: [closure] in [] in [] in [] in
>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         exception:      Error
>>>>>>>>>>         handlerAction:  [closure] in BlockClosure>>ifError:
>>>>>>>>>>         handlerActive:  false
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         outerContext:   [] in [] in [] in
>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>         startpc:        171
>>>>>>>>>>         numArgs:        0
>>>>>>>>>>
>>>>>>>>>> BlockClosure>>ifError:
>>>>>>>>>> Receiver: [closure] in [] in [] in [] in
>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         errorHandlerBlock:      [closure] in [] in [] in []
>>>>>>>>>> in
>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         outerContext:   [] in [] in [] in
>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>         startpc:        171
>>>>>>>>>>         numArgs:        0
>>>>>>>>>>
>>>>>>>>>> [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>> Receiver: nil
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>> <<error during printing>
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>> nil
>>>>>>>>>>
>>>>>>>>>> IdentitySet(Set)>>do:
>>>>>>>>>> Receiver: an IdentitySet(#name #inheritsFromAnyIn: #asOop
>>>>>>>>>> #isWebBrowser #storeOnStream: #wantsDroppe...etc...
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aBlock:         [closure] in [] in [] in
>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>         index:  394
>>>>>>>>>>         each:   #doesNotUnderstand:
>>>>>>>>>>         indexLimiT:     498
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         tally:  373
>>>>>>>>>>         array:  #(nil nil #name nil #inheritsFromAnyIn:
>>>>>>>>>> #asOop nil nil
>>>>>>>>>> #isWebBrowser nil...etc...
>>>>>>>>>>
>>>>>>>>>> [] in [] in UndefinedObject>>DoIt
>>>>>>>>>> Receiver: nil
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>> <<error during printing>
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>> nil
>>>>>>>>>>
>>>>>>>>>> [] in ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>> Receiver: ProtoObject
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aBlock:         Object
>>>>>>>>>>         cl:     [closure] in [] in UndefinedObject>>DoIt
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         superclass:     nil
>>>>>>>>>>         methodDict:     a MethodDictionary(#'=='->a
>>>>>>>>>> CompiledMethod (602)
>>>>>>>>>> #become:->a Compil...etc...
>>>>>>>>>>         format:         2
>>>>>>>>>>         instanceVariables:      nil
>>>>>>>>>>         organization:   ('apply primitives' tryNamedPrimitive
>>>>>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>>>>>         subclasses:     {Object . ObjectOut .
>>>>>>>>>> ImageSegmentRootStub .
>>>>>>>>>> MessageCatcher . TestC...etc...
>>>>>>>>>>         name:   #ProtoObject
>>>>>>>>>>         classPool:      nil
>>>>>>>>>>         sharedPools:    nil
>>>>>>>>>>         environment:    nil
>>>>>>>>>>         category:       #'Kernel-Objects'
>>>>>>>>>>         traitComposition:       nil
>>>>>>>>>>         localSelectors:         nil
>>>>>>>>>>
>>>>>>>>>> Array(SequenceableCollection)>>do:
>>>>>>>>>> Receiver: {Object . ObjectOut . ImageSegmentRootStub .
>>>>>>>>>> MessageCatcher . TestCoverage}
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aBlock:         [closure] in ProtoObject
>>>>>>>>>> class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>>         index:  1
>>>>>>>>>>         indexLimiT:     5
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>> {Object . ObjectOut . ImageSegmentRootStub . MessageCatcher .
>>>>>>>>>> TestCoverage}
>>>>>>>>>>
>>>>>>>>>> ProtoObject class(Class)>>subclassesDoGently:
>>>>>>>>>> Receiver: ProtoObject
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aBlock:         [closure] in ProtoObject
>>>>>>>>>> class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         superclass:     nil
>>>>>>>>>>         methodDict:     a MethodDictionary(#'=='->a
>>>>>>>>>> CompiledMethod (602)
>>>>>>>>>> #become:->a Compil...etc...
>>>>>>>>>>         format:         2
>>>>>>>>>>         instanceVariables:      nil
>>>>>>>>>>         organization:   ('apply primitives' tryNamedPrimitive
>>>>>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>>>>>         subclasses:     {Object . ObjectOut .
>>>>>>>>>> ImageSegmentRootStub .
>>>>>>>>>> MessageCatcher . TestC...etc...
>>>>>>>>>>         name:   #ProtoObject
>>>>>>>>>>         classPool:      nil
>>>>>>>>>>         sharedPools:    nil
>>>>>>>>>>         environment:    nil
>>>>>>>>>>         category:       #'Kernel-Objects'
>>>>>>>>>>         traitComposition:       nil
>>>>>>>>>>         localSelectors:         nil
>>>>>>>>>>
>>>>>>>>>> ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>> Receiver: ProtoObject
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aBlock:         [closure] in [] in
>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         superclass:     nil
>>>>>>>>>>         methodDict:     a MethodDictionary(#'=='->a
>>>>>>>>>> CompiledMethod (602)
>>>>>>>>>> #become:->a Compil...etc...
>>>>>>>>>>         format:         2
>>>>>>>>>>         instanceVariables:      nil
>>>>>>>>>>         organization:   ('apply primitives' tryNamedPrimitive
>>>>>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>>>>>         subclasses:     {Object . ObjectOut .
>>>>>>>>>> ImageSegmentRootStub .
>>>>>>>>>> MessageCatcher . TestC...etc...
>>>>>>>>>>         name:   #ProtoObject
>>>>>>>>>>         classPool:      nil
>>>>>>>>>>         sharedPools:    nil
>>>>>>>>>>         environment:    nil
>>>>>>>>>>         category:       #'Kernel-Objects'
>>>>>>>>>>         traitComposition:       nil
>>>>>>>>>>         localSelectors:         nil
>>>>>>>>>>
>>>>>>>>>> SystemNavigation>>allBehaviorsDo:
>>>>>>>>>> Receiver: a SystemNavigation
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aBlock:         [closure] in [] in
>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         browserClass:   nil
>>>>>>>>>>         hierarchyBrowserClass:  nil
>>>>>>>>>>
>>>>>>>>>> [] in UndefinedObject>>DoIt
>>>>>>>>>> Receiver: nil
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>> <<error during printing>
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>> nil
>>>>>>>>>>
>>>>>>>>>> [] in ProgressInitiationException>>defaultAction
>>>>>>>>>> Receiver: ProgressInitiationException
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         progress:       [closure] in
>>>>>>>>>> SystemProgressMorph>>label:min:max:
>>>>>>>>>>         result:         #(nil)
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         messageText:    nil
>>>>>>>>>>         tag:    nil
>>>>>>>>>>         signalContext:
>>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>>         handlerContext:         nil
>>>>>>>>>>         outerContext:   nil
>>>>>>>>>>         workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>>>>>         maxVal:         3874
>>>>>>>>>>         minVal:         0
>>>>>>>>>>         aPoint:         840@306
>>>>>>>>>>         progressTitle:  'Searching UTF-8 Problems...'
>>>>>>>>>>
>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>> Receiver: [closure] in
>>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         aBlock:         [closure] in
>>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>>         returnValue:    nil
>>>>>>>>>>         b:      nil
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         outerContext:
>>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>>         startpc:        49
>>>>>>>>>>         numArgs:        0
>>>>>>>>>>
>>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>> Receiver: ProgressInitiationException
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         progress:       [closure] in
>>>>>>>>>> SystemProgressMorph>>label:min:max:
>>>>>>>>>>         result:         #(nil)
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         messageText:    nil
>>>>>>>>>>         tag:    nil
>>>>>>>>>>         signalContext:
>>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>>         handlerContext:         nil
>>>>>>>>>>         outerContext:   nil
>>>>>>>>>>         workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>>>>>         maxVal:         3874
>>>>>>>>>>         minVal:         0
>>>>>>>>>>         aPoint:         840@306
>>>>>>>>>>         progressTitle:  'Searching UTF-8 Problems...'
>>>>>>>>>>
>>>>>>>>>> UndefinedObject>>handleSignal:
>>>>>>>>>> Receiver: nil
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         exception:      ProgressInitiationException
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>> nil
>>>>>>>>>>
>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>> Receiver: BlockClosure>>on:do:
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         exception:      ProgressInitiationException
>>>>>>>>>>         val:    nil
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         sender:         PasteUpMorph>>becomeActiveDuring:
>>>>>>>>>>         pc:     17
>>>>>>>>>>         stackp:         3
>>>>>>>>>>         method:         a CompiledMethod (2306)
>>>>>>>>>>         closureOrNil:   nil
>>>>>>>>>>         receiver:       [closure] in
>>>>>>>>>> PasteUpMorph>>becomeActiveDuring:
>>>>>>>>>>
>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>> Receiver: BlockClosure>>on:do:
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>         exception:      ProgressInitiationException
>>>>>>>>>>         val:    nil
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         sender:
>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>>>         pc:     17
>>>>>>>>>>         stackp:         3
>>>>>>>>>>         method:         a CompiledMethod (2306)
>>>>>>>>>>         closureOrNil:   nil
>>>>>>>>>>         receiver:       [closure] in
>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>>>
>>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>> Receiver: ProgressInitiationException
>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>
>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>         messageText:    nil
>>>>>>>>>>         tag:    nil
>>>>>>>>>>         signalContext:
>>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>>         handlerContext:         nil
>>>>>>>>>>         outerContext:   nil
>>>>>>>>>>         workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>>>>>         maxVal:         3874
>>>>>>>>>>         minVal:         0
>>>>>>>>>>         aPoint:         840@306
>>>>>>>>>>         progressTitle:  'Searching UTF-8 Problems...'
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --- The full stack ---
>>>>>>>>>> UndefinedObject(Object)>>doesNotUnderstand: #value:
>>>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>>> [] in BlockClosure>>ifError:
>>>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>>> [] in MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>> Error(Exception)>>signal
>>>>>>>>>> Error(Exception)>>signal:
>>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>> RemoteString>>text
>>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>> BlockClosure>>on:do:
>>>>>>>>>> BlockClosure>>ifError:
>>>>>>>>>> [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>> IdentitySet(Set)>>do:
>>>>>>>>>> [] in [] in UndefinedObject>>DoIt
>>>>>>>>>> [] in ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>> Array(SequenceableCollection)>>do:
>>>>>>>>>> ProtoObject class(Class)>>subclassesDoGently:
>>>>>>>>>> ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>> SystemNavigation>>allBehaviorsDo:
>>>>>>>>>> [] in UndefinedObject>>DoIt
>>>>>>>>>> [] in ProgressInitiationException>>defaultAction
>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>> UndefinedObject>>handleSignal:
>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>> - - - - - - - - - - - - - - -
>>>>>>>>>>                 - - - - - - - - - - - - - - - - - -
>>>>>>>>>> ProgressInitiationException>>display:at:from:to:during:
>>>>>>>>>> ProgressInitiationException class>>display:at:from:to:during:
>>>>>>>>>> ByteString(String)>>displayProgressAt:from:to:during:
>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>> Compiler>>evaluate:in:to:notifying:ifFail:logged:
>>>>>>>>>> [] in TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>>> BlockClosure>>on:do:
>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>doIt
>>>>>>>>>> [] in TextMorphEditor(ParagraphEditor)>>doIt:
>>>>>>>>>> TextMorphEditor
>>>>>>>>>> (ParagraphEditor)>>terminateAndInitializeAround:
>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>doIt:
>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>dispatchOnKeyEvent:with:
>>>>>>>>>> TextMorphEditor>>dispatchOnKeyEvent:with:
>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>keystroke:
>>>>>>>>>> TextMorphEditor>>keystroke:
>>>>>>>>>> [] in TextMorphForEditView(TextMorph)>>keyStroke:
>>>>>>>>>> TextMorphForEditView(TextMorph)>>handleInteraction:
>>>>>>>>>> TextMorphForEditView>>handleInteraction:
>>>>>>>>>> TextMorphForEditView(TextMorph)>>keyStroke:
>>>>>>>>>> TextMorphForEditView>>keyStroke:
>>>>>>>>>> TextMorphForEditView(TextMorph)>>handleKeystroke:
>>>>>>>>>> KeyboardEvent>>sentTo:
>>>>>>>>>> TextMorphForEditView(Morph)>>handleEvent:
>>>>>>>>>> TextMorphForEditView(Morph)>>handleFocusEvent:
>>>>>>>>>> [] in HandMorph>>sendFocusEvent:to:clear:
>>>>>>>>>> [] in PasteUpMorph>>becomeActiveDuring:
>>>>>>>>>> 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
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On May 17, 2009, at 11:13 AM, Nicolas Cellier wrote:
>>>>>>>>>>
>>>>>>>>>>> One solution would be to use getSource rather than
>>>>>>>>>>> getSourceFromFile.
>>>>>>>>>>> However, with following code I detected no problem in my
>>>>>>>>>>> pharo-
>>>>>>>>>>> core
>>>>>>>>>>> copy (10281 updated to 10306)
>>>>>>>>>>>
>>>>>>>>>>> | problems total |
>>>>>>>>>>> problems := OrderedCollection new.
>>>>>>>>>>> total := 0.
>>>>>>>>>>> SystemNavigation default allBehaviorsDo: [:cl | total :=
>>>>>>>>>>> total +
>>>>>>>>>>> 1].
>>>>>>>>>>> 'Searching UTF-8 Problems...'
>>>>>>>>>>> displayProgressAt: Sensor cursorPoint
>>>>>>>>>>> from: 0 to: total
>>>>>>>>>>> during:
>>>>>>>>>>>        [:bar | | count |
>>>>>>>>>>>        count := 0.
>>>>>>>>>>>        SystemNavigation default allBehaviorsDo: [:cl |
>>>>>>>>>>>                bar value: (count := count + 1).
>>>>>>>>>>>                cl selectors do: [:sel |
>>>>>>>>>>>                        [(cl compiledMethodAt: sel)
>>>>>>>>>>> getSourceFromFile] ifError: [
>>>>>>>>>>>                                var value: 'last problem
>>>>>>>>>>> found ' , cl name , '>>#' , sel.
>>>>>>>>>>>                                problems add: cl->sel]]]].
>>>>>>>>>>> ^problems
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>>>>>>>>> yes same here.
>>>>>>>>>>>>
>>>>>>>>>>>> On May 17, 2009, at 2:10 AM, Tudor Girba wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Recently I encounter a strange error:
>>>>>>>>>>>>> - I sometimes get a debugger due to some problems in my
>>>>>>>>>>>>> code
>>>>>>>>>>>>> - when I try to investigate the trace, I get another
>>>>>>>>>>>>> debugger
>>>>>>>>>>>>> saying
>>>>>>>>>>>>> that "Invalid utf8 input detected'"
>>>>>>>>>>>>>
>>>>>>>>>>>>> This second debugger I can investigate, the previous not.
>>>>>>>>>>>>> It
>>>>>>>>>>>>> looks
>>>>>>>>>>>>> like something got messed up with the text conversion of
>>>>>>>>>>>>> the
>>>>>>>>>>>>> sources.
>>>>>>>>>>>>>
>>>>>>>>>>>>> I am working on 10306 using the 4.1.1b2 VM on Mac. The  
>>>>>>>>>>>>> code
>>>>>>>>>>>>> I am
>>>>>>>>>>>>> working on is loaded from squeaksource (Moose, Glamour,
>>>>>>>>>>>>> Mondrian).
>>>>>>>>>>>>>
>>>>>>>>>>>>> Anyone can confirm this problem?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Cheers,
>>>>>>>>>>>>> Doru
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> ----ERROR REPORT----
>>>>>>>>>>>>>
>>>>>>>>>>>>> '17 May 2009 2:05:50 am
>>>>>>>>>>>>>
>>>>>>>>>>>>> VM: Mac OS - intel - 1056 - Squeak3.8.1 of ''28 Aug
>>>>>>>>>>>>> 2006'' [latest
>>>>>>>>>>>>> update: #6747] Squeak VM 4.1.1b2
>>>>>>>>>>>>> Image: Pharo0.1 [Latest update: #10306]
>>>>>>>>>>>>>
>>>>>>>>>>>>> SecurityManager state:
>>>>>>>>>>>>> Restricted: false
>>>>>>>>>>>>> FileAccess: true
>>>>>>>>>>>>> SocketAccess: true
>>>>>>>>>>>>> Working Dir /Users/girba/Work/Code/squeakingmoose
>>>>>>>>>>>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>>>>>>>>>>>>> Untrusted Dir /Users/girba/Library/Preferences/Squeak/
>>>>>>>>>>>>> Internet/
>>>>>>>>>>>>> My
>>>>>>>>>>>>> Squeak
>>>>>>>>>>>>>
>>>>>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aString:        ''Invalid utf8 input detected''
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>>>
>>>>>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>>>
>>>>>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aStream:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>>>>>> Work/Code/
>>>>>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>>>>>       character1:     $
>>>>>>>>>>>>>       value1:         160
>>>>>>>>>>>>>       character2:     Character tab
>>>>>>>>>>>>>       value2:         9
>>>>>>>>>>>>>       unicode:        nil
>>>>>>>>>>>>>       character3:     Character tab
>>>>>>>>>>>>>       value3:         9
>>>>>>>>>>>>>       character4:     nil
>>>>>>>>>>>>>       value4:         nil
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>>>
>>>>>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       char:   nil
>>>>>>>>>>>>>       secondChar:     nil
>>>>>>>>>>>>>       state:  nil
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       terminator:     $!
>>>>>>>>>>>>>       out:    a WriteStream ''doesNotUnderstand: aMessage
>>>>>>>>>>>>> "Handle the fact that there ...etc...
>>>>>>>>>>>>>       ch:     Character cr
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       string:         nil
>>>>>>>>>>>>>       runsRaw:        nil
>>>>>>>>>>>>>       strm:   nil
>>>>>>>>>>>>>       runs:   nil
>>>>>>>>>>>>>       peek:   nil
>>>>>>>>>>>>>       pos:    nil
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>>>>> Receiver: a RemoteString
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       theFile:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>>>>>> Work/Code/
>>>>>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       sourceFileNumber:       2
>>>>>>>>>>>>>       filePositionHi:         10007336
>>>>>>>>>>>>>
>>>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>>>> Receiver: [closure] in RemoteString>>text
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aBlock:         [closure] in RemoteString>>text
>>>>>>>>>>>>>       returnValue:    nil
>>>>>>>>>>>>>       b:      nil
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       outerContext:   RemoteString>>text
>>>>>>>>>>>>>       startpc:        72
>>>>>>>>>>>>>       numArgs:        0
>>>>>>>>>>>>>
>>>>>>>>>>>>> RemoteString>>text
>>>>>>>>>>>>> Receiver: a RemoteString
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       theFile:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>>>>>> Work/Code/
>>>>>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       sourceFileNumber:       2
>>>>>>>>>>>>>       filePositionHi:         10007336
>>>>>>>>>>>>>
>>>>>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       position:       10007336
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>>>>
>>>>>>>>>>>>> CompiledMethod>>methodNode
>>>>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aClass:         Object
>>>>>>>>>>>>>       source:         nil
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>>>>
>>>>>>>>>>>>> [] in DebuggerMethodMap class>>forMethod:
>>>>>>>>>>>>> Receiver: DebuggerMethodMap
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aMethod:        a CompiledMethod (838)
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       superclass:     Object
>>>>>>>>>>>>>       methodDict:     a
>>>>>>>>>>>>> MethodDictionary(#abstractSourceMap-
>>>>>>>>>>>>>> a CompiledMethod
>>>>>>>>>>>>> (1628) #for...etc...
>>>>>>>>>>>>>       format:         140
>>>>>>>>>>>>>       instanceVariables:      #(''timestamp''
>>>>>>>>>>>>> ''methodReference''
>>>>>>>>>>>>> ''methodNode'' ''abstractSource...etc...
>>>>>>>>>>>>>       organization:   (''initialize-release''
>>>>>>>>>>>>> forMethod:methodNode:)
>>>>>>>>>>>>> (''accessing'' markRec...etc...
>>>>>>>>>>>>>       subclasses:
>>>>>>>>>>>>> {DebuggerMethodMapForBlueBookMethods .
>>>>>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>>>>>       name:   #DebuggerMethodMap
>>>>>>>>>>>>>       classPool:      a Dictionary(#MapCache->a
>>>>>>>>>>>>> WeakIdentityKeyDictionary(a
>>>>>>>>>>>>> CompiledMethod...etc...
>>>>>>>>>>>>>       sharedPools:    nil
>>>>>>>>>>>>>       environment:    Smalltalk
>>>>>>>>>>>>>       category:       #''Tools-Debugger''
>>>>>>>>>>>>>       traitComposition:       nil
>>>>>>>>>>>>>       localSelectors:         nil
>>>>>>>>>>>>>
>>>>>>>>>>>>> WeakIdentityKeyDictionary(Dictionary)>>at:ifAbsent:
>>>>>>>>>>>>> Receiver: a WeakIdentityKeyDictionary(a CompiledMethod
>>>>>>>>>>>>> (126)-
>>>>>>>>>>>>>> a
>>>>>>>>>>>>> DebuggerMethodMapForClosureCompiledM...etc...
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       key:    a CompiledMethod (838)
>>>>>>>>>>>>>       aBlock:         [closure] in DebuggerMethodMap
>>>>>>>>>>>>> class>>forMethod:
>>>>>>>>>>>>>       assoc:  nil
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       tally:  16
>>>>>>>>>>>>>       array:  an Array(nil nil a CompiledMethod (2402)->a
>>>>>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>>>>>
>>>>>>>>>>>>> DebuggerMethodMap class>>forMethod:
>>>>>>>>>>>>> Receiver: DebuggerMethodMap
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aMethod:        a CompiledMethod (838)
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       superclass:     Object
>>>>>>>>>>>>>       methodDict:     a
>>>>>>>>>>>>> MethodDictionary(#abstractSourceMap-
>>>>>>>>>>>>>> a CompiledMethod
>>>>>>>>>>>>> (1628) #for...etc...
>>>>>>>>>>>>>       format:         140
>>>>>>>>>>>>>       instanceVariables:      #(''timestamp''
>>>>>>>>>>>>> ''methodReference''
>>>>>>>>>>>>> ''methodNode'' ''abstractSource...etc...
>>>>>>>>>>>>>       organization:   (''initialize-release''
>>>>>>>>>>>>> forMethod:methodNode:)
>>>>>>>>>>>>> (''accessing'' markRec...etc...
>>>>>>>>>>>>>       subclasses:
>>>>>>>>>>>>> {DebuggerMethodMapForBlueBookMethods .
>>>>>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>>>>>       name:   #DebuggerMethodMap
>>>>>>>>>>>>>       classPool:      a Dictionary(#MapCache->a
>>>>>>>>>>>>> WeakIdentityKeyDictionary(a
>>>>>>>>>>>>> CompiledMethod...etc...
>>>>>>>>>>>>>       sharedPools:    nil
>>>>>>>>>>>>>       environment:    Smalltalk
>>>>>>>>>>>>>       category:       #''Tools-Debugger''
>>>>>>>>>>>>>       traitComposition:       nil
>>>>>>>>>>>>>       localSelectors:         nil
>>>>>>>>>>>>>
>>>>>>>>>>>>> CompiledMethod>>debuggerMap
>>>>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>>>>
>>>>>>>>>>>>> OTClosureContextNode>>selection
>>>>>>>>>>>>> Receiver: an OTClosureContextNode
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       metaNode:       context
>>>>>>>>>>>>>
>>>>>>>>>>>>>       navigation:     an OBDefaultEdgeNavigation
>>>>>>>>>>>>>       process:        a Process in OTToolset
>>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>>       context:        Model
>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>>       parseTree:      nil
>>>>>>>>>>>>>       sourceMap:      nil
>>>>>>>>>>>>>       debuggerMap:    nil
>>>>>>>>>>>>>
>>>>>>>>>>>>> OTClosureContextNode(OTContextNode)>>definition
>>>>>>>>>>>>> Receiver: an OTClosureContextNode
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       metaNode:       context
>>>>>>>>>>>>>
>>>>>>>>>>>>>       navigation:     an OBDefaultEdgeNavigation
>>>>>>>>>>>>>       process:        a Process in OTToolset
>>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>>       context:        Model
>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>>       parseTree:      nil
>>>>>>>>>>>>>       sourceMap:      nil
>>>>>>>>>>>>>       debuggerMap:    nil
>>>>>>>>>>>>>
>>>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>node:
>>>>>>>>>>>>> Receiver: an OTDefinitionPanel
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aNode:  an OTClosureContextNode
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       browser:        an OTDebugger
>>>>>>>>>>>>>       definition:     nil
>>>>>>>>>>>>>       selection:      nil
>>>>>>>>>>>>>
>>>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>selectionChanged:
>>>>>>>>>>>>> Receiver: an OTDefinitionPanel
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       ann:    an OBSelectionChanged
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       browser:        an OTDebugger
>>>>>>>>>>>>>       definition:     nil
>>>>>>>>>>>>>       selection:      nil
>>>>>>>>>>>>>
>>>>>>>>>>>>> MessageSend>>valueWithArguments:
>>>>>>>>>>>>> Receiver: MessageSend(#selectionChanged: -> an
>>>>>>>>>>>>> OTDefinitionPanel)
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       anArray:        an Array(an OBSelectionChanged)
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       receiver:       an OTDefinitionPanel
>>>>>>>>>>>>>       selector:       #selectionChanged:
>>>>>>>>>>>>>       arguments:      #()
>>>>>>>>>>>>>
>>>>>>>>>>>>> [] in ActionSequence>>valueWithArguments:
>>>>>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       anArray:        MessageSend(#selectionChanged: -> an
>>>>>>>>>>>>> OTDefinitionPanel)
>>>>>>>>>>>>>       answer:         an Array(an OBSelectionChanged)
>>>>>>>>>>>>>       each:   an Array(an OBFixedButtonPanel)
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>>>
>>>>>>>>>>>>> ActionSequence(SequenceableCollection)>>do:
>>>>>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aBlock:         [closure] in
>>>>>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>>>>>>       index:  4
>>>>>>>>>>>>>       indexLimiT:     6
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>>>
>>>>>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       anArray:        an Array(an OBSelectionChanged)
>>>>>>>>>>>>>       answer:         an Array(an OBFixedButtonPanel)
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>>>
>>>>>>>>>>>>> [] in OBAnnouncer>>announce:
>>>>>>>>>>>>> Receiver: an OBAnnouncer
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>> <<error during printing>
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       subscriptions:  an
>>>>>>>>>>>>> IdentityDictionary(OBAboutToChange-
>>>>>>>>>>>>>> an
>>>>>>>>>>>>> ActionSequence(Message...etc...
>>>>>>>>>>>>>
>>>>>>>>>>>>> [] in IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aBlock:         OBSelectionChanged-
>>>>>>>>>>>>>> #(MessageSend(#relabel: -> an
>>>>>>>>>>>>> OTDebugger)
>>>>>>>>>>>>> MessageSe...etc...
>>>>>>>>>>>>>       assoc:  [closure] in OBAnnouncer>>announce:
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       tally:  12
>>>>>>>>>>>>>       array:  {OBNodeCreated->an
>>>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>>>
>>>>>>>>>>>>> IdentityDictionary(Set)>>do:
>>>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aBlock:         [closure] in
>>>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>>>       index:  6
>>>>>>>>>>>>>       each:   OBSelectionChanged-
>>>>>>>>>>>>>> #(MessageSend(#relabel: -
>>>>>>>>>>>>>> an OTDebugger)
>>>>>>>>>>>>> MessageSend...etc...
>>>>>>>>>>>>>       indexLimiT:     20
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       tally:  12
>>>>>>>>>>>>>       array:  {OBNodeCreated->an
>>>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>>>
>>>>>>>>>>>>> IdentityDictionary(Dictionary)>>associationsDo:
>>>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aBlock:         [closure] in
>>>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       tally:  12
>>>>>>>>>>>>>       array:  {OBNodeCreated->an
>>>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>>>
>>>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aBlock:         [closure] in OBAnnouncer>>announce:
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       tally:  12
>>>>>>>>>>>>>       array:  {OBNodeCreated->an
>>>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>>>
>>>>>>>>>>>>> OBAnnouncer>>announce:
>>>>>>>>>>>>> Receiver: an OBAnnouncer
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       anObject:       an OBSelectionChanged
>>>>>>>>>>>>>       ann:    an OBSelectionChanged
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       subscriptions:  an
>>>>>>>>>>>>> IdentityDictionary(OBAboutToChange-
>>>>>>>>>>>>>> an
>>>>>>>>>>>>> ActionSequence(Message...etc...
>>>>>>>>>>>>>
>>>>>>>>>>>>> OBColumnPanel>>jumpTo:
>>>>>>>>>>>>> Receiver: an OBColumnPanel
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aNode:  an OTClosureContextNode
>>>>>>>>>>>>>       column:         an OBColumn(Model
>>>>>>>>>>>>> class(Object)>>doesNotUnderstand:
>>>>>>>>>>>>> #fullName)
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       browser:        an OTDebugger
>>>>>>>>>>>>>       root:   an OTProcessNode
>>>>>>>>>>>>>       current:        an OTClosureContextNode
>>>>>>>>>>>>>       columns:        an OrderedCollection(an
>>>>>>>>>>>>> OBColumn(Model
>>>>>>>>>>>>> class(Object)>>doesNotUnderstan...etc...
>>>>>>>>>>>>>       minPanes:       1
>>>>>>>>>>>>>       maxPanes:       1
>>>>>>>>>>>>>
>>>>>>>>>>>>> OTDebugger(OBBrowser)>>jumpTo:
>>>>>>>>>>>>> Receiver: an OTDebugger
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aNode:  an OTClosureContextNode
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       panels:         an OrderedCollection(an
>>>>>>>>>>>>> OBColumnPanel
>>>>>>>>>>>>> an OBFixedButtonPanel
>>>>>>>>>>>>> an OTDefini...etc...
>>>>>>>>>>>>>       announcer:      an OBAnnouncer
>>>>>>>>>>>>>       cmdFactories:   an Array(OTCmdProceedDebugger
>>>>>>>>>>>>> OTCmdIntoDebugger
>>>>>>>>>>>>> OTCmdThroughDebug...etc...
>>>>>>>>>>>>>
>>>>>>>>>>>>> OTDebugger class(OBBrowser
>>>>>>>>>>>>> class)>>metaNode:root:selection:panels:
>>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       metaNode:       process
>>>>>>>>>>>>> #longStack->context
>>>>>>>>>>>>>
>>>>>>>>>>>>>       rootNode:       an OTProcessNode
>>>>>>>>>>>>>       selectedNode:   an OTClosureContextNode
>>>>>>>>>>>>>       panels:         an Array(an OBColumnPanel an
>>>>>>>>>>>>> OBFixedButtonPanel an
>>>>>>>>>>>>> OTDefinitionPanel an...etc...
>>>>>>>>>>>>>       browser:        an OTDebugger
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       superclass:     OBBrowser
>>>>>>>>>>>>>       methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>>       format:         136
>>>>>>>>>>>>>       instanceVariables:      nil
>>>>>>>>>>>>>       organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>>       subclasses:     nil
>>>>>>>>>>>>>       name:   #OTDebugger
>>>>>>>>>>>>>       classPool:      nil
>>>>>>>>>>>>>       sharedPools:    nil
>>>>>>>>>>>>>       environment:    Smalltalk
>>>>>>>>>>>>>       category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>>       traitComposition:       nil
>>>>>>>>>>>>>       localSelectors:         nil
>>>>>>>>>>>>>
>>>>>>>>>>>>> OTDebugger class(OBBrowser class)>>root:selection:
>>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       rootNode:       an OTProcessNode
>>>>>>>>>>>>>       selectedNode:   an OTClosureContextNode
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       superclass:     OBBrowser
>>>>>>>>>>>>>       methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>>       format:         136
>>>>>>>>>>>>>       instanceVariables:      nil
>>>>>>>>>>>>>       organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>>       subclasses:     nil
>>>>>>>>>>>>>       name:   #OTDebugger
>>>>>>>>>>>>>       classPool:      nil
>>>>>>>>>>>>>       sharedPools:    nil
>>>>>>>>>>>>>       environment:    Smalltalk
>>>>>>>>>>>>>       category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>>       traitComposition:       nil
>>>>>>>>>>>>>       localSelectors:         nil
>>>>>>>>>>>>>
>>>>>>>>>>>>> OTDebugger class>>process:context:errorWasInUIProcess:
>>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aProcess:       a Process in OTToolset
>>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>>       aContext:       Model
>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>>       aBool:  true
>>>>>>>>>>>>>       processNode:    an OTProcessNode
>>>>>>>>>>>>>       contextNode:    an OTClosureContextNode
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       superclass:     OBBrowser
>>>>>>>>>>>>>       methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>>       format:         136
>>>>>>>>>>>>>       instanceVariables:      nil
>>>>>>>>>>>>>       organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>>       subclasses:     nil
>>>>>>>>>>>>>       name:   #OTDebugger
>>>>>>>>>>>>>       classPool:      nil
>>>>>>>>>>>>>       sharedPools:    nil
>>>>>>>>>>>>>       environment:    Smalltalk
>>>>>>>>>>>>>       category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>>       traitComposition:       nil
>>>>>>>>>>>>>       localSelectors:         nil
>>>>>>>>>>>>>
>>>>>>>>>>>>> OTDebugger
>>>>>>>>>>>>> class>>process:context:label:errorWasInUIProcess:
>>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aProcess:       a Process in OTToolset
>>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>>       aContext:       Model
>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>>       aString:        ''MessageNotUnderstood: Model
>>>>>>>>>>>>> class>>fullName''
>>>>>>>>>>>>>       aBool:  true
>>>>>>>>>>>>>       debugger:       nil
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       superclass:     OBBrowser
>>>>>>>>>>>>>       methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>>       format:         136
>>>>>>>>>>>>>       instanceVariables:      nil
>>>>>>>>>>>>>       organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>>       subclasses:     nil
>>>>>>>>>>>>>       name:   #OTDebugger
>>>>>>>>>>>>>       classPool:      nil
>>>>>>>>>>>>>       sharedPools:    nil
>>>>>>>>>>>>>       environment:    Smalltalk
>>>>>>>>>>>>>       category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>>       traitComposition:       nil
>>>>>>>>>>>>>       localSelectors:         nil
>>>>>>>>>>>>>
>>>>>>>>>>>>> OTDebugger
>>>>>>>>>>>>> class>>openProcess:context:label:errorWasInUIProcess:
>>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aProcess:       a Process in OTToolset
>>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>>       aContext:       Model
>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>>       aString:        ''MessageNotUnderstood: Model
>>>>>>>>>>>>> class>>fullName''
>>>>>>>>>>>>>       aBool:  true
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       superclass:     OBBrowser
>>>>>>>>>>>>>       methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>>       format:         136
>>>>>>>>>>>>>       instanceVariables:      nil
>>>>>>>>>>>>>       organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>>       subclasses:     nil
>>>>>>>>>>>>>       name:   #OTDebugger
>>>>>>>>>>>>>       classPool:      nil
>>>>>>>>>>>>>       sharedPools:    nil
>>>>>>>>>>>>>       environment:    Smalltalk
>>>>>>>>>>>>>       category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>>       traitComposition:       nil
>>>>>>>>>>>>>       localSelectors:         nil
>>>>>>>>>>>>>
>>>>>>>>>>>>> [] in OTPreDebugNode>>debug:
>>>>>>>>>>>>> Receiver: an OTPreDebugNode
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aRequestor:     an OTPreDebugPanel
>>>>>>>>>>>>>       proc:   a Process in OTToolset
>>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       metaNode:       Predebug
>>>>>>>>>>>>>
>>>>>>>>>>>>>       navigation:     nil
>>>>>>>>>>>>>       errorWasInUI:   true
>>>>>>>>>>>>>       process:        nil
>>>>>>>>>>>>>       context:        Model
>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>>       label:  ''MessageNotUnderstood: Model
>>>>>>>>>>>>> class>>fullName''
>>>>>>>>>>>>>       contents:       ''Model
>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>> UtilitiesTest>>tes...etc...
>>>>>>>>>>>>>       debugOnMouseClick:      true
>>>>>>>>>>>>>
>>>>>>>>>>>>> WorldState>>runStepMethodsIn:
>>>>>>>>>>>>> Receiver: a WorldState
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>       aWorld:         a PasteUpMorph(1622) [world]
>>>>>>>>>>>>>       queue:  a SharedQueue
>>>>>>>>>>>>>       numItems:       1
>>>>>>>>>>>>>       i:      0
>>>>>>>>>>>>>       limit:  200
>>>>>>>>>>>>>       stamp:  12765762
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       hands:  an Array(a HandMorph(3216))
>>>>>>>>>>>>>       viewBox:        0@0 corner: 1440@807
>>>>>>>>>>>>>       canvas:         a FormCanvas on:
>>>>>>>>>>>>> DisplayScreen(1440x807x32)
>>>>>>>>>>>>>       damageRecorder:         a DamageRecorder
>>>>>>>>>>>>>       stepList:       a Heap(StepMessage(#stepAt: -> a
>>>>>>>>>>>>> SystemWindow(3380))(a
>>>>>>>>>>>>> SystemWindow(3...etc...
>>>>>>>>>>>>>       lastStepTime:   12791780
>>>>>>>>>>>>>       lastStepMessage:        nil
>>>>>>>>>>>>>       lastCycleTime:  12791800
>>>>>>>>>>>>>       commandHistory:         a CommandHistory
>>>>>>>>>>>>>       alarms:         a Heap()
>>>>>>>>>>>>>       lastAlarmTime:  12791780
>>>>>>>>>>>>>
>>>>>>>>>>>>> PasteUpMorph>>runStepMethods
>>>>>>>>>>>>> Receiver: a PasteUpMorph(1622) [world]
>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>       bounds:         0@0 corner: 1440@807
>>>>>>>>>>>>>       owner:  nil
>>>>>>>>>>>>>       submorphs:      an Array(a TaskbarMorph(3095) a
>>>>>>>>>>>>> SystemWindow(171) a
>>>>>>>>>>>>> PluggableStandar...etc...
>>>>>>>>>>>>>       fullBounds:     nil
>>>>>>>>>>>>>       color:  (Color r: 0.972 g: 0.972 b: 0.976)
>>>>>>>>>>>>>       extension:      a MorphExtension (2543)
>>>>>>>>>>>>> [eventHandler
>>>>>>>>>>>>> = an
>>>>>>>>>>>>> EventHandler]  [other:  (...etc...
>>>>>>>>>>>>>       borderWidth:    0
>>>>>>>>>>>>>       borderColor:    (Color r: 0.03 g: 0.02 b: 0.0)
>>>>>>>>>>>>>       presenter:      a Presenter (1246)
>>>>>>>>>>>>>       model:  a MorphicModel(1926)
>>>>>>>>>>>>>       cursor:         1
>>>>>>>>>>>>>       padding:        3
>>>>>>>>>>>>>       backgroundMorph:        nil
>>>>>>>>>>>>>       isPartsBin:     nil
>>>>>>>>>>>>>       autoLineLayout:         false
>>>>>>>>>>>>>       indicateCursor:         nil
>>>>>>>>>>>>>       resizeToFit:    nil
>>>>>>>>>>>>>       wantsMouseOverHalos:    nil
>>>>>>>>>>>>>       worldState:     a WorldState
>>>>>>>>>>>>>       griddingOn:     nil
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --- The full stack ---
>>>>>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>>>> RemoteString>>text
>>>>>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>>>>> CompiledMethod>>methodNode
>>>>>>>>>>>>> [] in DebuggerMethodMap class>>forMethod:
>>>>>>>>>>>>> WeakIdentityKeyDictionary(Dictionary)>>at:ifAbsent:
>>>>>>>>>>>>> DebuggerMethodMap class>>forMethod:
>>>>>>>>>>>>> CompiledMethod>>debuggerMap
>>>>>>>>>>>>> OTClosureContextNode>>selection
>>>>>>>>>>>>> OTClosureContextNode(OTContextNode)>>definition
>>>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>node:
>>>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>selectionChanged:
>>>>>>>>>>>>> MessageSend>>valueWithArguments:
>>>>>>>>>>>>> [] in ActionSequence>>valueWithArguments:
>>>>>>>>>>>>> ActionSequence(SequenceableCollection)>>do:
>>>>>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>>>>>> [] in OBAnnouncer>>announce:
>>>>>>>>>>>>> [] in IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>>> IdentityDictionary(Set)>>do:
>>>>>>>>>>>>> IdentityDictionary(Dictionary)>>associationsDo:
>>>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>>> OBAnnouncer>>announce:
>>>>>>>>>>>>> OBColumnPanel>>jumpTo:
>>>>>>>>>>>>> OTDebugger(OBBrowser)>>jumpTo:
>>>>>>>>>>>>> OTDebugger class(OBBrowser
>>>>>>>>>>>>> class)>>metaNode:root:selection:panels:
>>>>>>>>>>>>> OTDebugger class(OBBrowser class)>>root:selection:
>>>>>>>>>>>>> OTDebugger class>>process:context:errorWasInUIProcess:
>>>>>>>>>>>>> OTDebugger
>>>>>>>>>>>>> class>>process:context:label:errorWasInUIProcess:
>>>>>>>>>>>>> OTDebugger
>>>>>>>>>>>>> class>>openProcess:context:label:errorWasInUIProcess:
>>>>>>>>>>>>> [] in OTPreDebugNode>>debug:
>>>>>>>>>>>>> WorldState>>runStepMethodsIn:
>>>>>>>>>>>>> PasteUpMorph>>runStepMethods
>>>>>>>>>>>>> - - - - - - - - - - - - - - -
>>>>>>>>>>>>>               - - - - - - - - - - - - - - - - - -
>>>>>>>>>>>>> WorldState>>doOneCycleNowFor:
>>>>>>>>>>>>> WorldState>>doOneCycleFor:
>>>>>>>>>>>>> PasteUpMorph>>doOneCycle
>>>>>>>>>>>>> [] in Project class>>spawnNewProcess
>>>>>>>>>>>>> [] in BlockClosure>>newProcess
>>>>>>>>>>>>> '
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> www.tudorgirba.com
>>>>>>>>>>>>>
>>>>>>>>>>>>> "To lead is not to demand things, it is to make them
>>>>>>>>>>>>> happen."
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>>>>> [hidden email]
>>>>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/
>>>>>>>>>>>>> pharo-
>>>>>>>>>>>>> project
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>>>> [hidden email]
>>>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>>> [hidden email]
>>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>>>>>>> project
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>> [hidden email]
>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Pharo-project mailing list
>>>>>>>>> [hidden email]
>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Pharo-project mailing list
>>>>>>>> [hidden email]
>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>>>> project
>>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Pharo-project mailing list
>>>>>>> [hidden email]
>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> www.tudorgirba.com
>>>>>>
>>>>>> "It's not how it is, it is how we see it."
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Pharo-project mailing list
>>>>>> [hidden email]
>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>> project
>>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> [hidden email]
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>
>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [hidden email]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>
> --
> www.tudorgirba.com
>
> "Some battles are better lost than fought."
>
>
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: invalid utf8 input detected

Adrian Lienhard
In reply to this post by Stéphane Ducasse

On May 23, 2009, at 11:41 , Stéphane Ducasse wrote:

> This is not a question of will.

Yep. Somebody needs to sit down to find the root cause (Nicolas  
already made a start by identifying the potential package versions  
that introduced the bad chars).

Same, if you want to get a simple workaround integrated. This is a 5  
minute task and anybody can do it (create a changeset with a clean  
source of doesNotUnderstand:).

If nobody does it, Stef or I will eventually do it, but please don't  
expect us to put that at the top of our todo list. After all this is a  
community project.

Adrian

>
>
> Stef
>
> On May 23, 2009, at 12:01 AM, Tudor Girba wrote:
>
>> Hi,
>>
>> Could we not solve this for the couple of offending methods for the
>> moment? Having a problem in Object>>doesNotUnderstand: makes the  
>> whole
>> debugging a pain because I can actually not debug such a case.
>>
>> Cheers,
>> Doru
>>
>>
>> On 19 May 2009, at 22:03, Nicolas Cellier wrote:
>>
>>> I opened http://code.google.com/p/pharo/issues/detail?id=830
>>>
>>> I think other UTF-8 issues are different:
>>> Two for FileBrowser :
>>>  http://code.google.com/p/pharo/issues/detail?id=370
>>>  http://code.google.com/p/pharo/issues/detail?id=513
>>> One about VM crash :
>>>  http://code.google.com/p/pharo/issues/detail?id=744
>>>
>>> Nicolas
>>>
>>> 2009/5/19 Stéphane Ducasse <[hidden email]>:
>>>> thanks for making progress on this front.
>>>>
>>>> On May 19, 2009, at 6:40 PM, Nicolas Cellier wrote:
>>>>
>>>>>> From what I see in a 10304, all these methods had a non ASCII
>>>>> character in comment:
>>>>>
>>>>> {Object>>#doesNotUnderstand:.
>>>>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>>>>> Utilities class>>#changeStampPerSe.
>>>>> Utilities class>>#methodsWithInitials:} collect: [:e | (e
>>>>> getSourceFromFile select: [:s | s charCode > 127]) asArray  
>>>>> collect:
>>>>> [:c | c charCode]]
>>>>> #(#(160 160) #(172 143 172 143) #(183) #(246))
>>>>> That is:
>>>>>
>>>>> an Array(a Text for '  ' a Text for '¬∂¬∂' a Text for '·' a
>>>>> Text for 'ö')
>>>>> First are non breaking space.
>>>>> Last but ones are not rendered same in Squeak.
>>>>>
>>>>> These four methods are changed in:
>>>>> - Kernel-stephane_ducasse.renggli.319.mcz
>>>>> - System-Support-stephane_ducasse.20.mcz
>>>>> If I merge 10305 manually, I get some decompiled code in the merge
>>>>> window.
>>>>> So there might be a problem already either in Monticello or in
>>>>> the .mcz.
>>>>> After the merge, there is decomipled code in the changes and no
>>>>> error
>>>>> when executing above code.
>>>>>
>>>>> If I load instead of merging, then I also get the decompiled code
>>>>> in
>>>>> the change log, so I can't reproduce completely the faulty  
>>>>> behavior
>>>>> (having an invalid utf-8 notifier), maybe because the process is  
>>>>> no
>>>>> the same when there are conflicts...
>>>>>
>>>>> If I extract .mcz contents, I can read contents from FileBrowser.
>>>>> But
>>>>> it does not use an UTF-8 encoding...
>>>>> I can't say if the encoding is macRoman or ISO8859L1 or CP1252 or
>>>>> what, but what I can say is that the source.st is not UTF-8
>>>>> encoded.
>>>>>
>>>>> So without searching further I guess here lies the problems:
>>>>> transfer
>>>>> of raw bytes from non UTF-8 .mcz/source.st to the UTF-8 .changes
>>>>> change-log...
>>>>>
>>>>> Every time we'll modify a method with a Character code > 127, we
>>>>> will
>>>>> likely create an invalid UTF-8 bug or get some decompiled code, or
>>>>> corrupt source code in extreme case...
>>>>>
>>>>> Could the Monticello / UTF-8 experts confirm my guess ?
>>>>>
>>>>> Nicolas
>>>>>
>>>>> 2009/5/17 Nicolas Cellier <[hidden email]>:
>>>>>> OK,
>>>>>>
>>>>>> {Object>>#doesNotUnderstand:.
>>>>>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>>>>>> Utilities class>>#changeStampPerSe.
>>>>>> Utilities class>>#methodsWithInitials:} collect: [:e | e
>>>>>> getSourceFromFile].
>>>>>>
>>>>>> does not fail for me, BUT all these sources look like
>>>>>> decompileString.
>>>>>> I guess this is dating from the condenseChanges that occured in
>>>>>> #update10298
>>>>>> Change log prior to this update should have the problem.
>>>>>>
>>>>>> Nicolas
>>>>>>
>>>>>> 2009/5/17 Tudor Girba <[hidden email]>:
>>>>>>> Hi,
>>>>>>>
>>>>>>> I ran the snippet you sent on both 304cl and 306cl and I get the
>>>>>>> following list:
>>>>>>>
>>>>>>> Object->#doesNotUnderstand:
>>>>>>> SystemNavigation->#browseMethodsWhoseNamesContain:
>>>>>>> Utilities class->#changeStampPerSe
>>>>>>> Utilities class->#methodsWithInitials:
>>>>>>>
>>>>>>> Indeed, most of the annoyances are due to the
>>>>>>> Object>>doesNotUnderstand: because when I get a DNU I am stuck
>>>>>>> (and I
>>>>>>> feel like in Java :)).
>>>>>>>
>>>>>>> I am not sure I understand if there is a fix to the problem.
>>>>>>>
>>>>>>> Cheers,
>>>>>>> Doru
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On 17 May 2009, at 12:06, Nicolas Cellier wrote:
>>>>>>>
>>>>>>>> There's something weird... If you hit var (UndefinedObject)
>>>>>>>> doesNotUnderstand: #value: that means there were a problem the
>>>>>>>> first
>>>>>>>> time.
>>>>>>>>
>>>>>>>> Unfortunately, due to bug in MethodContext tempNames, we don't
>>>>>>>> know
>>>>>>>> the class and selector guilty.
>>>>>>>> From the set of selectors I can see this is Object.
>>>>>>>> From the source file position, I cannot say anything because I
>>>>>>>> do
>>>>>>>> not
>>>>>>>> have same change log history (sorry, own image).
>>>>>>>>
>>>>>>>> You could try
>>>>>>>> (SourceFiles at: 2) readOnlyCopy position: 10007336; nextChunk
>>>>>>>>
>>>>>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>>>>>> sorry for not checking either.
>>>>>>>>> When I run this code I indeed do not have a problem on 10306cl
>>>>>>>>>
>>>>>>>>> stef
>>>>>>>>>
>>>>>>>>> On May 17, 2009, at 11:36 AM, Nicolas Cellier wrote:
>>>>>>>>>
>>>>>>>>>> Sure, a key stroke error, it's bar value:, not var value:,
>>>>>>>>>> This @!* workspace takes it as global without a warning....
>>>>>>>>>>
>>>>>>>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>>>>>>>> Nicolas
>>>>>>>>>>>
>>>>>>>>>>> when I run your script on the license looking for image
>>>>>>>>>>> I got using 10306cl
>>>>>>>>>>>
>>>>>>>>>>> I get the following error:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> VM: Mac OS - intel - 1056 - Squeak3.8.1 of '28 Aug
>>>>>>>>>>> 2006' [latest
>>>>>>>>>>> update: #6747] Squeak VM 4.1.1b2
>>>>>>>>>>> Image: Pharo0.1 [Latest update: #10306]
>>>>>>>>>>>
>>>>>>>>>>> SecurityManager state:
>>>>>>>>>>> Restricted: false
>>>>>>>>>>> FileAccess: true
>>>>>>>>>>> SocketAccess: true
>>>>>>>>>>> Working Dir /Data/squeak4.0-relicenseTools/history
>>>>>>>>>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>>>>>>>>>>> Untrusted Dir /Users/ducasse/Library/Preferences/Squeak/
>>>>>>>>>>> Internet/My
>>>>>>>>>>> Squeak
>>>>>>>>>>>
>>>>>>>>>>> UndefinedObject(Object)>>doesNotUnderstand: #value:
>>>>>>>>>>> Receiver: nil
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>> <<error during printing>
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>> nil
>>>>>>>>>>>
>>>>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>>> Receiver: nil
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>> <<error during printing>
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>> nil
>>>>>>>>>>>
>>>>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>>>> Receiver: [closure] in [] in [] in [] in
>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        anArray:        an Array('Error: Invalid utf8 input
>>>>>>>>>>> detected' an
>>>>>>>>>>> UTF8TextConverter)
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        outerContext:   [] in [] in [] in
>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>>        startpc:        183
>>>>>>>>>>>        numArgs:        0
>>>>>>>>>>>
>>>>>>>>>>> [] in BlockClosure>>ifError:
>>>>>>>>>>> Receiver: [closure] in [] in [] in [] in
>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        errorHandlerBlock:      Error: Invalid utf8 input
>>>>>>>>>>> detected
>>>>>>>>>>>        ex:     [closure] in [] in [] in [] in
>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        outerContext:   [] in [] in [] in
>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>>        startpc:        171
>>>>>>>>>>>        numArgs:        0
>>>>>>>>>>>
>>>>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>>>> Receiver: [closure] in BlockClosure>>ifError:
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        anArray:        an Array(Error: Invalid utf8 input
>>>>>>>>>>> detected)
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        outerContext:   BlockClosure>>ifError:
>>>>>>>>>>>        startpc:        40
>>>>>>>>>>>        numArgs:        1
>>>>>>>>>>>
>>>>>>>>>>> [] in MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>> Receiver: BlockClosure>>on:do:
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>> <<error during printing>
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        sender:         BlockClosure>>ifError:
>>>>>>>>>>>        pc:     17
>>>>>>>>>>>        stackp:         3
>>>>>>>>>>>        method:         a CompiledMethod (2306)
>>>>>>>>>>>        closureOrNil:   nil
>>>>>>>>>>>        receiver:       [closure] in [] in [] in [] in
>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>>
>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>> Receiver: [closure] in
>>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        aBlock:         [closure] in
>>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>>        returnValue:    nil
>>>>>>>>>>>        b:      nil
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        outerContext:
>>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>>        startpc:        90
>>>>>>>>>>>        numArgs:        0
>>>>>>>>>>>
>>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>> Receiver: BlockClosure>>on:do:
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        exception:      Error: Invalid utf8 input detected
>>>>>>>>>>>        val:    nil
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        sender:         BlockClosure>>ifError:
>>>>>>>>>>>        pc:     17
>>>>>>>>>>>        stackp:         3
>>>>>>>>>>>        method:         a CompiledMethod (2306)
>>>>>>>>>>>        closureOrNil:   nil
>>>>>>>>>>>        receiver:       [closure] in [] in [] in [] in
>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>>
>>>>>>>>>>> Error(Exception)>>signal
>>>>>>>>>>> Receiver: Error: Invalid utf8 input detected
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        messageText:    'Invalid utf8 input detected'
>>>>>>>>>>>        tag:    nil
>>>>>>>>>>>        signalContext:  Error(Exception)>>signal
>>>>>>>>>>>        handlerContext:         BlockClosure>>on:do:
>>>>>>>>>>>        outerContext:   nil
>>>>>>>>>>>
>>>>>>>>>>> Error(Exception)>>signal:
>>>>>>>>>>> Receiver: Error: Invalid utf8 input detected
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        signalerText:   'Invalid utf8 input detected'
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        messageText:    'Invalid utf8 input detected'
>>>>>>>>>>>        tag:    nil
>>>>>>>>>>>        signalContext:  Error(Exception)>>signal
>>>>>>>>>>>        handlerContext:         BlockClosure>>on:do:
>>>>>>>>>>>        outerContext:   nil
>>>>>>>>>>>
>>>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        aString:        'Invalid utf8 input detected'
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>
>>>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>
>>>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        aStream:        MultiByteFileStream: '/Data/
>>>>>>>>>>> squeak4.0-
>>>>>>>>>>> relicenseTools/
>>>>>>>>>>> history/Pharo0.1C...etc...
>>>>>>>>>>>        character1:     $
>>>>>>>>>>>        value1:         160
>>>>>>>>>>>        character2:     Character tab
>>>>>>>>>>>        value2:         9
>>>>>>>>>>>        unicode:        nil
>>>>>>>>>>>        character3:     Character tab
>>>>>>>>>>>        value3:         9
>>>>>>>>>>>        character4:     nil
>>>>>>>>>>>        value4:         nil
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>
>>>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>>> Receiver: MultiByteFileStream: '/Data/squeak4.0-
>>>>>>>>>>> relicenseTools/
>>>>>>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        char:   nil
>>>>>>>>>>>        secondChar:     nil
>>>>>>>>>>>        state:  nil
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>>> Receiver: MultiByteFileStream: '/Data/squeak4.0-
>>>>>>>>>>> relicenseTools/
>>>>>>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        terminator:     $!
>>>>>>>>>>>        out:    a WriteStream 'doesNotUnderstand: aMessage
>>>>>>>>>>> "Handle the fact that there ...etc...
>>>>>>>>>>>        ch:     Character cr
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>>> Receiver: MultiByteFileStream: '/Data/squeak4.0-
>>>>>>>>>>> relicenseTools/
>>>>>>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        string:         nil
>>>>>>>>>>>        runsRaw:        nil
>>>>>>>>>>>        strm:   nil
>>>>>>>>>>>        runs:   nil
>>>>>>>>>>>        peek:   nil
>>>>>>>>>>>        pos:    nil
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>>> Receiver: a RemoteString
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        theFile:        MultiByteFileStream: '/Data/
>>>>>>>>>>> squeak4.0-
>>>>>>>>>>> relicenseTools/
>>>>>>>>>>> history/Pharo0.1C...etc...
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        sourceFileNumber:       2
>>>>>>>>>>>        filePositionHi:         10007336
>>>>>>>>>>>
>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>> Receiver: [closure] in RemoteString>>text
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        aBlock:         [closure] in RemoteString>>text
>>>>>>>>>>>        returnValue:    nil
>>>>>>>>>>>        b:      nil
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        outerContext:   RemoteString>>text
>>>>>>>>>>>        startpc:        72
>>>>>>>>>>>        numArgs:        0
>>>>>>>>>>>
>>>>>>>>>>> RemoteString>>text
>>>>>>>>>>> Receiver: a RemoteString
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        theFile:        MultiByteFileStream: '/Data/
>>>>>>>>>>> squeak4.0-
>>>>>>>>>>> relicenseTools/
>>>>>>>>>>> history/Pharo0.1C...etc...
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        sourceFileNumber:       2
>>>>>>>>>>>        filePositionHi:         10007336
>>>>>>>>>>>
>>>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        position:       10007336
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>>
>>>>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>>> Receiver: nil
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>> <<error during printing>
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>> nil
>>>>>>>>>>>
>>>>>>>>>>> BlockClosure>>on:do:
>>>>>>>>>>> Receiver: [closure] in [] in [] in [] in
>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        exception:      Error
>>>>>>>>>>>        handlerAction:  [closure] in BlockClosure>>ifError:
>>>>>>>>>>>        handlerActive:  false
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        outerContext:   [] in [] in [] in
>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>>        startpc:        171
>>>>>>>>>>>        numArgs:        0
>>>>>>>>>>>
>>>>>>>>>>> BlockClosure>>ifError:
>>>>>>>>>>> Receiver: [closure] in [] in [] in [] in
>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        errorHandlerBlock:      [closure] in [] in [] in []
>>>>>>>>>>> in
>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        outerContext:   [] in [] in [] in
>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>>        startpc:        171
>>>>>>>>>>>        numArgs:        0
>>>>>>>>>>>
>>>>>>>>>>> [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>>> Receiver: nil
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>> <<error during printing>
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>> nil
>>>>>>>>>>>
>>>>>>>>>>> IdentitySet(Set)>>do:
>>>>>>>>>>> Receiver: an IdentitySet(#name #inheritsFromAnyIn: #asOop
>>>>>>>>>>> #isWebBrowser #storeOnStream: #wantsDroppe...etc...
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        aBlock:         [closure] in [] in [] in
>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>>        index:  394
>>>>>>>>>>>        each:   #doesNotUnderstand:
>>>>>>>>>>>        indexLimiT:     498
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        tally:  373
>>>>>>>>>>>        array:  #(nil nil #name nil #inheritsFromAnyIn:
>>>>>>>>>>> #asOop nil nil
>>>>>>>>>>> #isWebBrowser nil...etc...
>>>>>>>>>>>
>>>>>>>>>>> [] in [] in UndefinedObject>>DoIt
>>>>>>>>>>> Receiver: nil
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>> <<error during printing>
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>> nil
>>>>>>>>>>>
>>>>>>>>>>> [] in ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>>> Receiver: ProtoObject
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        aBlock:         Object
>>>>>>>>>>>        cl:     [closure] in [] in UndefinedObject>>DoIt
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        superclass:     nil
>>>>>>>>>>>        methodDict:     a MethodDictionary(#'=='->a
>>>>>>>>>>> CompiledMethod (602)
>>>>>>>>>>> #become:->a Compil...etc...
>>>>>>>>>>>        format:         2
>>>>>>>>>>>        instanceVariables:      nil
>>>>>>>>>>>        organization:   ('apply primitives' tryNamedPrimitive
>>>>>>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>>>>>>        subclasses:     {Object . ObjectOut .
>>>>>>>>>>> ImageSegmentRootStub .
>>>>>>>>>>> MessageCatcher . TestC...etc...
>>>>>>>>>>>        name:   #ProtoObject
>>>>>>>>>>>        classPool:      nil
>>>>>>>>>>>        sharedPools:    nil
>>>>>>>>>>>        environment:    nil
>>>>>>>>>>>        category:       #'Kernel-Objects'
>>>>>>>>>>>        traitComposition:       nil
>>>>>>>>>>>        localSelectors:         nil
>>>>>>>>>>>
>>>>>>>>>>> Array(SequenceableCollection)>>do:
>>>>>>>>>>> Receiver: {Object . ObjectOut . ImageSegmentRootStub .
>>>>>>>>>>> MessageCatcher . TestCoverage}
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        aBlock:         [closure] in ProtoObject
>>>>>>>>>>> class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>>>        index:  1
>>>>>>>>>>>        indexLimiT:     5
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>> {Object . ObjectOut . ImageSegmentRootStub .  
>>>>>>>>>>> MessageCatcher .
>>>>>>>>>>> TestCoverage}
>>>>>>>>>>>
>>>>>>>>>>> ProtoObject class(Class)>>subclassesDoGently:
>>>>>>>>>>> Receiver: ProtoObject
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        aBlock:         [closure] in ProtoObject
>>>>>>>>>>> class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        superclass:     nil
>>>>>>>>>>>        methodDict:     a MethodDictionary(#'=='->a
>>>>>>>>>>> CompiledMethod (602)
>>>>>>>>>>> #become:->a Compil...etc...
>>>>>>>>>>>        format:         2
>>>>>>>>>>>        instanceVariables:      nil
>>>>>>>>>>>        organization:   ('apply primitives' tryNamedPrimitive
>>>>>>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>>>>>>        subclasses:     {Object . ObjectOut .
>>>>>>>>>>> ImageSegmentRootStub .
>>>>>>>>>>> MessageCatcher . TestC...etc...
>>>>>>>>>>>        name:   #ProtoObject
>>>>>>>>>>>        classPool:      nil
>>>>>>>>>>>        sharedPools:    nil
>>>>>>>>>>>        environment:    nil
>>>>>>>>>>>        category:       #'Kernel-Objects'
>>>>>>>>>>>        traitComposition:       nil
>>>>>>>>>>>        localSelectors:         nil
>>>>>>>>>>>
>>>>>>>>>>> ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>>> Receiver: ProtoObject
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        aBlock:         [closure] in [] in
>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        superclass:     nil
>>>>>>>>>>>        methodDict:     a MethodDictionary(#'=='->a
>>>>>>>>>>> CompiledMethod (602)
>>>>>>>>>>> #become:->a Compil...etc...
>>>>>>>>>>>        format:         2
>>>>>>>>>>>        instanceVariables:      nil
>>>>>>>>>>>        organization:   ('apply primitives' tryNamedPrimitive
>>>>>>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>>>>>>        subclasses:     {Object . ObjectOut .
>>>>>>>>>>> ImageSegmentRootStub .
>>>>>>>>>>> MessageCatcher . TestC...etc...
>>>>>>>>>>>        name:   #ProtoObject
>>>>>>>>>>>        classPool:      nil
>>>>>>>>>>>        sharedPools:    nil
>>>>>>>>>>>        environment:    nil
>>>>>>>>>>>        category:       #'Kernel-Objects'
>>>>>>>>>>>        traitComposition:       nil
>>>>>>>>>>>        localSelectors:         nil
>>>>>>>>>>>
>>>>>>>>>>> SystemNavigation>>allBehaviorsDo:
>>>>>>>>>>> Receiver: a SystemNavigation
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        aBlock:         [closure] in [] in
>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        browserClass:   nil
>>>>>>>>>>>        hierarchyBrowserClass:  nil
>>>>>>>>>>>
>>>>>>>>>>> [] in UndefinedObject>>DoIt
>>>>>>>>>>> Receiver: nil
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>> <<error during printing>
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>> nil
>>>>>>>>>>>
>>>>>>>>>>> [] in ProgressInitiationException>>defaultAction
>>>>>>>>>>> Receiver: ProgressInitiationException
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        progress:       [closure] in
>>>>>>>>>>> SystemProgressMorph>>label:min:max:
>>>>>>>>>>>        result:         #(nil)
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        messageText:    nil
>>>>>>>>>>>        tag:    nil
>>>>>>>>>>>        signalContext:
>>>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>>>        handlerContext:         nil
>>>>>>>>>>>        outerContext:   nil
>>>>>>>>>>>        workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>>>>>>        maxVal:         3874
>>>>>>>>>>>        minVal:         0
>>>>>>>>>>>        aPoint:         840@306
>>>>>>>>>>>        progressTitle:  'Searching UTF-8 Problems...'
>>>>>>>>>>>
>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>> Receiver: [closure] in
>>>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        aBlock:         [closure] in
>>>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>>>        returnValue:    nil
>>>>>>>>>>>        b:      nil
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        outerContext:
>>>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>>>        startpc:        49
>>>>>>>>>>>        numArgs:        0
>>>>>>>>>>>
>>>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>>> Receiver: ProgressInitiationException
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        progress:       [closure] in
>>>>>>>>>>> SystemProgressMorph>>label:min:max:
>>>>>>>>>>>        result:         #(nil)
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        messageText:    nil
>>>>>>>>>>>        tag:    nil
>>>>>>>>>>>        signalContext:
>>>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>>>        handlerContext:         nil
>>>>>>>>>>>        outerContext:   nil
>>>>>>>>>>>        workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>>>>>>        maxVal:         3874
>>>>>>>>>>>        minVal:         0
>>>>>>>>>>>        aPoint:         840@306
>>>>>>>>>>>        progressTitle:  'Searching UTF-8 Problems...'
>>>>>>>>>>>
>>>>>>>>>>> UndefinedObject>>handleSignal:
>>>>>>>>>>> Receiver: nil
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        exception:      ProgressInitiationException
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>> nil
>>>>>>>>>>>
>>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>> Receiver: BlockClosure>>on:do:
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        exception:      ProgressInitiationException
>>>>>>>>>>>        val:    nil
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        sender:         PasteUpMorph>>becomeActiveDuring:
>>>>>>>>>>>        pc:     17
>>>>>>>>>>>        stackp:         3
>>>>>>>>>>>        method:         a CompiledMethod (2306)
>>>>>>>>>>>        closureOrNil:   nil
>>>>>>>>>>>        receiver:       [closure] in
>>>>>>>>>>> PasteUpMorph>>becomeActiveDuring:
>>>>>>>>>>>
>>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>> Receiver: BlockClosure>>on:do:
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        exception:      ProgressInitiationException
>>>>>>>>>>>        val:    nil
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        sender:
>>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>>>>        pc:     17
>>>>>>>>>>>        stackp:         3
>>>>>>>>>>>        method:         a CompiledMethod (2306)
>>>>>>>>>>>        closureOrNil:   nil
>>>>>>>>>>>        receiver:       [closure] in
>>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>>>>
>>>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>>> Receiver: ProgressInitiationException
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        messageText:    nil
>>>>>>>>>>>        tag:    nil
>>>>>>>>>>>        signalContext:
>>>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>>>        handlerContext:         nil
>>>>>>>>>>>        outerContext:   nil
>>>>>>>>>>>        workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>>>>>>        maxVal:         3874
>>>>>>>>>>>        minVal:         0
>>>>>>>>>>>        aPoint:         840@306
>>>>>>>>>>>        progressTitle:  'Searching UTF-8 Problems...'
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --- The full stack ---
>>>>>>>>>>> UndefinedObject(Object)>>doesNotUnderstand: #value:
>>>>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>>>> [] in BlockClosure>>ifError:
>>>>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>>>> [] in MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>> Error(Exception)>>signal
>>>>>>>>>>> Error(Exception)>>signal:
>>>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>> RemoteString>>text
>>>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>>> BlockClosure>>on:do:
>>>>>>>>>>> BlockClosure>>ifError:
>>>>>>>>>>> [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>>> IdentitySet(Set)>>do:
>>>>>>>>>>> [] in [] in UndefinedObject>>DoIt
>>>>>>>>>>> [] in ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>>> Array(SequenceableCollection)>>do:
>>>>>>>>>>> ProtoObject class(Class)>>subclassesDoGently:
>>>>>>>>>>> ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>>> SystemNavigation>>allBehaviorsDo:
>>>>>>>>>>> [] in UndefinedObject>>DoIt
>>>>>>>>>>> [] in ProgressInitiationException>>defaultAction
>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>>> UndefinedObject>>handleSignal:
>>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>>> - - - - - - - - - - - - - - -
>>>>>>>>>>>                - - - - - - - - - - - - - - - - - -
>>>>>>>>>>> ProgressInitiationException>>display:at:from:to:during:
>>>>>>>>>>> ProgressInitiationException  
>>>>>>>>>>> class>>display:at:from:to:during:
>>>>>>>>>>> ByteString(String)>>displayProgressAt:from:to:during:
>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>> Compiler>>evaluate:in:to:notifying:ifFail:logged:
>>>>>>>>>>> [] in TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>>>> BlockClosure>>on:do:
>>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>doIt
>>>>>>>>>>> [] in TextMorphEditor(ParagraphEditor)>>doIt:
>>>>>>>>>>> TextMorphEditor
>>>>>>>>>>> (ParagraphEditor)>>terminateAndInitializeAround:
>>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>doIt:
>>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>dispatchOnKeyEvent:with:
>>>>>>>>>>> TextMorphEditor>>dispatchOnKeyEvent:with:
>>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>keystroke:
>>>>>>>>>>> TextMorphEditor>>keystroke:
>>>>>>>>>>> [] in TextMorphForEditView(TextMorph)>>keyStroke:
>>>>>>>>>>> TextMorphForEditView(TextMorph)>>handleInteraction:
>>>>>>>>>>> TextMorphForEditView>>handleInteraction:
>>>>>>>>>>> TextMorphForEditView(TextMorph)>>keyStroke:
>>>>>>>>>>> TextMorphForEditView>>keyStroke:
>>>>>>>>>>> TextMorphForEditView(TextMorph)>>handleKeystroke:
>>>>>>>>>>> KeyboardEvent>>sentTo:
>>>>>>>>>>> TextMorphForEditView(Morph)>>handleEvent:
>>>>>>>>>>> TextMorphForEditView(Morph)>>handleFocusEvent:
>>>>>>>>>>> [] in HandMorph>>sendFocusEvent:to:clear:
>>>>>>>>>>> [] in PasteUpMorph>>becomeActiveDuring:
>>>>>>>>>>> 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
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On May 17, 2009, at 11:13 AM, Nicolas Cellier wrote:
>>>>>>>>>>>
>>>>>>>>>>>> One solution would be to use getSource rather than
>>>>>>>>>>>> getSourceFromFile.
>>>>>>>>>>>> However, with following code I detected no problem in my
>>>>>>>>>>>> pharo-
>>>>>>>>>>>> core
>>>>>>>>>>>> copy (10281 updated to 10306)
>>>>>>>>>>>>
>>>>>>>>>>>> | problems total |
>>>>>>>>>>>> problems := OrderedCollection new.
>>>>>>>>>>>> total := 0.
>>>>>>>>>>>> SystemNavigation default allBehaviorsDo: [:cl | total :=
>>>>>>>>>>>> total +
>>>>>>>>>>>> 1].
>>>>>>>>>>>> 'Searching UTF-8 Problems...'
>>>>>>>>>>>> displayProgressAt: Sensor cursorPoint
>>>>>>>>>>>> from: 0 to: total
>>>>>>>>>>>> during:
>>>>>>>>>>>>       [:bar | | count |
>>>>>>>>>>>>       count := 0.
>>>>>>>>>>>>       SystemNavigation default allBehaviorsDo: [:cl |
>>>>>>>>>>>>               bar value: (count := count + 1).
>>>>>>>>>>>>               cl selectors do: [:sel |
>>>>>>>>>>>>                       [(cl compiledMethodAt: sel)
>>>>>>>>>>>> getSourceFromFile] ifError: [
>>>>>>>>>>>>                               var value: 'last problem
>>>>>>>>>>>> found ' , cl name , '>>#' , sel.
>>>>>>>>>>>>                               problems add: cl->sel]]]].
>>>>>>>>>>>> ^problems
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>>>>>>>>>> yes same here.
>>>>>>>>>>>>>
>>>>>>>>>>>>> On May 17, 2009, at 2:10 AM, Tudor Girba wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Recently I encounter a strange error:
>>>>>>>>>>>>>> - I sometimes get a debugger due to some problems in my
>>>>>>>>>>>>>> code
>>>>>>>>>>>>>> - when I try to investigate the trace, I get another
>>>>>>>>>>>>>> debugger
>>>>>>>>>>>>>> saying
>>>>>>>>>>>>>> that "Invalid utf8 input detected'"
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> This second debugger I can investigate, the previous not.
>>>>>>>>>>>>>> It
>>>>>>>>>>>>>> looks
>>>>>>>>>>>>>> like something got messed up with the text conversion of
>>>>>>>>>>>>>> the
>>>>>>>>>>>>>> sources.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I am working on 10306 using the 4.1.1b2 VM on Mac. The
>>>>>>>>>>>>>> code
>>>>>>>>>>>>>> I am
>>>>>>>>>>>>>> working on is loaded from squeaksource (Moose, Glamour,
>>>>>>>>>>>>>> Mondrian).
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Anyone can confirm this problem?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Cheers,
>>>>>>>>>>>>>> Doru
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> ----ERROR REPORT----
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> '17 May 2009 2:05:50 am
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> VM: Mac OS - intel - 1056 - Squeak3.8.1 of ''28 Aug
>>>>>>>>>>>>>> 2006'' [latest
>>>>>>>>>>>>>> update: #6747] Squeak VM 4.1.1b2
>>>>>>>>>>>>>> Image: Pharo0.1 [Latest update: #10306]
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> SecurityManager state:
>>>>>>>>>>>>>> Restricted: false
>>>>>>>>>>>>>> FileAccess: true
>>>>>>>>>>>>>> SocketAccess: true
>>>>>>>>>>>>>> Working Dir /Users/girba/Work/Code/squeakingmoose
>>>>>>>>>>>>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>>>>>>>>>>>>>> Untrusted Dir /Users/girba/Library/Preferences/Squeak/
>>>>>>>>>>>>>> Internet/
>>>>>>>>>>>>>> My
>>>>>>>>>>>>>> Squeak
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aString:        ''Invalid utf8 input detected''
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aStream:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>>>>>>> Work/Code/
>>>>>>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>>>>>>      character1:     $
>>>>>>>>>>>>>>      value1:         160
>>>>>>>>>>>>>>      character2:     Character tab
>>>>>>>>>>>>>>      value2:         9
>>>>>>>>>>>>>>      unicode:        nil
>>>>>>>>>>>>>>      character3:     Character tab
>>>>>>>>>>>>>>      value3:         9
>>>>>>>>>>>>>>      character4:     nil
>>>>>>>>>>>>>>      value4:         nil
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      char:   nil
>>>>>>>>>>>>>>      secondChar:     nil
>>>>>>>>>>>>>>      state:  nil
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      terminator:     $!
>>>>>>>>>>>>>>      out:    a WriteStream ''doesNotUnderstand: aMessage
>>>>>>>>>>>>>> "Handle the fact that there ...etc...
>>>>>>>>>>>>>>      ch:     Character cr
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      string:         nil
>>>>>>>>>>>>>>      runsRaw:        nil
>>>>>>>>>>>>>>      strm:   nil
>>>>>>>>>>>>>>      runs:   nil
>>>>>>>>>>>>>>      peek:   nil
>>>>>>>>>>>>>>      pos:    nil
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>>>>>> Receiver: a RemoteString
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      theFile:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>>>>>>> Work/Code/
>>>>>>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      sourceFileNumber:       2
>>>>>>>>>>>>>>      filePositionHi:         10007336
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>>>>> Receiver: [closure] in RemoteString>>text
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aBlock:         [closure] in RemoteString>>text
>>>>>>>>>>>>>>      returnValue:    nil
>>>>>>>>>>>>>>      b:      nil
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      outerContext:   RemoteString>>text
>>>>>>>>>>>>>>      startpc:        72
>>>>>>>>>>>>>>      numArgs:        0
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> RemoteString>>text
>>>>>>>>>>>>>> Receiver: a RemoteString
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      theFile:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>>>>>>> Work/Code/
>>>>>>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      sourceFileNumber:       2
>>>>>>>>>>>>>>      filePositionHi:         10007336
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      position:       10007336
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> CompiledMethod>>methodNode
>>>>>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aClass:         Object
>>>>>>>>>>>>>>      source:         nil
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> [] in DebuggerMethodMap class>>forMethod:
>>>>>>>>>>>>>> Receiver: DebuggerMethodMap
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aMethod:        a CompiledMethod (838)
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      superclass:     Object
>>>>>>>>>>>>>>      methodDict:     a
>>>>>>>>>>>>>> MethodDictionary(#abstractSourceMap-
>>>>>>>>>>>>>>> a CompiledMethod
>>>>>>>>>>>>>> (1628) #for...etc...
>>>>>>>>>>>>>>      format:         140
>>>>>>>>>>>>>>      instanceVariables:      #(''timestamp''
>>>>>>>>>>>>>> ''methodReference''
>>>>>>>>>>>>>> ''methodNode'' ''abstractSource...etc...
>>>>>>>>>>>>>>      organization:   (''initialize-release''
>>>>>>>>>>>>>> forMethod:methodNode:)
>>>>>>>>>>>>>> (''accessing'' markRec...etc...
>>>>>>>>>>>>>>      subclasses:
>>>>>>>>>>>>>> {DebuggerMethodMapForBlueBookMethods .
>>>>>>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>>>>>>      name:   #DebuggerMethodMap
>>>>>>>>>>>>>>      classPool:      a Dictionary(#MapCache->a
>>>>>>>>>>>>>> WeakIdentityKeyDictionary(a
>>>>>>>>>>>>>> CompiledMethod...etc...
>>>>>>>>>>>>>>      sharedPools:    nil
>>>>>>>>>>>>>>      environment:    Smalltalk
>>>>>>>>>>>>>>      category:       #''Tools-Debugger''
>>>>>>>>>>>>>>      traitComposition:       nil
>>>>>>>>>>>>>>      localSelectors:         nil
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> WeakIdentityKeyDictionary(Dictionary)>>at:ifAbsent:
>>>>>>>>>>>>>> Receiver: a WeakIdentityKeyDictionary(a CompiledMethod
>>>>>>>>>>>>>> (126)-
>>>>>>>>>>>>>>> a
>>>>>>>>>>>>>> DebuggerMethodMapForClosureCompiledM...etc...
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      key:    a CompiledMethod (838)
>>>>>>>>>>>>>>      aBlock:         [closure] in DebuggerMethodMap
>>>>>>>>>>>>>> class>>forMethod:
>>>>>>>>>>>>>>      assoc:  nil
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      tally:  16
>>>>>>>>>>>>>>      array:  an Array(nil nil a CompiledMethod (2402)->a
>>>>>>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> DebuggerMethodMap class>>forMethod:
>>>>>>>>>>>>>> Receiver: DebuggerMethodMap
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aMethod:        a CompiledMethod (838)
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      superclass:     Object
>>>>>>>>>>>>>>      methodDict:     a
>>>>>>>>>>>>>> MethodDictionary(#abstractSourceMap-
>>>>>>>>>>>>>>> a CompiledMethod
>>>>>>>>>>>>>> (1628) #for...etc...
>>>>>>>>>>>>>>      format:         140
>>>>>>>>>>>>>>      instanceVariables:      #(''timestamp''
>>>>>>>>>>>>>> ''methodReference''
>>>>>>>>>>>>>> ''methodNode'' ''abstractSource...etc...
>>>>>>>>>>>>>>      organization:   (''initialize-release''
>>>>>>>>>>>>>> forMethod:methodNode:)
>>>>>>>>>>>>>> (''accessing'' markRec...etc...
>>>>>>>>>>>>>>      subclasses:
>>>>>>>>>>>>>> {DebuggerMethodMapForBlueBookMethods .
>>>>>>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>>>>>>      name:   #DebuggerMethodMap
>>>>>>>>>>>>>>      classPool:      a Dictionary(#MapCache->a
>>>>>>>>>>>>>> WeakIdentityKeyDictionary(a
>>>>>>>>>>>>>> CompiledMethod...etc...
>>>>>>>>>>>>>>      sharedPools:    nil
>>>>>>>>>>>>>>      environment:    Smalltalk
>>>>>>>>>>>>>>      category:       #''Tools-Debugger''
>>>>>>>>>>>>>>      traitComposition:       nil
>>>>>>>>>>>>>>      localSelectors:         nil
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> CompiledMethod>>debuggerMap
>>>>>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> OTClosureContextNode>>selection
>>>>>>>>>>>>>> Receiver: an OTClosureContextNode
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      metaNode:       context
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>      navigation:     an OBDefaultEdgeNavigation
>>>>>>>>>>>>>>      process:        a Process in OTToolset
>>>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>>>      context:        Model
>>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>>>      parseTree:      nil
>>>>>>>>>>>>>>      sourceMap:      nil
>>>>>>>>>>>>>>      debuggerMap:    nil
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> OTClosureContextNode(OTContextNode)>>definition
>>>>>>>>>>>>>> Receiver: an OTClosureContextNode
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      metaNode:       context
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>      navigation:     an OBDefaultEdgeNavigation
>>>>>>>>>>>>>>      process:        a Process in OTToolset
>>>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>>>      context:        Model
>>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>>>      parseTree:      nil
>>>>>>>>>>>>>>      sourceMap:      nil
>>>>>>>>>>>>>>      debuggerMap:    nil
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>node:
>>>>>>>>>>>>>> Receiver: an OTDefinitionPanel
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aNode:  an OTClosureContextNode
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      browser:        an OTDebugger
>>>>>>>>>>>>>>      definition:     nil
>>>>>>>>>>>>>>      selection:      nil
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>selectionChanged:
>>>>>>>>>>>>>> Receiver: an OTDefinitionPanel
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      ann:    an OBSelectionChanged
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      browser:        an OTDebugger
>>>>>>>>>>>>>>      definition:     nil
>>>>>>>>>>>>>>      selection:      nil
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> MessageSend>>valueWithArguments:
>>>>>>>>>>>>>> Receiver: MessageSend(#selectionChanged: -> an
>>>>>>>>>>>>>> OTDefinitionPanel)
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      anArray:        an Array(an OBSelectionChanged)
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      receiver:       an OTDefinitionPanel
>>>>>>>>>>>>>>      selector:       #selectionChanged:
>>>>>>>>>>>>>>      arguments:      #()
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> [] in ActionSequence>>valueWithArguments:
>>>>>>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      anArray:        MessageSend(#selectionChanged: -> an
>>>>>>>>>>>>>> OTDefinitionPanel)
>>>>>>>>>>>>>>      answer:         an Array(an OBSelectionChanged)
>>>>>>>>>>>>>>      each:   an Array(an OBFixedButtonPanel)
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> ActionSequence(SequenceableCollection)>>do:
>>>>>>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aBlock:         [closure] in
>>>>>>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>>>>>>>      index:  4
>>>>>>>>>>>>>>      indexLimiT:     6
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      anArray:        an Array(an OBSelectionChanged)
>>>>>>>>>>>>>>      answer:         an Array(an OBFixedButtonPanel)
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> [] in OBAnnouncer>>announce:
>>>>>>>>>>>>>> Receiver: an OBAnnouncer
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>> <<error during printing>
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      subscriptions:  an
>>>>>>>>>>>>>> IdentityDictionary(OBAboutToChange-
>>>>>>>>>>>>>>> an
>>>>>>>>>>>>>> ActionSequence(Message...etc...
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> [] in IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aBlock:         OBSelectionChanged-
>>>>>>>>>>>>>>> #(MessageSend(#relabel: -> an
>>>>>>>>>>>>>> OTDebugger)
>>>>>>>>>>>>>> MessageSe...etc...
>>>>>>>>>>>>>>      assoc:  [closure] in OBAnnouncer>>announce:
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      tally:  12
>>>>>>>>>>>>>>      array:  {OBNodeCreated->an
>>>>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> IdentityDictionary(Set)>>do:
>>>>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aBlock:         [closure] in
>>>>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>>>>      index:  6
>>>>>>>>>>>>>>      each:   OBSelectionChanged-
>>>>>>>>>>>>>>> #(MessageSend(#relabel: -
>>>>>>>>>>>>>>> an OTDebugger)
>>>>>>>>>>>>>> MessageSend...etc...
>>>>>>>>>>>>>>      indexLimiT:     20
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      tally:  12
>>>>>>>>>>>>>>      array:  {OBNodeCreated->an
>>>>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> IdentityDictionary(Dictionary)>>associationsDo:
>>>>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aBlock:         [closure] in
>>>>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      tally:  12
>>>>>>>>>>>>>>      array:  {OBNodeCreated->an
>>>>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aBlock:         [closure] in OBAnnouncer>>announce:
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      tally:  12
>>>>>>>>>>>>>>      array:  {OBNodeCreated->an
>>>>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> OBAnnouncer>>announce:
>>>>>>>>>>>>>> Receiver: an OBAnnouncer
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      anObject:       an OBSelectionChanged
>>>>>>>>>>>>>>      ann:    an OBSelectionChanged
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      subscriptions:  an
>>>>>>>>>>>>>> IdentityDictionary(OBAboutToChange-
>>>>>>>>>>>>>>> an
>>>>>>>>>>>>>> ActionSequence(Message...etc...
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> OBColumnPanel>>jumpTo:
>>>>>>>>>>>>>> Receiver: an OBColumnPanel
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aNode:  an OTClosureContextNode
>>>>>>>>>>>>>>      column:         an OBColumn(Model
>>>>>>>>>>>>>> class(Object)>>doesNotUnderstand:
>>>>>>>>>>>>>> #fullName)
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      browser:        an OTDebugger
>>>>>>>>>>>>>>      root:   an OTProcessNode
>>>>>>>>>>>>>>      current:        an OTClosureContextNode
>>>>>>>>>>>>>>      columns:        an OrderedCollection(an
>>>>>>>>>>>>>> OBColumn(Model
>>>>>>>>>>>>>> class(Object)>>doesNotUnderstan...etc...
>>>>>>>>>>>>>>      minPanes:       1
>>>>>>>>>>>>>>      maxPanes:       1
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> OTDebugger(OBBrowser)>>jumpTo:
>>>>>>>>>>>>>> Receiver: an OTDebugger
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aNode:  an OTClosureContextNode
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      panels:         an OrderedCollection(an
>>>>>>>>>>>>>> OBColumnPanel
>>>>>>>>>>>>>> an OBFixedButtonPanel
>>>>>>>>>>>>>> an OTDefini...etc...
>>>>>>>>>>>>>>      announcer:      an OBAnnouncer
>>>>>>>>>>>>>>      cmdFactories:   an Array(OTCmdProceedDebugger
>>>>>>>>>>>>>> OTCmdIntoDebugger
>>>>>>>>>>>>>> OTCmdThroughDebug...etc...
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> OTDebugger class(OBBrowser
>>>>>>>>>>>>>> class)>>metaNode:root:selection:panels:
>>>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      metaNode:       process
>>>>>>>>>>>>>> #longStack->context
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>      rootNode:       an OTProcessNode
>>>>>>>>>>>>>>      selectedNode:   an OTClosureContextNode
>>>>>>>>>>>>>>      panels:         an Array(an OBColumnPanel an
>>>>>>>>>>>>>> OBFixedButtonPanel an
>>>>>>>>>>>>>> OTDefinitionPanel an...etc...
>>>>>>>>>>>>>>      browser:        an OTDebugger
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      superclass:     OBBrowser
>>>>>>>>>>>>>>      methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>>>      format:         136
>>>>>>>>>>>>>>      instanceVariables:      nil
>>>>>>>>>>>>>>      organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>>>      subclasses:     nil
>>>>>>>>>>>>>>      name:   #OTDebugger
>>>>>>>>>>>>>>      classPool:      nil
>>>>>>>>>>>>>>      sharedPools:    nil
>>>>>>>>>>>>>>      environment:    Smalltalk
>>>>>>>>>>>>>>      category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>>>      traitComposition:       nil
>>>>>>>>>>>>>>      localSelectors:         nil
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> OTDebugger class(OBBrowser class)>>root:selection:
>>>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      rootNode:       an OTProcessNode
>>>>>>>>>>>>>>      selectedNode:   an OTClosureContextNode
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      superclass:     OBBrowser
>>>>>>>>>>>>>>      methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>>>      format:         136
>>>>>>>>>>>>>>      instanceVariables:      nil
>>>>>>>>>>>>>>      organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>>>      subclasses:     nil
>>>>>>>>>>>>>>      name:   #OTDebugger
>>>>>>>>>>>>>>      classPool:      nil
>>>>>>>>>>>>>>      sharedPools:    nil
>>>>>>>>>>>>>>      environment:    Smalltalk
>>>>>>>>>>>>>>      category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>>>      traitComposition:       nil
>>>>>>>>>>>>>>      localSelectors:         nil
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> OTDebugger class>>process:context:errorWasInUIProcess:
>>>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aProcess:       a Process in OTToolset
>>>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>>>      aContext:       Model
>>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>>>      aBool:  true
>>>>>>>>>>>>>>      processNode:    an OTProcessNode
>>>>>>>>>>>>>>      contextNode:    an OTClosureContextNode
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      superclass:     OBBrowser
>>>>>>>>>>>>>>      methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>>>      format:         136
>>>>>>>>>>>>>>      instanceVariables:      nil
>>>>>>>>>>>>>>      organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>>>      subclasses:     nil
>>>>>>>>>>>>>>      name:   #OTDebugger
>>>>>>>>>>>>>>      classPool:      nil
>>>>>>>>>>>>>>      sharedPools:    nil
>>>>>>>>>>>>>>      environment:    Smalltalk
>>>>>>>>>>>>>>      category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>>>      traitComposition:       nil
>>>>>>>>>>>>>>      localSelectors:         nil
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> OTDebugger
>>>>>>>>>>>>>> class>>process:context:label:errorWasInUIProcess:
>>>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aProcess:       a Process in OTToolset
>>>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>>>      aContext:       Model
>>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>>>      aString:        ''MessageNotUnderstood: Model
>>>>>>>>>>>>>> class>>fullName''
>>>>>>>>>>>>>>      aBool:  true
>>>>>>>>>>>>>>      debugger:       nil
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      superclass:     OBBrowser
>>>>>>>>>>>>>>      methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>>>      format:         136
>>>>>>>>>>>>>>      instanceVariables:      nil
>>>>>>>>>>>>>>      organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>>>      subclasses:     nil
>>>>>>>>>>>>>>      name:   #OTDebugger
>>>>>>>>>>>>>>      classPool:      nil
>>>>>>>>>>>>>>      sharedPools:    nil
>>>>>>>>>>>>>>      environment:    Smalltalk
>>>>>>>>>>>>>>      category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>>>      traitComposition:       nil
>>>>>>>>>>>>>>      localSelectors:         nil
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> OTDebugger
>>>>>>>>>>>>>> class>>openProcess:context:label:errorWasInUIProcess:
>>>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aProcess:       a Process in OTToolset
>>>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>>>      aContext:       Model
>>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>>>      aString:        ''MessageNotUnderstood: Model
>>>>>>>>>>>>>> class>>fullName''
>>>>>>>>>>>>>>      aBool:  true
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      superclass:     OBBrowser
>>>>>>>>>>>>>>      methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>>>      format:         136
>>>>>>>>>>>>>>      instanceVariables:      nil
>>>>>>>>>>>>>>      organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>>>      subclasses:     nil
>>>>>>>>>>>>>>      name:   #OTDebugger
>>>>>>>>>>>>>>      classPool:      nil
>>>>>>>>>>>>>>      sharedPools:    nil
>>>>>>>>>>>>>>      environment:    Smalltalk
>>>>>>>>>>>>>>      category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>>>      traitComposition:       nil
>>>>>>>>>>>>>>      localSelectors:         nil
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> [] in OTPreDebugNode>>debug:
>>>>>>>>>>>>>> Receiver: an OTPreDebugNode
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aRequestor:     an OTPreDebugPanel
>>>>>>>>>>>>>>      proc:   a Process in OTToolset
>>>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      metaNode:       Predebug
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>      navigation:     nil
>>>>>>>>>>>>>>      errorWasInUI:   true
>>>>>>>>>>>>>>      process:        nil
>>>>>>>>>>>>>>      context:        Model
>>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>>>      label:  ''MessageNotUnderstood: Model
>>>>>>>>>>>>>> class>>fullName''
>>>>>>>>>>>>>>      contents:       ''Model
>>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>>> UtilitiesTest>>tes...etc...
>>>>>>>>>>>>>>      debugOnMouseClick:      true
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> WorldState>>runStepMethodsIn:
>>>>>>>>>>>>>> Receiver: a WorldState
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aWorld:         a PasteUpMorph(1622) [world]
>>>>>>>>>>>>>>      queue:  a SharedQueue
>>>>>>>>>>>>>>      numItems:       1
>>>>>>>>>>>>>>      i:      0
>>>>>>>>>>>>>>      limit:  200
>>>>>>>>>>>>>>      stamp:  12765762
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      hands:  an Array(a HandMorph(3216))
>>>>>>>>>>>>>>      viewBox:        0@0 corner: 1440@807
>>>>>>>>>>>>>>      canvas:         a FormCanvas on:
>>>>>>>>>>>>>> DisplayScreen(1440x807x32)
>>>>>>>>>>>>>>      damageRecorder:         a DamageRecorder
>>>>>>>>>>>>>>      stepList:       a Heap(StepMessage(#stepAt: -> a
>>>>>>>>>>>>>> SystemWindow(3380))(a
>>>>>>>>>>>>>> SystemWindow(3...etc...
>>>>>>>>>>>>>>      lastStepTime:   12791780
>>>>>>>>>>>>>>      lastStepMessage:        nil
>>>>>>>>>>>>>>      lastCycleTime:  12791800
>>>>>>>>>>>>>>      commandHistory:         a CommandHistory
>>>>>>>>>>>>>>      alarms:         a Heap()
>>>>>>>>>>>>>>      lastAlarmTime:  12791780
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> PasteUpMorph>>runStepMethods
>>>>>>>>>>>>>> Receiver: a PasteUpMorph(1622) [world]
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      bounds:         0@0 corner: 1440@807
>>>>>>>>>>>>>>      owner:  nil
>>>>>>>>>>>>>>      submorphs:      an Array(a TaskbarMorph(3095) a
>>>>>>>>>>>>>> SystemWindow(171) a
>>>>>>>>>>>>>> PluggableStandar...etc...
>>>>>>>>>>>>>>      fullBounds:     nil
>>>>>>>>>>>>>>      color:  (Color r: 0.972 g: 0.972 b: 0.976)
>>>>>>>>>>>>>>      extension:      a MorphExtension (2543)
>>>>>>>>>>>>>> [eventHandler
>>>>>>>>>>>>>> = an
>>>>>>>>>>>>>> EventHandler]  [other:  (...etc...
>>>>>>>>>>>>>>      borderWidth:    0
>>>>>>>>>>>>>>      borderColor:    (Color r: 0.03 g: 0.02 b: 0.0)
>>>>>>>>>>>>>>      presenter:      a Presenter (1246)
>>>>>>>>>>>>>>      model:  a MorphicModel(1926)
>>>>>>>>>>>>>>      cursor:         1
>>>>>>>>>>>>>>      padding:        3
>>>>>>>>>>>>>>      backgroundMorph:        nil
>>>>>>>>>>>>>>      isPartsBin:     nil
>>>>>>>>>>>>>>      autoLineLayout:         false
>>>>>>>>>>>>>>      indicateCursor:         nil
>>>>>>>>>>>>>>      resizeToFit:    nil
>>>>>>>>>>>>>>      wantsMouseOverHalos:    nil
>>>>>>>>>>>>>>      worldState:     a WorldState
>>>>>>>>>>>>>>      griddingOn:     nil
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --- The full stack ---
>>>>>>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>>>>> RemoteString>>text
>>>>>>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>>>>>> CompiledMethod>>methodNode
>>>>>>>>>>>>>> [] in DebuggerMethodMap class>>forMethod:
>>>>>>>>>>>>>> WeakIdentityKeyDictionary(Dictionary)>>at:ifAbsent:
>>>>>>>>>>>>>> DebuggerMethodMap class>>forMethod:
>>>>>>>>>>>>>> CompiledMethod>>debuggerMap
>>>>>>>>>>>>>> OTClosureContextNode>>selection
>>>>>>>>>>>>>> OTClosureContextNode(OTContextNode)>>definition
>>>>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>node:
>>>>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>selectionChanged:
>>>>>>>>>>>>>> MessageSend>>valueWithArguments:
>>>>>>>>>>>>>> [] in ActionSequence>>valueWithArguments:
>>>>>>>>>>>>>> ActionSequence(SequenceableCollection)>>do:
>>>>>>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>>>>>>> [] in OBAnnouncer>>announce:
>>>>>>>>>>>>>> [] in IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>>>> IdentityDictionary(Set)>>do:
>>>>>>>>>>>>>> IdentityDictionary(Dictionary)>>associationsDo:
>>>>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>>>> OBAnnouncer>>announce:
>>>>>>>>>>>>>> OBColumnPanel>>jumpTo:
>>>>>>>>>>>>>> OTDebugger(OBBrowser)>>jumpTo:
>>>>>>>>>>>>>> OTDebugger class(OBBrowser
>>>>>>>>>>>>>> class)>>metaNode:root:selection:panels:
>>>>>>>>>>>>>> OTDebugger class(OBBrowser class)>>root:selection:
>>>>>>>>>>>>>> OTDebugger class>>process:context:errorWasInUIProcess:
>>>>>>>>>>>>>> OTDebugger
>>>>>>>>>>>>>> class>>process:context:label:errorWasInUIProcess:
>>>>>>>>>>>>>> OTDebugger
>>>>>>>>>>>>>> class>>openProcess:context:label:errorWasInUIProcess:
>>>>>>>>>>>>>> [] in OTPreDebugNode>>debug:
>>>>>>>>>>>>>> WorldState>>runStepMethodsIn:
>>>>>>>>>>>>>> PasteUpMorph>>runStepMethods
>>>>>>>>>>>>>> - - - - - - - - - - - - - - -
>>>>>>>>>>>>>>              - - - - - - - - - - - - - - - - - -
>>>>>>>>>>>>>> WorldState>>doOneCycleNowFor:
>>>>>>>>>>>>>> WorldState>>doOneCycleFor:
>>>>>>>>>>>>>> PasteUpMorph>>doOneCycle
>>>>>>>>>>>>>> [] in Project class>>spawnNewProcess
>>>>>>>>>>>>>> [] in BlockClosure>>newProcess
>>>>>>>>>>>>>> '
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> www.tudorgirba.com
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> "To lead is not to demand things, it is to make them
>>>>>>>>>>>>>> happen."
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>>>>>> [hidden email]
>>>>>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/
>>>>>>>>>>>>>> pharo-
>>>>>>>>>>>>>> project
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>>>>> [hidden email]
>>>>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>>>> [hidden email]
>>>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/ 
>>>>>>>>>>>> pharo-
>>>>>>>>>>>> project
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>>> [hidden email]
>>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>> [hidden email]
>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Pharo-project mailing list
>>>>>>>>> [hidden email]
>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>>>>> project
>>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Pharo-project mailing list
>>>>>>>> [hidden email]
>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> www.tudorgirba.com
>>>>>>>
>>>>>>> "It's not how it is, it is how we see it."
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Pharo-project mailing list
>>>>>>> [hidden email]
>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>>> project
>>>>>>>
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Pharo-project mailing list
>>>>> [hidden email]
>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo- 
>>>>> project
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> [hidden email]
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [hidden email]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>
>> --
>> www.tudorgirba.com
>>
>> "Some battles are better lost than fought."
>>
>>
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: invalid utf8 input detected

Stéphane Ducasse
In reply to this post by Nicolas Cellier
I did the following

(Object>>#doesNotUNderstand) getSourceFromFile and I get an invalid....

Now when I take another method

(BalloonFontTest>>#testDefaultFont) I do not get problem.

I will reread carefully the mails of nicolas to try to understand,
I do not know if the fixes of yoh

        http://bugs.squeak.org/view.php?id=5996
is related.

Nicolas

>> {Object>>#doesNotUnderstand:.
>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>> Utilities class>>#changeStampPerSe.
>> Utilities class>>#methodsWithInitials:} collect: [:e | (e
>> getSourceFromFile select: [:s | s charCode > 127]) asArray collect:
>> [:c | c charCode]]

I cannot get that code running it break before with me.

Stef

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: invalid utf8 input detected

Tudor Girba-3
In reply to this post by Stéphane Ducasse
Hi Stef,

Here is the scenario based on 10314cl:
- evaluate: 1, 'a'
- it will raise a DNU
- try to debug
- it will raise "invalid utf8 input detected"

Cheers,
Doru

On 23 May 2009, at 12:28, Stéphane Ducasse wrote:

> doru
> do you have a scenario running with the latest core?
>
> Stef
>
> On May 23, 2009, at 12:01 AM, Tudor Girba wrote:
>
>> Hi,
>>
>> Could we not solve this for the couple of offending methods for the
>> moment? Having a problem in Object>>doesNotUnderstand: makes the  
>> whole
>> debugging a pain because I can actually not debug such a case.
>>
>> Cheers,
>> Doru
>>
>>
>> On 19 May 2009, at 22:03, Nicolas Cellier wrote:
>>
>>> I opened http://code.google.com/p/pharo/issues/detail?id=830
>>>
>>> I think other UTF-8 issues are different:
>>> Two for FileBrowser :
>>>  http://code.google.com/p/pharo/issues/detail?id=370
>>>  http://code.google.com/p/pharo/issues/detail?id=513
>>> One about VM crash :
>>>  http://code.google.com/p/pharo/issues/detail?id=744
>>>
>>> Nicolas
>>>
>>> 2009/5/19 Stéphane Ducasse <[hidden email]>:
>>>> thanks for making progress on this front.
>>>>
>>>> On May 19, 2009, at 6:40 PM, Nicolas Cellier wrote:
>>>>
>>>>>> From what I see in a 10304, all these methods had a non ASCII
>>>>> character in comment:
>>>>>
>>>>> {Object>>#doesNotUnderstand:.
>>>>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>>>>> Utilities class>>#changeStampPerSe.
>>>>> Utilities class>>#methodsWithInitials:} collect: [:e | (e
>>>>> getSourceFromFile select: [:s | s charCode > 127]) asArray  
>>>>> collect:
>>>>> [:c | c charCode]]
>>>>> #(#(160 160) #(172 143 172 143) #(183) #(246))
>>>>> That is:
>>>>>
>>>>> an Array(a Text for '  ' a Text for '¬∂¬∂' a Text for '·' a
>>>>> Text for 'ö')
>>>>> First are non breaking space.
>>>>> Last but ones are not rendered same in Squeak.
>>>>>
>>>>> These four methods are changed in:
>>>>> - Kernel-stephane_ducasse.renggli.319.mcz
>>>>> - System-Support-stephane_ducasse.20.mcz
>>>>> If I merge 10305 manually, I get some decompiled code in the merge
>>>>> window.
>>>>> So there might be a problem already either in Monticello or in
>>>>> the .mcz.
>>>>> After the merge, there is decomipled code in the changes and no
>>>>> error
>>>>> when executing above code.
>>>>>
>>>>> If I load instead of merging, then I also get the decompiled code
>>>>> in
>>>>> the change log, so I can't reproduce completely the faulty  
>>>>> behavior
>>>>> (having an invalid utf-8 notifier), maybe because the process is  
>>>>> no
>>>>> the same when there are conflicts...
>>>>>
>>>>> If I extract .mcz contents, I can read contents from FileBrowser.
>>>>> But
>>>>> it does not use an UTF-8 encoding...
>>>>> I can't say if the encoding is macRoman or ISO8859L1 or CP1252 or
>>>>> what, but what I can say is that the source.st is not UTF-8
>>>>> encoded.
>>>>>
>>>>> So without searching further I guess here lies the problems:
>>>>> transfer
>>>>> of raw bytes from non UTF-8 .mcz/source.st to the UTF-8 .changes
>>>>> change-log...
>>>>>
>>>>> Every time we'll modify a method with a Character code > 127, we
>>>>> will
>>>>> likely create an invalid UTF-8 bug or get some decompiled code, or
>>>>> corrupt source code in extreme case...
>>>>>
>>>>> Could the Monticello / UTF-8 experts confirm my guess ?
>>>>>
>>>>> Nicolas
>>>>>
>>>>> 2009/5/17 Nicolas Cellier <[hidden email]>:
>>>>>> OK,
>>>>>>
>>>>>> {Object>>#doesNotUnderstand:.
>>>>>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>>>>>> Utilities class>>#changeStampPerSe.
>>>>>> Utilities class>>#methodsWithInitials:} collect: [:e | e
>>>>>> getSourceFromFile].
>>>>>>
>>>>>> does not fail for me, BUT all these sources look like
>>>>>> decompileString.
>>>>>> I guess this is dating from the condenseChanges that occured in
>>>>>> #update10298
>>>>>> Change log prior to this update should have the problem.
>>>>>>
>>>>>> Nicolas
>>>>>>
>>>>>> 2009/5/17 Tudor Girba <[hidden email]>:
>>>>>>> Hi,
>>>>>>>
>>>>>>> I ran the snippet you sent on both 304cl and 306cl and I get the
>>>>>>> following list:
>>>>>>>
>>>>>>> Object->#doesNotUnderstand:
>>>>>>> SystemNavigation->#browseMethodsWhoseNamesContain:
>>>>>>> Utilities class->#changeStampPerSe
>>>>>>> Utilities class->#methodsWithInitials:
>>>>>>>
>>>>>>> Indeed, most of the annoyances are due to the
>>>>>>> Object>>doesNotUnderstand: because when I get a DNU I am stuck
>>>>>>> (and I
>>>>>>> feel like in Java :)).
>>>>>>>
>>>>>>> I am not sure I understand if there is a fix to the problem.
>>>>>>>
>>>>>>> Cheers,
>>>>>>> Doru
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On 17 May 2009, at 12:06, Nicolas Cellier wrote:
>>>>>>>
>>>>>>>> There's something weird... If you hit var (UndefinedObject)
>>>>>>>> doesNotUnderstand: #value: that means there were a problem the
>>>>>>>> first
>>>>>>>> time.
>>>>>>>>
>>>>>>>> Unfortunately, due to bug in MethodContext tempNames, we don't
>>>>>>>> know
>>>>>>>> the class and selector guilty.
>>>>>>>> From the set of selectors I can see this is Object.
>>>>>>>> From the source file position, I cannot say anything because I
>>>>>>>> do
>>>>>>>> not
>>>>>>>> have same change log history (sorry, own image).
>>>>>>>>
>>>>>>>> You could try
>>>>>>>> (SourceFiles at: 2) readOnlyCopy position: 10007336; nextChunk
>>>>>>>>
>>>>>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>>>>>> sorry for not checking either.
>>>>>>>>> When I run this code I indeed do not have a problem on 10306cl
>>>>>>>>>
>>>>>>>>> stef
>>>>>>>>>
>>>>>>>>> On May 17, 2009, at 11:36 AM, Nicolas Cellier wrote:
>>>>>>>>>
>>>>>>>>>> Sure, a key stroke error, it's bar value:, not var value:,
>>>>>>>>>> This @!* workspace takes it as global without a warning....
>>>>>>>>>>
>>>>>>>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>>>>>>>> Nicolas
>>>>>>>>>>>
>>>>>>>>>>> when I run your script on the license looking for image
>>>>>>>>>>> I got using 10306cl
>>>>>>>>>>>
>>>>>>>>>>> I get the following error:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> VM: Mac OS - intel - 1056 - Squeak3.8.1 of '28 Aug
>>>>>>>>>>> 2006' [latest
>>>>>>>>>>> update: #6747] Squeak VM 4.1.1b2
>>>>>>>>>>> Image: Pharo0.1 [Latest update: #10306]
>>>>>>>>>>>
>>>>>>>>>>> SecurityManager state:
>>>>>>>>>>> Restricted: false
>>>>>>>>>>> FileAccess: true
>>>>>>>>>>> SocketAccess: true
>>>>>>>>>>> Working Dir /Data/squeak4.0-relicenseTools/history
>>>>>>>>>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>>>>>>>>>>> Untrusted Dir /Users/ducasse/Library/Preferences/Squeak/
>>>>>>>>>>> Internet/My
>>>>>>>>>>> Squeak
>>>>>>>>>>>
>>>>>>>>>>> UndefinedObject(Object)>>doesNotUnderstand: #value:
>>>>>>>>>>> Receiver: nil
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>> <<error during printing>
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>> nil
>>>>>>>>>>>
>>>>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>>> Receiver: nil
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>> <<error during printing>
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>> nil
>>>>>>>>>>>
>>>>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>>>> Receiver: [closure] in [] in [] in [] in
>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        anArray:        an Array('Error: Invalid utf8 input
>>>>>>>>>>> detected' an
>>>>>>>>>>> UTF8TextConverter)
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        outerContext:   [] in [] in [] in
>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>>        startpc:        183
>>>>>>>>>>>        numArgs:        0
>>>>>>>>>>>
>>>>>>>>>>> [] in BlockClosure>>ifError:
>>>>>>>>>>> Receiver: [closure] in [] in [] in [] in
>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        errorHandlerBlock:      Error: Invalid utf8 input
>>>>>>>>>>> detected
>>>>>>>>>>>        ex:     [closure] in [] in [] in [] in
>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        outerContext:   [] in [] in [] in
>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>>        startpc:        171
>>>>>>>>>>>        numArgs:        0
>>>>>>>>>>>
>>>>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>>>> Receiver: [closure] in BlockClosure>>ifError:
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        anArray:        an Array(Error: Invalid utf8 input
>>>>>>>>>>> detected)
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        outerContext:   BlockClosure>>ifError:
>>>>>>>>>>>        startpc:        40
>>>>>>>>>>>        numArgs:        1
>>>>>>>>>>>
>>>>>>>>>>> [] in MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>> Receiver: BlockClosure>>on:do:
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>> <<error during printing>
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        sender:         BlockClosure>>ifError:
>>>>>>>>>>>        pc:     17
>>>>>>>>>>>        stackp:         3
>>>>>>>>>>>        method:         a CompiledMethod (2306)
>>>>>>>>>>>        closureOrNil:   nil
>>>>>>>>>>>        receiver:       [closure] in [] in [] in [] in
>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>>
>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>> Receiver: [closure] in
>>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        aBlock:         [closure] in
>>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>>        returnValue:    nil
>>>>>>>>>>>        b:      nil
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        outerContext:
>>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>>        startpc:        90
>>>>>>>>>>>        numArgs:        0
>>>>>>>>>>>
>>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>> Receiver: BlockClosure>>on:do:
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        exception:      Error: Invalid utf8 input detected
>>>>>>>>>>>        val:    nil
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        sender:         BlockClosure>>ifError:
>>>>>>>>>>>        pc:     17
>>>>>>>>>>>        stackp:         3
>>>>>>>>>>>        method:         a CompiledMethod (2306)
>>>>>>>>>>>        closureOrNil:   nil
>>>>>>>>>>>        receiver:       [closure] in [] in [] in [] in
>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>>
>>>>>>>>>>> Error(Exception)>>signal
>>>>>>>>>>> Receiver: Error: Invalid utf8 input detected
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        messageText:    'Invalid utf8 input detected'
>>>>>>>>>>>        tag:    nil
>>>>>>>>>>>        signalContext:  Error(Exception)>>signal
>>>>>>>>>>>        handlerContext:         BlockClosure>>on:do:
>>>>>>>>>>>        outerContext:   nil
>>>>>>>>>>>
>>>>>>>>>>> Error(Exception)>>signal:
>>>>>>>>>>> Receiver: Error: Invalid utf8 input detected
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        signalerText:   'Invalid utf8 input detected'
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        messageText:    'Invalid utf8 input detected'
>>>>>>>>>>>        tag:    nil
>>>>>>>>>>>        signalContext:  Error(Exception)>>signal
>>>>>>>>>>>        handlerContext:         BlockClosure>>on:do:
>>>>>>>>>>>        outerContext:   nil
>>>>>>>>>>>
>>>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        aString:        'Invalid utf8 input detected'
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>
>>>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>
>>>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        aStream:        MultiByteFileStream: '/Data/
>>>>>>>>>>> squeak4.0-
>>>>>>>>>>> relicenseTools/
>>>>>>>>>>> history/Pharo0.1C...etc...
>>>>>>>>>>>        character1:     $
>>>>>>>>>>>        value1:         160
>>>>>>>>>>>        character2:     Character tab
>>>>>>>>>>>        value2:         9
>>>>>>>>>>>        unicode:        nil
>>>>>>>>>>>        character3:     Character tab
>>>>>>>>>>>        value3:         9
>>>>>>>>>>>        character4:     nil
>>>>>>>>>>>        value4:         nil
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>
>>>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>>> Receiver: MultiByteFileStream: '/Data/squeak4.0-
>>>>>>>>>>> relicenseTools/
>>>>>>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        char:   nil
>>>>>>>>>>>        secondChar:     nil
>>>>>>>>>>>        state:  nil
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>>> Receiver: MultiByteFileStream: '/Data/squeak4.0-
>>>>>>>>>>> relicenseTools/
>>>>>>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        terminator:     $!
>>>>>>>>>>>        out:    a WriteStream 'doesNotUnderstand: aMessage
>>>>>>>>>>> "Handle the fact that there ...etc...
>>>>>>>>>>>        ch:     Character cr
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>>> Receiver: MultiByteFileStream: '/Data/squeak4.0-
>>>>>>>>>>> relicenseTools/
>>>>>>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        string:         nil
>>>>>>>>>>>        runsRaw:        nil
>>>>>>>>>>>        strm:   nil
>>>>>>>>>>>        runs:   nil
>>>>>>>>>>>        peek:   nil
>>>>>>>>>>>        pos:    nil
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>>> Receiver: a RemoteString
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        theFile:        MultiByteFileStream: '/Data/
>>>>>>>>>>> squeak4.0-
>>>>>>>>>>> relicenseTools/
>>>>>>>>>>> history/Pharo0.1C...etc...
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        sourceFileNumber:       2
>>>>>>>>>>>        filePositionHi:         10007336
>>>>>>>>>>>
>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>> Receiver: [closure] in RemoteString>>text
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        aBlock:         [closure] in RemoteString>>text
>>>>>>>>>>>        returnValue:    nil
>>>>>>>>>>>        b:      nil
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        outerContext:   RemoteString>>text
>>>>>>>>>>>        startpc:        72
>>>>>>>>>>>        numArgs:        0
>>>>>>>>>>>
>>>>>>>>>>> RemoteString>>text
>>>>>>>>>>> Receiver: a RemoteString
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        theFile:        MultiByteFileStream: '/Data/
>>>>>>>>>>> squeak4.0-
>>>>>>>>>>> relicenseTools/
>>>>>>>>>>> history/Pharo0.1C...etc...
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        sourceFileNumber:       2
>>>>>>>>>>>        filePositionHi:         10007336
>>>>>>>>>>>
>>>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        position:       10007336
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>>
>>>>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>>> Receiver: nil
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>> <<error during printing>
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>> nil
>>>>>>>>>>>
>>>>>>>>>>> BlockClosure>>on:do:
>>>>>>>>>>> Receiver: [closure] in [] in [] in [] in
>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        exception:      Error
>>>>>>>>>>>        handlerAction:  [closure] in BlockClosure>>ifError:
>>>>>>>>>>>        handlerActive:  false
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        outerContext:   [] in [] in [] in
>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>>        startpc:        171
>>>>>>>>>>>        numArgs:        0
>>>>>>>>>>>
>>>>>>>>>>> BlockClosure>>ifError:
>>>>>>>>>>> Receiver: [closure] in [] in [] in [] in
>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        errorHandlerBlock:      [closure] in [] in [] in []
>>>>>>>>>>> in
>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        outerContext:   [] in [] in [] in
>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>>        startpc:        171
>>>>>>>>>>>        numArgs:        0
>>>>>>>>>>>
>>>>>>>>>>> [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>>> Receiver: nil
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>> <<error during printing>
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>> nil
>>>>>>>>>>>
>>>>>>>>>>> IdentitySet(Set)>>do:
>>>>>>>>>>> Receiver: an IdentitySet(#name #inheritsFromAnyIn: #asOop
>>>>>>>>>>> #isWebBrowser #storeOnStream: #wantsDroppe...etc...
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        aBlock:         [closure] in [] in [] in
>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>>        index:  394
>>>>>>>>>>>        each:   #doesNotUnderstand:
>>>>>>>>>>>        indexLimiT:     498
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        tally:  373
>>>>>>>>>>>        array:  #(nil nil #name nil #inheritsFromAnyIn:
>>>>>>>>>>> #asOop nil nil
>>>>>>>>>>> #isWebBrowser nil...etc...
>>>>>>>>>>>
>>>>>>>>>>> [] in [] in UndefinedObject>>DoIt
>>>>>>>>>>> Receiver: nil
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>> <<error during printing>
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>> nil
>>>>>>>>>>>
>>>>>>>>>>> [] in ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>>> Receiver: ProtoObject
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        aBlock:         Object
>>>>>>>>>>>        cl:     [closure] in [] in UndefinedObject>>DoIt
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        superclass:     nil
>>>>>>>>>>>        methodDict:     a MethodDictionary(#'=='->a
>>>>>>>>>>> CompiledMethod (602)
>>>>>>>>>>> #become:->a Compil...etc...
>>>>>>>>>>>        format:         2
>>>>>>>>>>>        instanceVariables:      nil
>>>>>>>>>>>        organization:   ('apply primitives' tryNamedPrimitive
>>>>>>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>>>>>>        subclasses:     {Object . ObjectOut .
>>>>>>>>>>> ImageSegmentRootStub .
>>>>>>>>>>> MessageCatcher . TestC...etc...
>>>>>>>>>>>        name:   #ProtoObject
>>>>>>>>>>>        classPool:      nil
>>>>>>>>>>>        sharedPools:    nil
>>>>>>>>>>>        environment:    nil
>>>>>>>>>>>        category:       #'Kernel-Objects'
>>>>>>>>>>>        traitComposition:       nil
>>>>>>>>>>>        localSelectors:         nil
>>>>>>>>>>>
>>>>>>>>>>> Array(SequenceableCollection)>>do:
>>>>>>>>>>> Receiver: {Object . ObjectOut . ImageSegmentRootStub .
>>>>>>>>>>> MessageCatcher . TestCoverage}
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        aBlock:         [closure] in ProtoObject
>>>>>>>>>>> class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>>>        index:  1
>>>>>>>>>>>        indexLimiT:     5
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>> {Object . ObjectOut . ImageSegmentRootStub .  
>>>>>>>>>>> MessageCatcher .
>>>>>>>>>>> TestCoverage}
>>>>>>>>>>>
>>>>>>>>>>> ProtoObject class(Class)>>subclassesDoGently:
>>>>>>>>>>> Receiver: ProtoObject
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        aBlock:         [closure] in ProtoObject
>>>>>>>>>>> class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        superclass:     nil
>>>>>>>>>>>        methodDict:     a MethodDictionary(#'=='->a
>>>>>>>>>>> CompiledMethod (602)
>>>>>>>>>>> #become:->a Compil...etc...
>>>>>>>>>>>        format:         2
>>>>>>>>>>>        instanceVariables:      nil
>>>>>>>>>>>        organization:   ('apply primitives' tryNamedPrimitive
>>>>>>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>>>>>>        subclasses:     {Object . ObjectOut .
>>>>>>>>>>> ImageSegmentRootStub .
>>>>>>>>>>> MessageCatcher . TestC...etc...
>>>>>>>>>>>        name:   #ProtoObject
>>>>>>>>>>>        classPool:      nil
>>>>>>>>>>>        sharedPools:    nil
>>>>>>>>>>>        environment:    nil
>>>>>>>>>>>        category:       #'Kernel-Objects'
>>>>>>>>>>>        traitComposition:       nil
>>>>>>>>>>>        localSelectors:         nil
>>>>>>>>>>>
>>>>>>>>>>> ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>>> Receiver: ProtoObject
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        aBlock:         [closure] in [] in
>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        superclass:     nil
>>>>>>>>>>>        methodDict:     a MethodDictionary(#'=='->a
>>>>>>>>>>> CompiledMethod (602)
>>>>>>>>>>> #become:->a Compil...etc...
>>>>>>>>>>>        format:         2
>>>>>>>>>>>        instanceVariables:      nil
>>>>>>>>>>>        organization:   ('apply primitives' tryNamedPrimitive
>>>>>>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>>>>>>        subclasses:     {Object . ObjectOut .
>>>>>>>>>>> ImageSegmentRootStub .
>>>>>>>>>>> MessageCatcher . TestC...etc...
>>>>>>>>>>>        name:   #ProtoObject
>>>>>>>>>>>        classPool:      nil
>>>>>>>>>>>        sharedPools:    nil
>>>>>>>>>>>        environment:    nil
>>>>>>>>>>>        category:       #'Kernel-Objects'
>>>>>>>>>>>        traitComposition:       nil
>>>>>>>>>>>        localSelectors:         nil
>>>>>>>>>>>
>>>>>>>>>>> SystemNavigation>>allBehaviorsDo:
>>>>>>>>>>> Receiver: a SystemNavigation
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        aBlock:         [closure] in [] in
>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        browserClass:   nil
>>>>>>>>>>>        hierarchyBrowserClass:  nil
>>>>>>>>>>>
>>>>>>>>>>> [] in UndefinedObject>>DoIt
>>>>>>>>>>> Receiver: nil
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>> <<error during printing>
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>> nil
>>>>>>>>>>>
>>>>>>>>>>> [] in ProgressInitiationException>>defaultAction
>>>>>>>>>>> Receiver: ProgressInitiationException
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        progress:       [closure] in
>>>>>>>>>>> SystemProgressMorph>>label:min:max:
>>>>>>>>>>>        result:         #(nil)
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        messageText:    nil
>>>>>>>>>>>        tag:    nil
>>>>>>>>>>>        signalContext:
>>>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>>>        handlerContext:         nil
>>>>>>>>>>>        outerContext:   nil
>>>>>>>>>>>        workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>>>>>>        maxVal:         3874
>>>>>>>>>>>        minVal:         0
>>>>>>>>>>>        aPoint:         840@306
>>>>>>>>>>>        progressTitle:  'Searching UTF-8 Problems...'
>>>>>>>>>>>
>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>> Receiver: [closure] in
>>>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        aBlock:         [closure] in
>>>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>>>        returnValue:    nil
>>>>>>>>>>>        b:      nil
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        outerContext:
>>>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>>>        startpc:        49
>>>>>>>>>>>        numArgs:        0
>>>>>>>>>>>
>>>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>>> Receiver: ProgressInitiationException
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        progress:       [closure] in
>>>>>>>>>>> SystemProgressMorph>>label:min:max:
>>>>>>>>>>>        result:         #(nil)
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        messageText:    nil
>>>>>>>>>>>        tag:    nil
>>>>>>>>>>>        signalContext:
>>>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>>>        handlerContext:         nil
>>>>>>>>>>>        outerContext:   nil
>>>>>>>>>>>        workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>>>>>>        maxVal:         3874
>>>>>>>>>>>        minVal:         0
>>>>>>>>>>>        aPoint:         840@306
>>>>>>>>>>>        progressTitle:  'Searching UTF-8 Problems...'
>>>>>>>>>>>
>>>>>>>>>>> UndefinedObject>>handleSignal:
>>>>>>>>>>> Receiver: nil
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        exception:      ProgressInitiationException
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>> nil
>>>>>>>>>>>
>>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>> Receiver: BlockClosure>>on:do:
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        exception:      ProgressInitiationException
>>>>>>>>>>>        val:    nil
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        sender:         PasteUpMorph>>becomeActiveDuring:
>>>>>>>>>>>        pc:     17
>>>>>>>>>>>        stackp:         3
>>>>>>>>>>>        method:         a CompiledMethod (2306)
>>>>>>>>>>>        closureOrNil:   nil
>>>>>>>>>>>        receiver:       [closure] in
>>>>>>>>>>> PasteUpMorph>>becomeActiveDuring:
>>>>>>>>>>>
>>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>> Receiver: BlockClosure>>on:do:
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>        exception:      ProgressInitiationException
>>>>>>>>>>>        val:    nil
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        sender:
>>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>>>>        pc:     17
>>>>>>>>>>>        stackp:         3
>>>>>>>>>>>        method:         a CompiledMethod (2306)
>>>>>>>>>>>        closureOrNil:   nil
>>>>>>>>>>>        receiver:       [closure] in
>>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>>>>
>>>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>>> Receiver: ProgressInitiationException
>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>
>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>        messageText:    nil
>>>>>>>>>>>        tag:    nil
>>>>>>>>>>>        signalContext:
>>>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>>>        handlerContext:         nil
>>>>>>>>>>>        outerContext:   nil
>>>>>>>>>>>        workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>>>>>>        maxVal:         3874
>>>>>>>>>>>        minVal:         0
>>>>>>>>>>>        aPoint:         840@306
>>>>>>>>>>>        progressTitle:  'Searching UTF-8 Problems...'
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --- The full stack ---
>>>>>>>>>>> UndefinedObject(Object)>>doesNotUnderstand: #value:
>>>>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>>>> [] in BlockClosure>>ifError:
>>>>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>>>> [] in MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>> Error(Exception)>>signal
>>>>>>>>>>> Error(Exception)>>signal:
>>>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>> RemoteString>>text
>>>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>>> BlockClosure>>on:do:
>>>>>>>>>>> BlockClosure>>ifError:
>>>>>>>>>>> [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>>> IdentitySet(Set)>>do:
>>>>>>>>>>> [] in [] in UndefinedObject>>DoIt
>>>>>>>>>>> [] in ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>>> Array(SequenceableCollection)>>do:
>>>>>>>>>>> ProtoObject class(Class)>>subclassesDoGently:
>>>>>>>>>>> ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>>> SystemNavigation>>allBehaviorsDo:
>>>>>>>>>>> [] in UndefinedObject>>DoIt
>>>>>>>>>>> [] in ProgressInitiationException>>defaultAction
>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>>> UndefinedObject>>handleSignal:
>>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>>> - - - - - - - - - - - - - - -
>>>>>>>>>>>                - - - - - - - - - - - - - - - - - -
>>>>>>>>>>> ProgressInitiationException>>display:at:from:to:during:
>>>>>>>>>>> ProgressInitiationException  
>>>>>>>>>>> class>>display:at:from:to:during:
>>>>>>>>>>> ByteString(String)>>displayProgressAt:from:to:during:
>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>> Compiler>>evaluate:in:to:notifying:ifFail:logged:
>>>>>>>>>>> [] in TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>>>> BlockClosure>>on:do:
>>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>doIt
>>>>>>>>>>> [] in TextMorphEditor(ParagraphEditor)>>doIt:
>>>>>>>>>>> TextMorphEditor
>>>>>>>>>>> (ParagraphEditor)>>terminateAndInitializeAround:
>>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>doIt:
>>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>dispatchOnKeyEvent:with:
>>>>>>>>>>> TextMorphEditor>>dispatchOnKeyEvent:with:
>>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>keystroke:
>>>>>>>>>>> TextMorphEditor>>keystroke:
>>>>>>>>>>> [] in TextMorphForEditView(TextMorph)>>keyStroke:
>>>>>>>>>>> TextMorphForEditView(TextMorph)>>handleInteraction:
>>>>>>>>>>> TextMorphForEditView>>handleInteraction:
>>>>>>>>>>> TextMorphForEditView(TextMorph)>>keyStroke:
>>>>>>>>>>> TextMorphForEditView>>keyStroke:
>>>>>>>>>>> TextMorphForEditView(TextMorph)>>handleKeystroke:
>>>>>>>>>>> KeyboardEvent>>sentTo:
>>>>>>>>>>> TextMorphForEditView(Morph)>>handleEvent:
>>>>>>>>>>> TextMorphForEditView(Morph)>>handleFocusEvent:
>>>>>>>>>>> [] in HandMorph>>sendFocusEvent:to:clear:
>>>>>>>>>>> [] in PasteUpMorph>>becomeActiveDuring:
>>>>>>>>>>> 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
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On May 17, 2009, at 11:13 AM, Nicolas Cellier wrote:
>>>>>>>>>>>
>>>>>>>>>>>> One solution would be to use getSource rather than
>>>>>>>>>>>> getSourceFromFile.
>>>>>>>>>>>> However, with following code I detected no problem in my
>>>>>>>>>>>> pharo-
>>>>>>>>>>>> core
>>>>>>>>>>>> copy (10281 updated to 10306)
>>>>>>>>>>>>
>>>>>>>>>>>> | problems total |
>>>>>>>>>>>> problems := OrderedCollection new.
>>>>>>>>>>>> total := 0.
>>>>>>>>>>>> SystemNavigation default allBehaviorsDo: [:cl | total :=
>>>>>>>>>>>> total +
>>>>>>>>>>>> 1].
>>>>>>>>>>>> 'Searching UTF-8 Problems...'
>>>>>>>>>>>> displayProgressAt: Sensor cursorPoint
>>>>>>>>>>>> from: 0 to: total
>>>>>>>>>>>> during:
>>>>>>>>>>>>       [:bar | | count |
>>>>>>>>>>>>       count := 0.
>>>>>>>>>>>>       SystemNavigation default allBehaviorsDo: [:cl |
>>>>>>>>>>>>               bar value: (count := count + 1).
>>>>>>>>>>>>               cl selectors do: [:sel |
>>>>>>>>>>>>                       [(cl compiledMethodAt: sel)
>>>>>>>>>>>> getSourceFromFile] ifError: [
>>>>>>>>>>>>                               var value: 'last problem
>>>>>>>>>>>> found ' , cl name , '>>#' , sel.
>>>>>>>>>>>>                               problems add: cl->sel]]]].
>>>>>>>>>>>> ^problems
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>>>>>>>>>> yes same here.
>>>>>>>>>>>>>
>>>>>>>>>>>>> On May 17, 2009, at 2:10 AM, Tudor Girba wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Recently I encounter a strange error:
>>>>>>>>>>>>>> - I sometimes get a debugger due to some problems in my
>>>>>>>>>>>>>> code
>>>>>>>>>>>>>> - when I try to investigate the trace, I get another
>>>>>>>>>>>>>> debugger
>>>>>>>>>>>>>> saying
>>>>>>>>>>>>>> that "Invalid utf8 input detected'"
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> This second debugger I can investigate, the previous not.
>>>>>>>>>>>>>> It
>>>>>>>>>>>>>> looks
>>>>>>>>>>>>>> like something got messed up with the text conversion of
>>>>>>>>>>>>>> the
>>>>>>>>>>>>>> sources.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I am working on 10306 using the 4.1.1b2 VM on Mac. The
>>>>>>>>>>>>>> code
>>>>>>>>>>>>>> I am
>>>>>>>>>>>>>> working on is loaded from squeaksource (Moose, Glamour,
>>>>>>>>>>>>>> Mondrian).
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Anyone can confirm this problem?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Cheers,
>>>>>>>>>>>>>> Doru
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> ----ERROR REPORT----
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> '17 May 2009 2:05:50 am
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> VM: Mac OS - intel - 1056 - Squeak3.8.1 of ''28 Aug
>>>>>>>>>>>>>> 2006'' [latest
>>>>>>>>>>>>>> update: #6747] Squeak VM 4.1.1b2
>>>>>>>>>>>>>> Image: Pharo0.1 [Latest update: #10306]
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> SecurityManager state:
>>>>>>>>>>>>>> Restricted: false
>>>>>>>>>>>>>> FileAccess: true
>>>>>>>>>>>>>> SocketAccess: true
>>>>>>>>>>>>>> Working Dir /Users/girba/Work/Code/squeakingmoose
>>>>>>>>>>>>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>>>>>>>>>>>>>> Untrusted Dir /Users/girba/Library/Preferences/Squeak/
>>>>>>>>>>>>>> Internet/
>>>>>>>>>>>>>> My
>>>>>>>>>>>>>> Squeak
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aString:        ''Invalid utf8 input detected''
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aStream:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>>>>>>> Work/Code/
>>>>>>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>>>>>>      character1:     $
>>>>>>>>>>>>>>      value1:         160
>>>>>>>>>>>>>>      character2:     Character tab
>>>>>>>>>>>>>>      value2:         9
>>>>>>>>>>>>>>      unicode:        nil
>>>>>>>>>>>>>>      character3:     Character tab
>>>>>>>>>>>>>>      value3:         9
>>>>>>>>>>>>>>      character4:     nil
>>>>>>>>>>>>>>      value4:         nil
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      char:   nil
>>>>>>>>>>>>>>      secondChar:     nil
>>>>>>>>>>>>>>      state:  nil
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      terminator:     $!
>>>>>>>>>>>>>>      out:    a WriteStream ''doesNotUnderstand: aMessage
>>>>>>>>>>>>>> "Handle the fact that there ...etc...
>>>>>>>>>>>>>>      ch:     Character cr
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      string:         nil
>>>>>>>>>>>>>>      runsRaw:        nil
>>>>>>>>>>>>>>      strm:   nil
>>>>>>>>>>>>>>      runs:   nil
>>>>>>>>>>>>>>      peek:   nil
>>>>>>>>>>>>>>      pos:    nil
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>>>>>> Receiver: a RemoteString
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      theFile:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>>>>>>> Work/Code/
>>>>>>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      sourceFileNumber:       2
>>>>>>>>>>>>>>      filePositionHi:         10007336
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>>>>> Receiver: [closure] in RemoteString>>text
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aBlock:         [closure] in RemoteString>>text
>>>>>>>>>>>>>>      returnValue:    nil
>>>>>>>>>>>>>>      b:      nil
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      outerContext:   RemoteString>>text
>>>>>>>>>>>>>>      startpc:        72
>>>>>>>>>>>>>>      numArgs:        0
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> RemoteString>>text
>>>>>>>>>>>>>> Receiver: a RemoteString
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      theFile:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>>>>>>> Work/Code/
>>>>>>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      sourceFileNumber:       2
>>>>>>>>>>>>>>      filePositionHi:         10007336
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      position:       10007336
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> CompiledMethod>>methodNode
>>>>>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aClass:         Object
>>>>>>>>>>>>>>      source:         nil
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> [] in DebuggerMethodMap class>>forMethod:
>>>>>>>>>>>>>> Receiver: DebuggerMethodMap
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aMethod:        a CompiledMethod (838)
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      superclass:     Object
>>>>>>>>>>>>>>      methodDict:     a
>>>>>>>>>>>>>> MethodDictionary(#abstractSourceMap-
>>>>>>>>>>>>>>> a CompiledMethod
>>>>>>>>>>>>>> (1628) #for...etc...
>>>>>>>>>>>>>>      format:         140
>>>>>>>>>>>>>>      instanceVariables:      #(''timestamp''
>>>>>>>>>>>>>> ''methodReference''
>>>>>>>>>>>>>> ''methodNode'' ''abstractSource...etc...
>>>>>>>>>>>>>>      organization:   (''initialize-release''
>>>>>>>>>>>>>> forMethod:methodNode:)
>>>>>>>>>>>>>> (''accessing'' markRec...etc...
>>>>>>>>>>>>>>      subclasses:
>>>>>>>>>>>>>> {DebuggerMethodMapForBlueBookMethods .
>>>>>>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>>>>>>      name:   #DebuggerMethodMap
>>>>>>>>>>>>>>      classPool:      a Dictionary(#MapCache->a
>>>>>>>>>>>>>> WeakIdentityKeyDictionary(a
>>>>>>>>>>>>>> CompiledMethod...etc...
>>>>>>>>>>>>>>      sharedPools:    nil
>>>>>>>>>>>>>>      environment:    Smalltalk
>>>>>>>>>>>>>>      category:       #''Tools-Debugger''
>>>>>>>>>>>>>>      traitComposition:       nil
>>>>>>>>>>>>>>      localSelectors:         nil
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> WeakIdentityKeyDictionary(Dictionary)>>at:ifAbsent:
>>>>>>>>>>>>>> Receiver: a WeakIdentityKeyDictionary(a CompiledMethod
>>>>>>>>>>>>>> (126)-
>>>>>>>>>>>>>>> a
>>>>>>>>>>>>>> DebuggerMethodMapForClosureCompiledM...etc...
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      key:    a CompiledMethod (838)
>>>>>>>>>>>>>>      aBlock:         [closure] in DebuggerMethodMap
>>>>>>>>>>>>>> class>>forMethod:
>>>>>>>>>>>>>>      assoc:  nil
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      tally:  16
>>>>>>>>>>>>>>      array:  an Array(nil nil a CompiledMethod (2402)->a
>>>>>>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> DebuggerMethodMap class>>forMethod:
>>>>>>>>>>>>>> Receiver: DebuggerMethodMap
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aMethod:        a CompiledMethod (838)
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      superclass:     Object
>>>>>>>>>>>>>>      methodDict:     a
>>>>>>>>>>>>>> MethodDictionary(#abstractSourceMap-
>>>>>>>>>>>>>>> a CompiledMethod
>>>>>>>>>>>>>> (1628) #for...etc...
>>>>>>>>>>>>>>      format:         140
>>>>>>>>>>>>>>      instanceVariables:      #(''timestamp''
>>>>>>>>>>>>>> ''methodReference''
>>>>>>>>>>>>>> ''methodNode'' ''abstractSource...etc...
>>>>>>>>>>>>>>      organization:   (''initialize-release''
>>>>>>>>>>>>>> forMethod:methodNode:)
>>>>>>>>>>>>>> (''accessing'' markRec...etc...
>>>>>>>>>>>>>>      subclasses:
>>>>>>>>>>>>>> {DebuggerMethodMapForBlueBookMethods .
>>>>>>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>>>>>>      name:   #DebuggerMethodMap
>>>>>>>>>>>>>>      classPool:      a Dictionary(#MapCache->a
>>>>>>>>>>>>>> WeakIdentityKeyDictionary(a
>>>>>>>>>>>>>> CompiledMethod...etc...
>>>>>>>>>>>>>>      sharedPools:    nil
>>>>>>>>>>>>>>      environment:    Smalltalk
>>>>>>>>>>>>>>      category:       #''Tools-Debugger''
>>>>>>>>>>>>>>      traitComposition:       nil
>>>>>>>>>>>>>>      localSelectors:         nil
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> CompiledMethod>>debuggerMap
>>>>>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> OTClosureContextNode>>selection
>>>>>>>>>>>>>> Receiver: an OTClosureContextNode
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      metaNode:       context
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>      navigation:     an OBDefaultEdgeNavigation
>>>>>>>>>>>>>>      process:        a Process in OTToolset
>>>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>>>      context:        Model
>>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>>>      parseTree:      nil
>>>>>>>>>>>>>>      sourceMap:      nil
>>>>>>>>>>>>>>      debuggerMap:    nil
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> OTClosureContextNode(OTContextNode)>>definition
>>>>>>>>>>>>>> Receiver: an OTClosureContextNode
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      metaNode:       context
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>      navigation:     an OBDefaultEdgeNavigation
>>>>>>>>>>>>>>      process:        a Process in OTToolset
>>>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>>>      context:        Model
>>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>>>      parseTree:      nil
>>>>>>>>>>>>>>      sourceMap:      nil
>>>>>>>>>>>>>>      debuggerMap:    nil
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>node:
>>>>>>>>>>>>>> Receiver: an OTDefinitionPanel
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aNode:  an OTClosureContextNode
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      browser:        an OTDebugger
>>>>>>>>>>>>>>      definition:     nil
>>>>>>>>>>>>>>      selection:      nil
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>selectionChanged:
>>>>>>>>>>>>>> Receiver: an OTDefinitionPanel
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      ann:    an OBSelectionChanged
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      browser:        an OTDebugger
>>>>>>>>>>>>>>      definition:     nil
>>>>>>>>>>>>>>      selection:      nil
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> MessageSend>>valueWithArguments:
>>>>>>>>>>>>>> Receiver: MessageSend(#selectionChanged: -> an
>>>>>>>>>>>>>> OTDefinitionPanel)
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      anArray:        an Array(an OBSelectionChanged)
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      receiver:       an OTDefinitionPanel
>>>>>>>>>>>>>>      selector:       #selectionChanged:
>>>>>>>>>>>>>>      arguments:      #()
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> [] in ActionSequence>>valueWithArguments:
>>>>>>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      anArray:        MessageSend(#selectionChanged: -> an
>>>>>>>>>>>>>> OTDefinitionPanel)
>>>>>>>>>>>>>>      answer:         an Array(an OBSelectionChanged)
>>>>>>>>>>>>>>      each:   an Array(an OBFixedButtonPanel)
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> ActionSequence(SequenceableCollection)>>do:
>>>>>>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aBlock:         [closure] in
>>>>>>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>>>>>>>      index:  4
>>>>>>>>>>>>>>      indexLimiT:     6
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      anArray:        an Array(an OBSelectionChanged)
>>>>>>>>>>>>>>      answer:         an Array(an OBFixedButtonPanel)
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>>>> MessageSend(#selectionChanged: -> an OBColumnPan...etc...
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> [] in OBAnnouncer>>announce:
>>>>>>>>>>>>>> Receiver: an OBAnnouncer
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>> <<error during printing>
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      subscriptions:  an
>>>>>>>>>>>>>> IdentityDictionary(OBAboutToChange-
>>>>>>>>>>>>>>> an
>>>>>>>>>>>>>> ActionSequence(Message...etc...
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> [] in IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aBlock:         OBSelectionChanged-
>>>>>>>>>>>>>>> #(MessageSend(#relabel: -> an
>>>>>>>>>>>>>> OTDebugger)
>>>>>>>>>>>>>> MessageSe...etc...
>>>>>>>>>>>>>>      assoc:  [closure] in OBAnnouncer>>announce:
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      tally:  12
>>>>>>>>>>>>>>      array:  {OBNodeCreated->an
>>>>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> IdentityDictionary(Set)>>do:
>>>>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aBlock:         [closure] in
>>>>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>>>>      index:  6
>>>>>>>>>>>>>>      each:   OBSelectionChanged-
>>>>>>>>>>>>>>> #(MessageSend(#relabel: -
>>>>>>>>>>>>>>> an OTDebugger)
>>>>>>>>>>>>>> MessageSend...etc...
>>>>>>>>>>>>>>      indexLimiT:     20
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      tally:  12
>>>>>>>>>>>>>>      array:  {OBNodeCreated->an
>>>>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> IdentityDictionary(Dictionary)>>associationsDo:
>>>>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aBlock:         [closure] in
>>>>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      tally:  12
>>>>>>>>>>>>>>      array:  {OBNodeCreated->an
>>>>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: -> an...etc...
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aBlock:         [closure] in OBAnnouncer>>announce:
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      tally:  12
>>>>>>>>>>>>>>      array:  {OBNodeCreated->an
>>>>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> OBAnnouncer>>announce:
>>>>>>>>>>>>>> Receiver: an OBAnnouncer
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      anObject:       an OBSelectionChanged
>>>>>>>>>>>>>>      ann:    an OBSelectionChanged
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      subscriptions:  an
>>>>>>>>>>>>>> IdentityDictionary(OBAboutToChange-
>>>>>>>>>>>>>>> an
>>>>>>>>>>>>>> ActionSequence(Message...etc...
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> OBColumnPanel>>jumpTo:
>>>>>>>>>>>>>> Receiver: an OBColumnPanel
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aNode:  an OTClosureContextNode
>>>>>>>>>>>>>>      column:         an OBColumn(Model
>>>>>>>>>>>>>> class(Object)>>doesNotUnderstand:
>>>>>>>>>>>>>> #fullName)
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      browser:        an OTDebugger
>>>>>>>>>>>>>>      root:   an OTProcessNode
>>>>>>>>>>>>>>      current:        an OTClosureContextNode
>>>>>>>>>>>>>>      columns:        an OrderedCollection(an
>>>>>>>>>>>>>> OBColumn(Model
>>>>>>>>>>>>>> class(Object)>>doesNotUnderstan...etc...
>>>>>>>>>>>>>>      minPanes:       1
>>>>>>>>>>>>>>      maxPanes:       1
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> OTDebugger(OBBrowser)>>jumpTo:
>>>>>>>>>>>>>> Receiver: an OTDebugger
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aNode:  an OTClosureContextNode
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      panels:         an OrderedCollection(an
>>>>>>>>>>>>>> OBColumnPanel
>>>>>>>>>>>>>> an OBFixedButtonPanel
>>>>>>>>>>>>>> an OTDefini...etc...
>>>>>>>>>>>>>>      announcer:      an OBAnnouncer
>>>>>>>>>>>>>>      cmdFactories:   an Array(OTCmdProceedDebugger
>>>>>>>>>>>>>> OTCmdIntoDebugger
>>>>>>>>>>>>>> OTCmdThroughDebug...etc...
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> OTDebugger class(OBBrowser
>>>>>>>>>>>>>> class)>>metaNode:root:selection:panels:
>>>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      metaNode:       process
>>>>>>>>>>>>>> #longStack->context
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>      rootNode:       an OTProcessNode
>>>>>>>>>>>>>>      selectedNode:   an OTClosureContextNode
>>>>>>>>>>>>>>      panels:         an Array(an OBColumnPanel an
>>>>>>>>>>>>>> OBFixedButtonPanel an
>>>>>>>>>>>>>> OTDefinitionPanel an...etc...
>>>>>>>>>>>>>>      browser:        an OTDebugger
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      superclass:     OBBrowser
>>>>>>>>>>>>>>      methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>>>      format:         136
>>>>>>>>>>>>>>      instanceVariables:      nil
>>>>>>>>>>>>>>      organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>>>      subclasses:     nil
>>>>>>>>>>>>>>      name:   #OTDebugger
>>>>>>>>>>>>>>      classPool:      nil
>>>>>>>>>>>>>>      sharedPools:    nil
>>>>>>>>>>>>>>      environment:    Smalltalk
>>>>>>>>>>>>>>      category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>>>      traitComposition:       nil
>>>>>>>>>>>>>>      localSelectors:         nil
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> OTDebugger class(OBBrowser class)>>root:selection:
>>>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      rootNode:       an OTProcessNode
>>>>>>>>>>>>>>      selectedNode:   an OTClosureContextNode
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      superclass:     OBBrowser
>>>>>>>>>>>>>>      methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>>>      format:         136
>>>>>>>>>>>>>>      instanceVariables:      nil
>>>>>>>>>>>>>>      organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>>>      subclasses:     nil
>>>>>>>>>>>>>>      name:   #OTDebugger
>>>>>>>>>>>>>>      classPool:      nil
>>>>>>>>>>>>>>      sharedPools:    nil
>>>>>>>>>>>>>>      environment:    Smalltalk
>>>>>>>>>>>>>>      category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>>>      traitComposition:       nil
>>>>>>>>>>>>>>      localSelectors:         nil
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> OTDebugger class>>process:context:errorWasInUIProcess:
>>>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aProcess:       a Process in OTToolset
>>>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>>>      aContext:       Model
>>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>>>      aBool:  true
>>>>>>>>>>>>>>      processNode:    an OTProcessNode
>>>>>>>>>>>>>>      contextNode:    an OTClosureContextNode
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      superclass:     OBBrowser
>>>>>>>>>>>>>>      methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>>>      format:         136
>>>>>>>>>>>>>>      instanceVariables:      nil
>>>>>>>>>>>>>>      organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>>>      subclasses:     nil
>>>>>>>>>>>>>>      name:   #OTDebugger
>>>>>>>>>>>>>>      classPool:      nil
>>>>>>>>>>>>>>      sharedPools:    nil
>>>>>>>>>>>>>>      environment:    Smalltalk
>>>>>>>>>>>>>>      category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>>>      traitComposition:       nil
>>>>>>>>>>>>>>      localSelectors:         nil
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> OTDebugger
>>>>>>>>>>>>>> class>>process:context:label:errorWasInUIProcess:
>>>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aProcess:       a Process in OTToolset
>>>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>>>      aContext:       Model
>>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>>>      aString:        ''MessageNotUnderstood: Model
>>>>>>>>>>>>>> class>>fullName''
>>>>>>>>>>>>>>      aBool:  true
>>>>>>>>>>>>>>      debugger:       nil
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      superclass:     OBBrowser
>>>>>>>>>>>>>>      methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>>>      format:         136
>>>>>>>>>>>>>>      instanceVariables:      nil
>>>>>>>>>>>>>>      organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>>>      subclasses:     nil
>>>>>>>>>>>>>>      name:   #OTDebugger
>>>>>>>>>>>>>>      classPool:      nil
>>>>>>>>>>>>>>      sharedPools:    nil
>>>>>>>>>>>>>>      environment:    Smalltalk
>>>>>>>>>>>>>>      category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>>>      traitComposition:       nil
>>>>>>>>>>>>>>      localSelectors:         nil
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> OTDebugger
>>>>>>>>>>>>>> class>>openProcess:context:label:errorWasInUIProcess:
>>>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aProcess:       a Process in OTToolset
>>>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>>>      aContext:       Model
>>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>>>      aString:        ''MessageNotUnderstood: Model
>>>>>>>>>>>>>> class>>fullName''
>>>>>>>>>>>>>>      aBool:  true
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      superclass:     OBBrowser
>>>>>>>>>>>>>>      methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>>>      format:         136
>>>>>>>>>>>>>>      instanceVariables:      nil
>>>>>>>>>>>>>>      organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>>>      subclasses:     nil
>>>>>>>>>>>>>>      name:   #OTDebugger
>>>>>>>>>>>>>>      classPool:      nil
>>>>>>>>>>>>>>      sharedPools:    nil
>>>>>>>>>>>>>>      environment:    Smalltalk
>>>>>>>>>>>>>>      category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>>>      traitComposition:       nil
>>>>>>>>>>>>>>      localSelectors:         nil
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> [] in OTPreDebugNode>>debug:
>>>>>>>>>>>>>> Receiver: an OTPreDebugNode
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aRequestor:     an OTPreDebugPanel
>>>>>>>>>>>>>>      proc:   a Process in OTToolset
>>>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      metaNode:       Predebug
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>      navigation:     nil
>>>>>>>>>>>>>>      errorWasInUI:   true
>>>>>>>>>>>>>>      process:        nil
>>>>>>>>>>>>>>      context:        Model
>>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>>>      label:  ''MessageNotUnderstood: Model
>>>>>>>>>>>>>> class>>fullName''
>>>>>>>>>>>>>>      contents:       ''Model
>>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>>> UtilitiesTest>>tes...etc...
>>>>>>>>>>>>>>      debugOnMouseClick:      true
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> WorldState>>runStepMethodsIn:
>>>>>>>>>>>>>> Receiver: a WorldState
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>      aWorld:         a PasteUpMorph(1622) [world]
>>>>>>>>>>>>>>      queue:  a SharedQueue
>>>>>>>>>>>>>>      numItems:       1
>>>>>>>>>>>>>>      i:      0
>>>>>>>>>>>>>>      limit:  200
>>>>>>>>>>>>>>      stamp:  12765762
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      hands:  an Array(a HandMorph(3216))
>>>>>>>>>>>>>>      viewBox:        0@0 corner: 1440@807
>>>>>>>>>>>>>>      canvas:         a FormCanvas on:
>>>>>>>>>>>>>> DisplayScreen(1440x807x32)
>>>>>>>>>>>>>>      damageRecorder:         a DamageRecorder
>>>>>>>>>>>>>>      stepList:       a Heap(StepMessage(#stepAt: -> a
>>>>>>>>>>>>>> SystemWindow(3380))(a
>>>>>>>>>>>>>> SystemWindow(3...etc...
>>>>>>>>>>>>>>      lastStepTime:   12791780
>>>>>>>>>>>>>>      lastStepMessage:        nil
>>>>>>>>>>>>>>      lastCycleTime:  12791800
>>>>>>>>>>>>>>      commandHistory:         a CommandHistory
>>>>>>>>>>>>>>      alarms:         a Heap()
>>>>>>>>>>>>>>      lastAlarmTime:  12791780
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> PasteUpMorph>>runStepMethods
>>>>>>>>>>>>>> Receiver: a PasteUpMorph(1622) [world]
>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>      bounds:         0@0 corner: 1440@807
>>>>>>>>>>>>>>      owner:  nil
>>>>>>>>>>>>>>      submorphs:      an Array(a TaskbarMorph(3095) a
>>>>>>>>>>>>>> SystemWindow(171) a
>>>>>>>>>>>>>> PluggableStandar...etc...
>>>>>>>>>>>>>>      fullBounds:     nil
>>>>>>>>>>>>>>      color:  (Color r: 0.972 g: 0.972 b: 0.976)
>>>>>>>>>>>>>>      extension:      a MorphExtension (2543)
>>>>>>>>>>>>>> [eventHandler
>>>>>>>>>>>>>> = an
>>>>>>>>>>>>>> EventHandler]  [other:  (...etc...
>>>>>>>>>>>>>>      borderWidth:    0
>>>>>>>>>>>>>>      borderColor:    (Color r: 0.03 g: 0.02 b: 0.0)
>>>>>>>>>>>>>>      presenter:      a Presenter (1246)
>>>>>>>>>>>>>>      model:  a MorphicModel(1926)
>>>>>>>>>>>>>>      cursor:         1
>>>>>>>>>>>>>>      padding:        3
>>>>>>>>>>>>>>      backgroundMorph:        nil
>>>>>>>>>>>>>>      isPartsBin:     nil
>>>>>>>>>>>>>>      autoLineLayout:         false
>>>>>>>>>>>>>>      indicateCursor:         nil
>>>>>>>>>>>>>>      resizeToFit:    nil
>>>>>>>>>>>>>>      wantsMouseOverHalos:    nil
>>>>>>>>>>>>>>      worldState:     a WorldState
>>>>>>>>>>>>>>      griddingOn:     nil
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --- The full stack ---
>>>>>>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>>>>> RemoteString>>text
>>>>>>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>>>>>> CompiledMethod>>methodNode
>>>>>>>>>>>>>> [] in DebuggerMethodMap class>>forMethod:
>>>>>>>>>>>>>> WeakIdentityKeyDictionary(Dictionary)>>at:ifAbsent:
>>>>>>>>>>>>>> DebuggerMethodMap class>>forMethod:
>>>>>>>>>>>>>> CompiledMethod>>debuggerMap
>>>>>>>>>>>>>> OTClosureContextNode>>selection
>>>>>>>>>>>>>> OTClosureContextNode(OTContextNode)>>definition
>>>>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>node:
>>>>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>selectionChanged:
>>>>>>>>>>>>>> MessageSend>>valueWithArguments:
>>>>>>>>>>>>>> [] in ActionSequence>>valueWithArguments:
>>>>>>>>>>>>>> ActionSequence(SequenceableCollection)>>do:
>>>>>>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>>>>>>> [] in OBAnnouncer>>announce:
>>>>>>>>>>>>>> [] in IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>>>> IdentityDictionary(Set)>>do:
>>>>>>>>>>>>>> IdentityDictionary(Dictionary)>>associationsDo:
>>>>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>>>> OBAnnouncer>>announce:
>>>>>>>>>>>>>> OBColumnPanel>>jumpTo:
>>>>>>>>>>>>>> OTDebugger(OBBrowser)>>jumpTo:
>>>>>>>>>>>>>> OTDebugger class(OBBrowser
>>>>>>>>>>>>>> class)>>metaNode:root:selection:panels:
>>>>>>>>>>>>>> OTDebugger class(OBBrowser class)>>root:selection:
>>>>>>>>>>>>>> OTDebugger class>>process:context:errorWasInUIProcess:
>>>>>>>>>>>>>> OTDebugger
>>>>>>>>>>>>>> class>>process:context:label:errorWasInUIProcess:
>>>>>>>>>>>>>> OTDebugger
>>>>>>>>>>>>>> class>>openProcess:context:label:errorWasInUIProcess:
>>>>>>>>>>>>>> [] in OTPreDebugNode>>debug:
>>>>>>>>>>>>>> WorldState>>runStepMethodsIn:
>>>>>>>>>>>>>> PasteUpMorph>>runStepMethods
>>>>>>>>>>>>>> - - - - - - - - - - - - - - -
>>>>>>>>>>>>>>              - - - - - - - - - - - - - - - - - -
>>>>>>>>>>>>>> WorldState>>doOneCycleNowFor:
>>>>>>>>>>>>>> WorldState>>doOneCycleFor:
>>>>>>>>>>>>>> PasteUpMorph>>doOneCycle
>>>>>>>>>>>>>> [] in Project class>>spawnNewProcess
>>>>>>>>>>>>>> [] in BlockClosure>>newProcess
>>>>>>>>>>>>>> '
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> www.tudorgirba.com
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> "To lead is not to demand things, it is to make them
>>>>>>>>>>>>>> happen."
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>>>>>> [hidden email]
>>>>>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/
>>>>>>>>>>>>>> pharo-
>>>>>>>>>>>>>> project
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>>>>> [hidden email]
>>>>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>>>> [hidden email]
>>>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/ 
>>>>>>>>>>>> pharo-
>>>>>>>>>>>> project
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>>> [hidden email]
>>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>> [hidden email]
>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Pharo-project mailing list
>>>>>>>>> [hidden email]
>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>>>>> project
>>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Pharo-project mailing list
>>>>>>>> [hidden email]
>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> www.tudorgirba.com
>>>>>>>
>>>>>>> "It's not how it is, it is how we see it."
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Pharo-project mailing list
>>>>>>> [hidden email]
>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>>> project
>>>>>>>
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Pharo-project mailing list
>>>>> [hidden email]
>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo- 
>>>>> project
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> [hidden email]
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [hidden email]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>
>> --
>> www.tudorgirba.com
>>
>> "Some battles are better lost than fought."
>>
>>
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>

--
www.tudorgirba.com

"Value is always contextual."




_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: invalid utf8 input detected

Tudor Girba-3
In reply to this post by Stéphane Ducasse
Hi,

I attached here a DNU implementation I took from an older image. After  
filing this one in, I can debug DNU problems.

Cheers,
Doru






On 23 May 2009, at 13:04, Stéphane Ducasse wrote:

> I did the following
>
> (Object>>#doesNotUNderstand) getSourceFromFile and I get an  
> invalid....
>
> Now when I take another method
>
> (BalloonFontTest>>#testDefaultFont) I do not get problem.
>
> I will reread carefully the mails of nicolas to try to understand,
> I do not know if the fixes of yoh
>
> http://bugs.squeak.org/view.php?id=5996
> is related.
>
> Nicolas
>
>>> {Object>>#doesNotUnderstand:.
>>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>>> Utilities class>>#changeStampPerSe.
>>> Utilities class>>#methodsWithInitials:} collect: [:e | (e
>>> getSourceFromFile select: [:s | s charCode > 127]) asArray collect:
>>> [:c | c charCode]]
>
> I cannot get that code running it break before with me.
>
> Stef
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
--
www.tudorgirba.com

"Not knowing how to do something is not an argument for how it cannot  
be done."


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Object-doesNotUnderstand.st (1K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: invalid utf8 input detected

Stéphane Ducasse
In reply to this post by Adrian Lienhard
Now if I redefine Object#doesNotUnderstand
I can do a
        Object>>#doesNotUnderstand: getSourceFromFile


So may be we should give a try at the fixes of yoshiki and define a  
method with utf-8 and see if it breaks.
I do not have the time now (kids business)
[stef]


On May 23, 2009, at 1:01 PM, Adrian Lienhard wrote:

>
> On May 23, 2009, at 11:41 , Stéphane Ducasse wrote:
>
>> This is not a question of will.
>
> Yep. Somebody needs to sit down to find the root cause (Nicolas
> already made a start by identifying the potential package versions
> that introduced the bad chars).
>
> Same, if you want to get a simple workaround integrated. This is a 5
> minute task and anybody can do it (create a changeset with a clean
> source of doesNotUnderstand:).
>
> If nobody does it, Stef or I will eventually do it, but please don't
> expect us to put that at the top of our todo list. After all this is a
> community project.
>
> Adrian
>
>>
>>
>> Stef
>>
>> On May 23, 2009, at 12:01 AM, Tudor Girba wrote:
>>
>>> Hi,
>>>
>>> Could we not solve this for the couple of offending methods for the
>>> moment? Having a problem in Object>>doesNotUnderstand: makes the
>>> whole
>>> debugging a pain because I can actually not debug such a case.
>>>
>>> Cheers,
>>> Doru
>>>
>>>
>>> On 19 May 2009, at 22:03, Nicolas Cellier wrote:
>>>
>>>> I opened http://code.google.com/p/pharo/issues/detail?id=830
>>>>
>>>> I think other UTF-8 issues are different:
>>>> Two for FileBrowser :
>>>> http://code.google.com/p/pharo/issues/detail?id=370
>>>> http://code.google.com/p/pharo/issues/detail?id=513
>>>> One about VM crash :
>>>> http://code.google.com/p/pharo/issues/detail?id=744
>>>>
>>>> Nicolas
>>>>
>>>> 2009/5/19 Stéphane Ducasse <[hidden email]>:
>>>>> thanks for making progress on this front.
>>>>>
>>>>> On May 19, 2009, at 6:40 PM, Nicolas Cellier wrote:
>>>>>
>>>>>>> From what I see in a 10304, all these methods had a non ASCII
>>>>>> character in comment:
>>>>>>
>>>>>> {Object>>#doesNotUnderstand:.
>>>>>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>>>>>> Utilities class>>#changeStampPerSe.
>>>>>> Utilities class>>#methodsWithInitials:} collect: [:e | (e
>>>>>> getSourceFromFile select: [:s | s charCode > 127]) asArray
>>>>>> collect:
>>>>>> [:c | c charCode]]
>>>>>> #(#(160 160) #(172 143 172 143) #(183) #(246))
>>>>>> That is:
>>>>>>
>>>>>> an Array(a Text for '  ' a Text for '¬∂¬∂' a Text for '·'  
>>>>>> a
>>>>>> Text for 'ö')
>>>>>> First are non breaking space.
>>>>>> Last but ones are not rendered same in Squeak.
>>>>>>
>>>>>> These four methods are changed in:
>>>>>> - Kernel-stephane_ducasse.renggli.319.mcz
>>>>>> - System-Support-stephane_ducasse.20.mcz
>>>>>> If I merge 10305 manually, I get some decompiled code in the  
>>>>>> merge
>>>>>> window.
>>>>>> So there might be a problem already either in Monticello or in
>>>>>> the .mcz.
>>>>>> After the merge, there is decomipled code in the changes and no
>>>>>> error
>>>>>> when executing above code.
>>>>>>
>>>>>> If I load instead of merging, then I also get the decompiled code
>>>>>> in
>>>>>> the change log, so I can't reproduce completely the faulty
>>>>>> behavior
>>>>>> (having an invalid utf-8 notifier), maybe because the process is
>>>>>> no
>>>>>> the same when there are conflicts...
>>>>>>
>>>>>> If I extract .mcz contents, I can read contents from FileBrowser.
>>>>>> But
>>>>>> it does not use an UTF-8 encoding...
>>>>>> I can't say if the encoding is macRoman or ISO8859L1 or CP1252 or
>>>>>> what, but what I can say is that the source.st is not UTF-8
>>>>>> encoded.
>>>>>>
>>>>>> So without searching further I guess here lies the problems:
>>>>>> transfer
>>>>>> of raw bytes from non UTF-8 .mcz/source.st to the UTF-8 .changes
>>>>>> change-log...
>>>>>>
>>>>>> Every time we'll modify a method with a Character code > 127, we
>>>>>> will
>>>>>> likely create an invalid UTF-8 bug or get some decompiled code,  
>>>>>> or
>>>>>> corrupt source code in extreme case...
>>>>>>
>>>>>> Could the Monticello / UTF-8 experts confirm my guess ?
>>>>>>
>>>>>> Nicolas
>>>>>>
>>>>>> 2009/5/17 Nicolas Cellier <[hidden email]>:
>>>>>>> OK,
>>>>>>>
>>>>>>> {Object>>#doesNotUnderstand:.
>>>>>>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>>>>>>> Utilities class>>#changeStampPerSe.
>>>>>>> Utilities class>>#methodsWithInitials:} collect: [:e | e
>>>>>>> getSourceFromFile].
>>>>>>>
>>>>>>> does not fail for me, BUT all these sources look like
>>>>>>> decompileString.
>>>>>>> I guess this is dating from the condenseChanges that occured in
>>>>>>> #update10298
>>>>>>> Change log prior to this update should have the problem.
>>>>>>>
>>>>>>> Nicolas
>>>>>>>
>>>>>>> 2009/5/17 Tudor Girba <[hidden email]>:
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I ran the snippet you sent on both 304cl and 306cl and I get  
>>>>>>>> the
>>>>>>>> following list:
>>>>>>>>
>>>>>>>> Object->#doesNotUnderstand:
>>>>>>>> SystemNavigation->#browseMethodsWhoseNamesContain:
>>>>>>>> Utilities class->#changeStampPerSe
>>>>>>>> Utilities class->#methodsWithInitials:
>>>>>>>>
>>>>>>>> Indeed, most of the annoyances are due to the
>>>>>>>> Object>>doesNotUnderstand: because when I get a DNU I am stuck
>>>>>>>> (and I
>>>>>>>> feel like in Java :)).
>>>>>>>>
>>>>>>>> I am not sure I understand if there is a fix to the problem.
>>>>>>>>
>>>>>>>> Cheers,
>>>>>>>> Doru
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On 17 May 2009, at 12:06, Nicolas Cellier wrote:
>>>>>>>>
>>>>>>>>> There's something weird... If you hit var (UndefinedObject)
>>>>>>>>> doesNotUnderstand: #value: that means there were a problem the
>>>>>>>>> first
>>>>>>>>> time.
>>>>>>>>>
>>>>>>>>> Unfortunately, due to bug in MethodContext tempNames, we don't
>>>>>>>>> know
>>>>>>>>> the class and selector guilty.
>>>>>>>>> From the set of selectors I can see this is Object.
>>>>>>>>> From the source file position, I cannot say anything because I
>>>>>>>>> do
>>>>>>>>> not
>>>>>>>>> have same change log history (sorry, own image).
>>>>>>>>>
>>>>>>>>> You could try
>>>>>>>>> (SourceFiles at: 2) readOnlyCopy position: 10007336; nextChunk
>>>>>>>>>
>>>>>>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>>>>>>> sorry for not checking either.
>>>>>>>>>> When I run this code I indeed do not have a problem on  
>>>>>>>>>> 10306cl
>>>>>>>>>>
>>>>>>>>>> stef
>>>>>>>>>>
>>>>>>>>>> On May 17, 2009, at 11:36 AM, Nicolas Cellier wrote:
>>>>>>>>>>
>>>>>>>>>>> Sure, a key stroke error, it's bar value:, not var value:,
>>>>>>>>>>> This @!* workspace takes it as global without a warning....
>>>>>>>>>>>
>>>>>>>>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>>>>>>>>> Nicolas
>>>>>>>>>>>>
>>>>>>>>>>>> when I run your script on the license looking for image
>>>>>>>>>>>> I got using 10306cl
>>>>>>>>>>>>
>>>>>>>>>>>> I get the following error:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> VM: Mac OS - intel - 1056 - Squeak3.8.1 of '28 Aug
>>>>>>>>>>>> 2006' [latest
>>>>>>>>>>>> update: #6747] Squeak VM 4.1.1b2
>>>>>>>>>>>> Image: Pharo0.1 [Latest update: #10306]
>>>>>>>>>>>>
>>>>>>>>>>>> SecurityManager state:
>>>>>>>>>>>> Restricted: false
>>>>>>>>>>>> FileAccess: true
>>>>>>>>>>>> SocketAccess: true
>>>>>>>>>>>> Working Dir /Data/squeak4.0-relicenseTools/history
>>>>>>>>>>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>>>>>>>>>>>> Untrusted Dir /Users/ducasse/Library/Preferences/Squeak/
>>>>>>>>>>>> Internet/My
>>>>>>>>>>>> Squeak
>>>>>>>>>>>>
>>>>>>>>>>>> UndefinedObject(Object)>>doesNotUnderstand: #value:
>>>>>>>>>>>> Receiver: nil
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>> <<error during printing>
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>> nil
>>>>>>>>>>>>
>>>>>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>>>> Receiver: nil
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>> <<error during printing>
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>> nil
>>>>>>>>>>>>
>>>>>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>>>>> Receiver: [closure] in [] in [] in [] in
>>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>       anArray:        an Array('Error: Invalid utf8 input
>>>>>>>>>>>> detected' an
>>>>>>>>>>>> UTF8TextConverter)
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>>       outerContext:   [] in [] in [] in
>>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>>>       startpc:        183
>>>>>>>>>>>>       numArgs:        0
>>>>>>>>>>>>
>>>>>>>>>>>> [] in BlockClosure>>ifError:
>>>>>>>>>>>> Receiver: [closure] in [] in [] in [] in
>>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>       errorHandlerBlock:      Error: Invalid utf8 input
>>>>>>>>>>>> detected
>>>>>>>>>>>>       ex:     [closure] in [] in [] in [] in
>>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>>       outerContext:   [] in [] in [] in
>>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>>>       startpc:        171
>>>>>>>>>>>>       numArgs:        0
>>>>>>>>>>>>
>>>>>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>>>>> Receiver: [closure] in BlockClosure>>ifError:
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>       anArray:        an Array(Error: Invalid utf8 input
>>>>>>>>>>>> detected)
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>>       outerContext:   BlockClosure>>ifError:
>>>>>>>>>>>>       startpc:        40
>>>>>>>>>>>>       numArgs:        1
>>>>>>>>>>>>
>>>>>>>>>>>> [] in MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>>> Receiver: BlockClosure>>on:do:
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>> <<error during printing>
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>>       sender:         BlockClosure>>ifError:
>>>>>>>>>>>>       pc:     17
>>>>>>>>>>>>       stackp:         3
>>>>>>>>>>>>       method:         a CompiledMethod (2306)
>>>>>>>>>>>>       closureOrNil:   nil
>>>>>>>>>>>>       receiver:       [closure] in [] in [] in [] in
>>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>>>
>>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>>> Receiver: [closure] in
>>>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>       aBlock:         [closure] in
>>>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>>>       returnValue:    nil
>>>>>>>>>>>>       b:      nil
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>>       outerContext:
>>>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>>>       startpc:        90
>>>>>>>>>>>>       numArgs:        0
>>>>>>>>>>>>
>>>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>>> Receiver: BlockClosure>>on:do:
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>       exception:      Error: Invalid utf8 input detected
>>>>>>>>>>>>       val:    nil
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>>       sender:         BlockClosure>>ifError:
>>>>>>>>>>>>       pc:     17
>>>>>>>>>>>>       stackp:         3
>>>>>>>>>>>>       method:         a CompiledMethod (2306)
>>>>>>>>>>>>       closureOrNil:   nil
>>>>>>>>>>>>       receiver:       [closure] in [] in [] in [] in
>>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>>>
>>>>>>>>>>>> Error(Exception)>>signal
>>>>>>>>>>>> Receiver: Error: Invalid utf8 input detected
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>>       messageText:    'Invalid utf8 input detected'
>>>>>>>>>>>>       tag:    nil
>>>>>>>>>>>>       signalContext:  Error(Exception)>>signal
>>>>>>>>>>>>       handlerContext:         BlockClosure>>on:do:
>>>>>>>>>>>>       outerContext:   nil
>>>>>>>>>>>>
>>>>>>>>>>>> Error(Exception)>>signal:
>>>>>>>>>>>> Receiver: Error: Invalid utf8 input detected
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>       signalerText:   'Invalid utf8 input detected'
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>>       messageText:    'Invalid utf8 input detected'
>>>>>>>>>>>>       tag:    nil
>>>>>>>>>>>>       signalContext:  Error(Exception)>>signal
>>>>>>>>>>>>       handlerContext:         BlockClosure>>on:do:
>>>>>>>>>>>>       outerContext:   nil
>>>>>>>>>>>>
>>>>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>       aString:        'Invalid utf8 input detected'
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>>
>>>>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>>
>>>>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>       aStream:        MultiByteFileStream: '/Data/
>>>>>>>>>>>> squeak4.0-
>>>>>>>>>>>> relicenseTools/
>>>>>>>>>>>> history/Pharo0.1C...etc...
>>>>>>>>>>>>       character1:     $
>>>>>>>>>>>>       value1:         160
>>>>>>>>>>>>       character2:     Character tab
>>>>>>>>>>>>       value2:         9
>>>>>>>>>>>>       unicode:        nil
>>>>>>>>>>>>       character3:     Character tab
>>>>>>>>>>>>       value3:         9
>>>>>>>>>>>>       character4:     nil
>>>>>>>>>>>>       value4:         nil
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>>
>>>>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>>>> Receiver: MultiByteFileStream: '/Data/squeak4.0-
>>>>>>>>>>>> relicenseTools/
>>>>>>>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>       char:   nil
>>>>>>>>>>>>       secondChar:     nil
>>>>>>>>>>>>       state:  nil
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>>>> Receiver: MultiByteFileStream: '/Data/squeak4.0-
>>>>>>>>>>>> relicenseTools/
>>>>>>>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>       terminator:     $!
>>>>>>>>>>>>       out:    a WriteStream 'doesNotUnderstand: aMessage
>>>>>>>>>>>> "Handle the fact that there ...etc...
>>>>>>>>>>>>       ch:     Character cr
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>>>> Receiver: MultiByteFileStream: '/Data/squeak4.0-
>>>>>>>>>>>> relicenseTools/
>>>>>>>>>>>> history/Pharo0.1Core-10306clreadytowo...etc...
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>       string:         nil
>>>>>>>>>>>>       runsRaw:        nil
>>>>>>>>>>>>       strm:   nil
>>>>>>>>>>>>       runs:   nil
>>>>>>>>>>>>       peek:   nil
>>>>>>>>>>>>       pos:    nil
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>>>> Receiver: a RemoteString
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>       theFile:        MultiByteFileStream: '/Data/
>>>>>>>>>>>> squeak4.0-
>>>>>>>>>>>> relicenseTools/
>>>>>>>>>>>> history/Pharo0.1C...etc...
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>>       sourceFileNumber:       2
>>>>>>>>>>>>       filePositionHi:         10007336
>>>>>>>>>>>>
>>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>>> Receiver: [closure] in RemoteString>>text
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>       aBlock:         [closure] in RemoteString>>text
>>>>>>>>>>>>       returnValue:    nil
>>>>>>>>>>>>       b:      nil
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>>       outerContext:   RemoteString>>text
>>>>>>>>>>>>       startpc:        72
>>>>>>>>>>>>       numArgs:        0
>>>>>>>>>>>>
>>>>>>>>>>>> RemoteString>>text
>>>>>>>>>>>> Receiver: a RemoteString
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>       theFile:        MultiByteFileStream: '/Data/
>>>>>>>>>>>> squeak4.0-
>>>>>>>>>>>> relicenseTools/
>>>>>>>>>>>> history/Pharo0.1C...etc...
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>>       sourceFileNumber:       2
>>>>>>>>>>>>       filePositionHi:         10007336
>>>>>>>>>>>>
>>>>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>       position:       10007336
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>>>
>>>>>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>>>> Receiver: nil
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>> <<error during printing>
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>> nil
>>>>>>>>>>>>
>>>>>>>>>>>> BlockClosure>>on:do:
>>>>>>>>>>>> Receiver: [closure] in [] in [] in [] in
>>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>       exception:      Error
>>>>>>>>>>>>       handlerAction:  [closure] in BlockClosure>>ifError:
>>>>>>>>>>>>       handlerActive:  false
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>>       outerContext:   [] in [] in [] in
>>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>>>       startpc:        171
>>>>>>>>>>>>       numArgs:        0
>>>>>>>>>>>>
>>>>>>>>>>>> BlockClosure>>ifError:
>>>>>>>>>>>> Receiver: [closure] in [] in [] in [] in
>>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>       errorHandlerBlock:      [closure] in [] in [] in []
>>>>>>>>>>>> in
>>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>>       outerContext:   [] in [] in [] in
>>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>>>       startpc:        171
>>>>>>>>>>>>       numArgs:        0
>>>>>>>>>>>>
>>>>>>>>>>>> [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>>>> Receiver: nil
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>> <<error during printing>
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>> nil
>>>>>>>>>>>>
>>>>>>>>>>>> IdentitySet(Set)>>do:
>>>>>>>>>>>> Receiver: an IdentitySet(#name #inheritsFromAnyIn: #asOop
>>>>>>>>>>>> #isWebBrowser #storeOnStream: #wantsDroppe...etc...
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>       aBlock:         [closure] in [] in [] in
>>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>>>       index:  394
>>>>>>>>>>>>       each:   #doesNotUnderstand:
>>>>>>>>>>>>       indexLimiT:     498
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>>       tally:  373
>>>>>>>>>>>>       array:  #(nil nil #name nil #inheritsFromAnyIn:
>>>>>>>>>>>> #asOop nil nil
>>>>>>>>>>>> #isWebBrowser nil...etc...
>>>>>>>>>>>>
>>>>>>>>>>>> [] in [] in UndefinedObject>>DoIt
>>>>>>>>>>>> Receiver: nil
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>> <<error during printing>
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>> nil
>>>>>>>>>>>>
>>>>>>>>>>>> [] in ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>>>> Receiver: ProtoObject
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>       aBlock:         Object
>>>>>>>>>>>>       cl:     [closure] in [] in UndefinedObject>>DoIt
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>>       superclass:     nil
>>>>>>>>>>>>       methodDict:     a MethodDictionary(#'=='->a
>>>>>>>>>>>> CompiledMethod (602)
>>>>>>>>>>>> #become:->a Compil...etc...
>>>>>>>>>>>>       format:         2
>>>>>>>>>>>>       instanceVariables:      nil
>>>>>>>>>>>>       organization:   ('apply primitives' tryNamedPrimitive
>>>>>>>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>>>>>>>       subclasses:     {Object . ObjectOut .
>>>>>>>>>>>> ImageSegmentRootStub .
>>>>>>>>>>>> MessageCatcher . TestC...etc...
>>>>>>>>>>>>       name:   #ProtoObject
>>>>>>>>>>>>       classPool:      nil
>>>>>>>>>>>>       sharedPools:    nil
>>>>>>>>>>>>       environment:    nil
>>>>>>>>>>>>       category:       #'Kernel-Objects'
>>>>>>>>>>>>       traitComposition:       nil
>>>>>>>>>>>>       localSelectors:         nil
>>>>>>>>>>>>
>>>>>>>>>>>> Array(SequenceableCollection)>>do:
>>>>>>>>>>>> Receiver: {Object . ObjectOut . ImageSegmentRootStub .
>>>>>>>>>>>> MessageCatcher . TestCoverage}
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>       aBlock:         [closure] in ProtoObject
>>>>>>>>>>>> class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>>>>       index:  1
>>>>>>>>>>>>       indexLimiT:     5
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>> {Object . ObjectOut . ImageSegmentRootStub .
>>>>>>>>>>>> MessageCatcher .
>>>>>>>>>>>> TestCoverage}
>>>>>>>>>>>>
>>>>>>>>>>>> ProtoObject class(Class)>>subclassesDoGently:
>>>>>>>>>>>> Receiver: ProtoObject
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>       aBlock:         [closure] in ProtoObject
>>>>>>>>>>>> class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>>       superclass:     nil
>>>>>>>>>>>>       methodDict:     a MethodDictionary(#'=='->a
>>>>>>>>>>>> CompiledMethod (602)
>>>>>>>>>>>> #become:->a Compil...etc...
>>>>>>>>>>>>       format:         2
>>>>>>>>>>>>       instanceVariables:      nil
>>>>>>>>>>>>       organization:   ('apply primitives' tryNamedPrimitive
>>>>>>>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>>>>>>>       subclasses:     {Object . ObjectOut .
>>>>>>>>>>>> ImageSegmentRootStub .
>>>>>>>>>>>> MessageCatcher . TestC...etc...
>>>>>>>>>>>>       name:   #ProtoObject
>>>>>>>>>>>>       classPool:      nil
>>>>>>>>>>>>       sharedPools:    nil
>>>>>>>>>>>>       environment:    nil
>>>>>>>>>>>>       category:       #'Kernel-Objects'
>>>>>>>>>>>>       traitComposition:       nil
>>>>>>>>>>>>       localSelectors:         nil
>>>>>>>>>>>>
>>>>>>>>>>>> ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>>>> Receiver: ProtoObject
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>       aBlock:         [closure] in [] in
>>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>>       superclass:     nil
>>>>>>>>>>>>       methodDict:     a MethodDictionary(#'=='->a
>>>>>>>>>>>> CompiledMethod (602)
>>>>>>>>>>>> #become:->a Compil...etc...
>>>>>>>>>>>>       format:         2
>>>>>>>>>>>>       instanceVariables:      nil
>>>>>>>>>>>>       organization:   ('apply primitives' tryNamedPrimitive
>>>>>>>>>>>> tryNamedPrimitive: tryNamed...etc...
>>>>>>>>>>>>       subclasses:     {Object . ObjectOut .
>>>>>>>>>>>> ImageSegmentRootStub .
>>>>>>>>>>>> MessageCatcher . TestC...etc...
>>>>>>>>>>>>       name:   #ProtoObject
>>>>>>>>>>>>       classPool:      nil
>>>>>>>>>>>>       sharedPools:    nil
>>>>>>>>>>>>       environment:    nil
>>>>>>>>>>>>       category:       #'Kernel-Objects'
>>>>>>>>>>>>       traitComposition:       nil
>>>>>>>>>>>>       localSelectors:         nil
>>>>>>>>>>>>
>>>>>>>>>>>> SystemNavigation>>allBehaviorsDo:
>>>>>>>>>>>> Receiver: a SystemNavigation
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>       aBlock:         [closure] in [] in
>>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>>       browserClass:   nil
>>>>>>>>>>>>       hierarchyBrowserClass:  nil
>>>>>>>>>>>>
>>>>>>>>>>>> [] in UndefinedObject>>DoIt
>>>>>>>>>>>> Receiver: nil
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>> <<error during printing>
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>> nil
>>>>>>>>>>>>
>>>>>>>>>>>> [] in ProgressInitiationException>>defaultAction
>>>>>>>>>>>> Receiver: ProgressInitiationException
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>       progress:       [closure] in
>>>>>>>>>>>> SystemProgressMorph>>label:min:max:
>>>>>>>>>>>>       result:         #(nil)
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>>       messageText:    nil
>>>>>>>>>>>>       tag:    nil
>>>>>>>>>>>>       signalContext:
>>>>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>>>>       handlerContext:         nil
>>>>>>>>>>>>       outerContext:   nil
>>>>>>>>>>>>       workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>>>>>>>       maxVal:         3874
>>>>>>>>>>>>       minVal:         0
>>>>>>>>>>>>       aPoint:         840@306
>>>>>>>>>>>>       progressTitle:  'Searching UTF-8 Problems...'
>>>>>>>>>>>>
>>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>>> Receiver: [closure] in
>>>>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>       aBlock:         [closure] in
>>>>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>>>>       returnValue:    nil
>>>>>>>>>>>>       b:      nil
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>>       outerContext:
>>>>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>>>>       startpc:        49
>>>>>>>>>>>>       numArgs:        0
>>>>>>>>>>>>
>>>>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>>>> Receiver: ProgressInitiationException
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>       progress:       [closure] in
>>>>>>>>>>>> SystemProgressMorph>>label:min:max:
>>>>>>>>>>>>       result:         #(nil)
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>>       messageText:    nil
>>>>>>>>>>>>       tag:    nil
>>>>>>>>>>>>       signalContext:
>>>>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>>>>       handlerContext:         nil
>>>>>>>>>>>>       outerContext:   nil
>>>>>>>>>>>>       workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>>>>>>>       maxVal:         3874
>>>>>>>>>>>>       minVal:         0
>>>>>>>>>>>>       aPoint:         840@306
>>>>>>>>>>>>       progressTitle:  'Searching UTF-8 Problems...'
>>>>>>>>>>>>
>>>>>>>>>>>> UndefinedObject>>handleSignal:
>>>>>>>>>>>> Receiver: nil
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>       exception:      ProgressInitiationException
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>> nil
>>>>>>>>>>>>
>>>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>>> Receiver: BlockClosure>>on:do:
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>       exception:      ProgressInitiationException
>>>>>>>>>>>>       val:    nil
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>>       sender:         PasteUpMorph>>becomeActiveDuring:
>>>>>>>>>>>>       pc:     17
>>>>>>>>>>>>       stackp:         3
>>>>>>>>>>>>       method:         a CompiledMethod (2306)
>>>>>>>>>>>>       closureOrNil:   nil
>>>>>>>>>>>>       receiver:       [closure] in
>>>>>>>>>>>> PasteUpMorph>>becomeActiveDuring:
>>>>>>>>>>>>
>>>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>>> Receiver: BlockClosure>>on:do:
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>       exception:      ProgressInitiationException
>>>>>>>>>>>>       val:    nil
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>>       sender:
>>>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>>>>>       pc:     17
>>>>>>>>>>>>       stackp:         3
>>>>>>>>>>>>       method:         a CompiledMethod (2306)
>>>>>>>>>>>>       closureOrNil:   nil
>>>>>>>>>>>>       receiver:       [closure] in
>>>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>>>>>
>>>>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>>>> Receiver: ProgressInitiationException
>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>
>>>>>>>>>>>> Receiver's instance variables:
>>>>>>>>>>>>       messageText:    nil
>>>>>>>>>>>>       tag:    nil
>>>>>>>>>>>>       signalContext:
>>>>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>>>>       handlerContext:         nil
>>>>>>>>>>>>       outerContext:   nil
>>>>>>>>>>>>       workBlock:      [closure] in UndefinedObject>>DoIt
>>>>>>>>>>>>       maxVal:         3874
>>>>>>>>>>>>       minVal:         0
>>>>>>>>>>>>       aPoint:         840@306
>>>>>>>>>>>>       progressTitle:  'Searching UTF-8 Problems...'
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --- The full stack ---
>>>>>>>>>>>> UndefinedObject(Object)>>doesNotUnderstand: #value:
>>>>>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>>>>> [] in BlockClosure>>ifError:
>>>>>>>>>>>> BlockClosure>>valueWithPossibleArgs:
>>>>>>>>>>>> [] in MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>>> Error(Exception)>>signal
>>>>>>>>>>>> Error(Exception)>>signal:
>>>>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>>> RemoteString>>text
>>>>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>>>> [] in [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>>>> BlockClosure>>on:do:
>>>>>>>>>>>> BlockClosure>>ifError:
>>>>>>>>>>>> [] in [] in [] in UndefinedObject>>DoIt
>>>>>>>>>>>> IdentitySet(Set)>>do:
>>>>>>>>>>>> [] in [] in UndefinedObject>>DoIt
>>>>>>>>>>>> [] in ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>>>> Array(SequenceableCollection)>>do:
>>>>>>>>>>>> ProtoObject class(Class)>>subclassesDoGently:
>>>>>>>>>>>> ProtoObject class(Behavior)>>allSubclassesDoGently:
>>>>>>>>>>>> SystemNavigation>>allBehaviorsDo:
>>>>>>>>>>>> [] in UndefinedObject>>DoIt
>>>>>>>>>>>> [] in ProgressInitiationException>>defaultAction
>>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>>> ProgressInitiationException>>defaultAction
>>>>>>>>>>>> UndefinedObject>>handleSignal:
>>>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>>> MethodContext(ContextPart)>>handleSignal:
>>>>>>>>>>>> ProgressInitiationException(Exception)>>signal
>>>>>>>>>>>> - - - - - - - - - - - - - - -
>>>>>>>>>>>>               - - - - - - - - - - - - - - - - - -
>>>>>>>>>>>> ProgressInitiationException>>display:at:from:to:during:
>>>>>>>>>>>> ProgressInitiationException
>>>>>>>>>>>> class>>display:at:from:to:during:
>>>>>>>>>>>> ByteString(String)>>displayProgressAt:from:to:during:
>>>>>>>>>>>> UndefinedObject>>DoIt
>>>>>>>>>>>> Compiler>>evaluate:in:to:notifying:ifFail:logged:
>>>>>>>>>>>> [] in TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>>>>> BlockClosure>>on:do:
>>>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>evaluateSelection
>>>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>doIt
>>>>>>>>>>>> [] in TextMorphEditor(ParagraphEditor)>>doIt:
>>>>>>>>>>>> TextMorphEditor
>>>>>>>>>>>> (ParagraphEditor)>>terminateAndInitializeAround:
>>>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>doIt:
>>>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>dispatchOnKeyEvent:with:
>>>>>>>>>>>> TextMorphEditor>>dispatchOnKeyEvent:with:
>>>>>>>>>>>> TextMorphEditor(ParagraphEditor)>>keystroke:
>>>>>>>>>>>> TextMorphEditor>>keystroke:
>>>>>>>>>>>> [] in TextMorphForEditView(TextMorph)>>keyStroke:
>>>>>>>>>>>> TextMorphForEditView(TextMorph)>>handleInteraction:
>>>>>>>>>>>> TextMorphForEditView>>handleInteraction:
>>>>>>>>>>>> TextMorphForEditView(TextMorph)>>keyStroke:
>>>>>>>>>>>> TextMorphForEditView>>keyStroke:
>>>>>>>>>>>> TextMorphForEditView(TextMorph)>>handleKeystroke:
>>>>>>>>>>>> KeyboardEvent>>sentTo:
>>>>>>>>>>>> TextMorphForEditView(Morph)>>handleEvent:
>>>>>>>>>>>> TextMorphForEditView(Morph)>>handleFocusEvent:
>>>>>>>>>>>> [] in HandMorph>>sendFocusEvent:to:clear:
>>>>>>>>>>>> [] in PasteUpMorph>>becomeActiveDuring:
>>>>>>>>>>>> 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
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On May 17, 2009, at 11:13 AM, Nicolas Cellier wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> One solution would be to use getSource rather than
>>>>>>>>>>>>> getSourceFromFile.
>>>>>>>>>>>>> However, with following code I detected no problem in my
>>>>>>>>>>>>> pharo-
>>>>>>>>>>>>> core
>>>>>>>>>>>>> copy (10281 updated to 10306)
>>>>>>>>>>>>>
>>>>>>>>>>>>> | problems total |
>>>>>>>>>>>>> problems := OrderedCollection new.
>>>>>>>>>>>>> total := 0.
>>>>>>>>>>>>> SystemNavigation default allBehaviorsDo: [:cl | total :=
>>>>>>>>>>>>> total +
>>>>>>>>>>>>> 1].
>>>>>>>>>>>>> 'Searching UTF-8 Problems...'
>>>>>>>>>>>>> displayProgressAt: Sensor cursorPoint
>>>>>>>>>>>>> from: 0 to: total
>>>>>>>>>>>>> during:
>>>>>>>>>>>>>      [:bar | | count |
>>>>>>>>>>>>>      count := 0.
>>>>>>>>>>>>>      SystemNavigation default allBehaviorsDo: [:cl |
>>>>>>>>>>>>>              bar value: (count := count + 1).
>>>>>>>>>>>>>              cl selectors do: [:sel |
>>>>>>>>>>>>>                      [(cl compiledMethodAt: sel)
>>>>>>>>>>>>> getSourceFromFile] ifError: [
>>>>>>>>>>>>>                              var value: 'last problem
>>>>>>>>>>>>> found ' , cl name , '>>#' , sel.
>>>>>>>>>>>>>                              problems add: cl->sel]]]].
>>>>>>>>>>>>> ^problems
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> 2009/5/17 Stéphane Ducasse <[hidden email]>:
>>>>>>>>>>>>>> yes same here.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On May 17, 2009, at 2:10 AM, Tudor Girba wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Recently I encounter a strange error:
>>>>>>>>>>>>>>> - I sometimes get a debugger due to some problems in my
>>>>>>>>>>>>>>> code
>>>>>>>>>>>>>>> - when I try to investigate the trace, I get another
>>>>>>>>>>>>>>> debugger
>>>>>>>>>>>>>>> saying
>>>>>>>>>>>>>>> that "Invalid utf8 input detected'"
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> This second debugger I can investigate, the previous  
>>>>>>>>>>>>>>> not.
>>>>>>>>>>>>>>> It
>>>>>>>>>>>>>>> looks
>>>>>>>>>>>>>>> like something got messed up with the text conversion of
>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>> sources.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I am working on 10306 using the 4.1.1b2 VM on Mac. The
>>>>>>>>>>>>>>> code
>>>>>>>>>>>>>>> I am
>>>>>>>>>>>>>>> working on is loaded from squeaksource (Moose, Glamour,
>>>>>>>>>>>>>>> Mondrian).
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Anyone can confirm this problem?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Cheers,
>>>>>>>>>>>>>>> Doru
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> ----ERROR REPORT----
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> '17 May 2009 2:05:50 am
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> VM: Mac OS - intel - 1056 - Squeak3.8.1 of ''28 Aug
>>>>>>>>>>>>>>> 2006'' [latest
>>>>>>>>>>>>>>> update: #6747] Squeak VM 4.1.1b2
>>>>>>>>>>>>>>> Image: Pharo0.1 [Latest update: #10306]
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> SecurityManager state:
>>>>>>>>>>>>>>> Restricted: false
>>>>>>>>>>>>>>> FileAccess: true
>>>>>>>>>>>>>>> SocketAccess: true
>>>>>>>>>>>>>>> Working Dir /Users/girba/Work/Code/squeakingmoose
>>>>>>>>>>>>>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>>>>>>>>>>>>>>> Untrusted Dir /Users/girba/Library/Preferences/Squeak/
>>>>>>>>>>>>>>> Internet/
>>>>>>>>>>>>>>> My
>>>>>>>>>>>>>>> Squeak
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>     aString:        ''Invalid utf8 input detected''
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>>>>>>> Receiver: an UTF8TextConverter
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>     aStream:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>>>>>>>> Work/Code/
>>>>>>>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>>>>>>>     character1:     $
>>>>>>>>>>>>>>>     value1:         160
>>>>>>>>>>>>>>>     character2:     Character tab
>>>>>>>>>>>>>>>     value2:         9
>>>>>>>>>>>>>>>     unicode:        nil
>>>>>>>>>>>>>>>     character3:     Character tab
>>>>>>>>>>>>>>>     value3:         9
>>>>>>>>>>>>>>>     character4:     nil
>>>>>>>>>>>>>>>     value4:         nil
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>> an UTF8TextConverter
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>     char:   nil
>>>>>>>>>>>>>>>     secondChar:     nil
>>>>>>>>>>>>>>>     state:  nil
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>     terminator:     $!
>>>>>>>>>>>>>>>     out:    a WriteStream ''doesNotUnderstand: aMessage
>>>>>>>>>>>>>>> "Handle the fact that there ...etc...
>>>>>>>>>>>>>>>     ch:     Character cr
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>>>>>>> Receiver: MultiByteFileStream: ''/Users/girba/Work/Code/
>>>>>>>>>>>>>>> squeakingmoose/moose.changes''
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>     string:         nil
>>>>>>>>>>>>>>>     runsRaw:        nil
>>>>>>>>>>>>>>>     strm:   nil
>>>>>>>>>>>>>>>     runs:   nil
>>>>>>>>>>>>>>>     peek:   nil
>>>>>>>>>>>>>>>     pos:    nil
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>>>>>>> Receiver: a RemoteString
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>     theFile:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>>>>>>>> Work/Code/
>>>>>>>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>>     sourceFileNumber:       2
>>>>>>>>>>>>>>>     filePositionHi:         10007336
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>>>>>> Receiver: [closure] in RemoteString>>text
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>     aBlock:         [closure] in RemoteString>>text
>>>>>>>>>>>>>>>     returnValue:    nil
>>>>>>>>>>>>>>>     b:      nil
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>>     outerContext:   RemoteString>>text
>>>>>>>>>>>>>>>     startpc:        72
>>>>>>>>>>>>>>>     numArgs:        0
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> RemoteString>>text
>>>>>>>>>>>>>>> Receiver: a RemoteString
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>     theFile:        MultiByteFileStream: ''/Users/girba/
>>>>>>>>>>>>>>> Work/Code/
>>>>>>>>>>>>>>> squeakingmoose/moose.chan...etc...
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>>     sourceFileNumber:       2
>>>>>>>>>>>>>>>     filePositionHi:         10007336
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>     position:       10007336
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> CompiledMethod>>methodNode
>>>>>>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>     aClass:         Object
>>>>>>>>>>>>>>>     source:         nil
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> [] in DebuggerMethodMap class>>forMethod:
>>>>>>>>>>>>>>> Receiver: DebuggerMethodMap
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>     aMethod:        a CompiledMethod (838)
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>>     superclass:     Object
>>>>>>>>>>>>>>>     methodDict:     a
>>>>>>>>>>>>>>> MethodDictionary(#abstractSourceMap-
>>>>>>>>>>>>>>>> a CompiledMethod
>>>>>>>>>>>>>>> (1628) #for...etc...
>>>>>>>>>>>>>>>     format:         140
>>>>>>>>>>>>>>>     instanceVariables:      #(''timestamp''
>>>>>>>>>>>>>>> ''methodReference''
>>>>>>>>>>>>>>> ''methodNode'' ''abstractSource...etc...
>>>>>>>>>>>>>>>     organization:   (''initialize-release''
>>>>>>>>>>>>>>> forMethod:methodNode:)
>>>>>>>>>>>>>>> (''accessing'' markRec...etc...
>>>>>>>>>>>>>>>     subclasses:
>>>>>>>>>>>>>>> {DebuggerMethodMapForBlueBookMethods .
>>>>>>>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>>>>>>>     name:   #DebuggerMethodMap
>>>>>>>>>>>>>>>     classPool:      a Dictionary(#MapCache->a
>>>>>>>>>>>>>>> WeakIdentityKeyDictionary(a
>>>>>>>>>>>>>>> CompiledMethod...etc...
>>>>>>>>>>>>>>>     sharedPools:    nil
>>>>>>>>>>>>>>>     environment:    Smalltalk
>>>>>>>>>>>>>>>     category:       #''Tools-Debugger''
>>>>>>>>>>>>>>>     traitComposition:       nil
>>>>>>>>>>>>>>>     localSelectors:         nil
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> WeakIdentityKeyDictionary(Dictionary)>>at:ifAbsent:
>>>>>>>>>>>>>>> Receiver: a WeakIdentityKeyDictionary(a CompiledMethod
>>>>>>>>>>>>>>> (126)-
>>>>>>>>>>>>>>>> a
>>>>>>>>>>>>>>> DebuggerMethodMapForClosureCompiledM...etc...
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>     key:    a CompiledMethod (838)
>>>>>>>>>>>>>>>     aBlock:         [closure] in DebuggerMethodMap
>>>>>>>>>>>>>>> class>>forMethod:
>>>>>>>>>>>>>>>     assoc:  nil
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>>     tally:  16
>>>>>>>>>>>>>>>     array:  an Array(nil nil a CompiledMethod (2402)->a
>>>>>>>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> DebuggerMethodMap class>>forMethod:
>>>>>>>>>>>>>>> Receiver: DebuggerMethodMap
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>     aMethod:        a CompiledMethod (838)
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>>     superclass:     Object
>>>>>>>>>>>>>>>     methodDict:     a
>>>>>>>>>>>>>>> MethodDictionary(#abstractSourceMap-
>>>>>>>>>>>>>>>> a CompiledMethod
>>>>>>>>>>>>>>> (1628) #for...etc...
>>>>>>>>>>>>>>>     format:         140
>>>>>>>>>>>>>>>     instanceVariables:      #(''timestamp''
>>>>>>>>>>>>>>> ''methodReference''
>>>>>>>>>>>>>>> ''methodNode'' ''abstractSource...etc...
>>>>>>>>>>>>>>>     organization:   (''initialize-release''
>>>>>>>>>>>>>>> forMethod:methodNode:)
>>>>>>>>>>>>>>> (''accessing'' markRec...etc...
>>>>>>>>>>>>>>>     subclasses:
>>>>>>>>>>>>>>> {DebuggerMethodMapForBlueBookMethods .
>>>>>>>>>>>>>>> DebuggerMethodMapForClosureC...etc...
>>>>>>>>>>>>>>>     name:   #DebuggerMethodMap
>>>>>>>>>>>>>>>     classPool:      a Dictionary(#MapCache->a
>>>>>>>>>>>>>>> WeakIdentityKeyDictionary(a
>>>>>>>>>>>>>>> CompiledMethod...etc...
>>>>>>>>>>>>>>>     sharedPools:    nil
>>>>>>>>>>>>>>>     environment:    Smalltalk
>>>>>>>>>>>>>>>     category:       #''Tools-Debugger''
>>>>>>>>>>>>>>>     traitComposition:       nil
>>>>>>>>>>>>>>>     localSelectors:         nil
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> CompiledMethod>>debuggerMap
>>>>>>>>>>>>>>> Receiver: a CompiledMethod (838)
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>> a CompiledMethod (838)
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> OTClosureContextNode>>selection
>>>>>>>>>>>>>>> Receiver: an OTClosureContextNode
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>>     metaNode:       context
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>     navigation:     an OBDefaultEdgeNavigation
>>>>>>>>>>>>>>>     process:        a Process in OTToolset
>>>>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>>>>     context:        Model
>>>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>>>>     parseTree:      nil
>>>>>>>>>>>>>>>     sourceMap:      nil
>>>>>>>>>>>>>>>     debuggerMap:    nil
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> OTClosureContextNode(OTContextNode)>>definition
>>>>>>>>>>>>>>> Receiver: an OTClosureContextNode
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>>     metaNode:       context
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>     navigation:     an OBDefaultEdgeNavigation
>>>>>>>>>>>>>>>     process:        a Process in OTToolset
>>>>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>>>>     context:        Model
>>>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>>>>     parseTree:      nil
>>>>>>>>>>>>>>>     sourceMap:      nil
>>>>>>>>>>>>>>>     debuggerMap:    nil
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>node:
>>>>>>>>>>>>>>> Receiver: an OTDefinitionPanel
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>     aNode:  an OTClosureContextNode
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>>     browser:        an OTDebugger
>>>>>>>>>>>>>>>     definition:     nil
>>>>>>>>>>>>>>>     selection:      nil
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>selectionChanged:
>>>>>>>>>>>>>>> Receiver: an OTDefinitionPanel
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>     ann:    an OBSelectionChanged
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>>     browser:        an OTDebugger
>>>>>>>>>>>>>>>     definition:     nil
>>>>>>>>>>>>>>>     selection:      nil
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> MessageSend>>valueWithArguments:
>>>>>>>>>>>>>>> Receiver: MessageSend(#selectionChanged: -> an
>>>>>>>>>>>>>>> OTDefinitionPanel)
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>     anArray:        an Array(an OBSelectionChanged)
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>>     receiver:       an OTDefinitionPanel
>>>>>>>>>>>>>>>     selector:       #selectionChanged:
>>>>>>>>>>>>>>>     arguments:      #()
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> [] in ActionSequence>>valueWithArguments:
>>>>>>>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>>>>> MessageSend(#selectionChanged: -> an  
>>>>>>>>>>>>>>> OBColumnPan...etc...
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>     anArray:        MessageSend(#selectionChanged: -> an
>>>>>>>>>>>>>>> OTDefinitionPanel)
>>>>>>>>>>>>>>>     answer:         an Array(an OBSelectionChanged)
>>>>>>>>>>>>>>>     each:   an Array(an OBFixedButtonPanel)
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>>>>> MessageSend(#selectionChanged: -> an  
>>>>>>>>>>>>>>> OBColumnPan...etc...
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> ActionSequence(SequenceableCollection)>>do:
>>>>>>>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>>>>> MessageSend(#selectionChanged: -> an  
>>>>>>>>>>>>>>> OBColumnPan...etc...
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>     aBlock:         [closure] in
>>>>>>>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>>>>>>>>     index:  4
>>>>>>>>>>>>>>>     indexLimiT:     6
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>>>>> MessageSend(#selectionChanged: -> an  
>>>>>>>>>>>>>>> OBColumnPan...etc...
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>>>>>>>> Receiver: #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>>>>> MessageSend(#selectionChanged: -> an  
>>>>>>>>>>>>>>> OBColumnPan...etc...
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>     anArray:        an Array(an OBSelectionChanged)
>>>>>>>>>>>>>>>     answer:         an Array(an OBFixedButtonPanel)
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>> #(MessageSend(#relabel: -> an OTDebugger)
>>>>>>>>>>>>>>> MessageSend(#selectionChanged: -> an  
>>>>>>>>>>>>>>> OBColumnPan...etc...
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> [] in OBAnnouncer>>announce:
>>>>>>>>>>>>>>> Receiver: an OBAnnouncer
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>> <<error during printing>
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>>     subscriptions:  an
>>>>>>>>>>>>>>> IdentityDictionary(OBAboutToChange-
>>>>>>>>>>>>>>>> an
>>>>>>>>>>>>>>> ActionSequence(Message...etc...
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> [] in IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: ->  
>>>>>>>>>>>>>>> an...etc...
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>     aBlock:         OBSelectionChanged-
>>>>>>>>>>>>>>>> #(MessageSend(#relabel: -> an
>>>>>>>>>>>>>>> OTDebugger)
>>>>>>>>>>>>>>> MessageSe...etc...
>>>>>>>>>>>>>>>     assoc:  [closure] in OBAnnouncer>>announce:
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>>     tally:  12
>>>>>>>>>>>>>>>     array:  {OBNodeCreated->an
>>>>>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> IdentityDictionary(Set)>>do:
>>>>>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: ->  
>>>>>>>>>>>>>>> an...etc...
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>     aBlock:         [closure] in
>>>>>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>>>>>     index:  6
>>>>>>>>>>>>>>>     each:   OBSelectionChanged-
>>>>>>>>>>>>>>>> #(MessageSend(#relabel: -
>>>>>>>>>>>>>>>> an OTDebugger)
>>>>>>>>>>>>>>> MessageSend...etc...
>>>>>>>>>>>>>>>     indexLimiT:     20
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>>     tally:  12
>>>>>>>>>>>>>>>     array:  {OBNodeCreated->an
>>>>>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> IdentityDictionary(Dictionary)>>associationsDo:
>>>>>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: ->  
>>>>>>>>>>>>>>> an...etc...
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>     aBlock:         [closure] in
>>>>>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>>     tally:  12
>>>>>>>>>>>>>>>     array:  {OBNodeCreated->an
>>>>>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>>>>> Receiver: an IdentityDictionary(OBAboutToChange->an
>>>>>>>>>>>>>>> ActionSequence(MessageSend(#aboutToChange: ->  
>>>>>>>>>>>>>>> an...etc...
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>     aBlock:         [closure] in OBAnnouncer>>announce:
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>>     tally:  12
>>>>>>>>>>>>>>>     array:  {OBNodeCreated->an
>>>>>>>>>>>>>>> ActionSequence(MessageSend(#selectNode: -
>>>>>>>>>>>>>>>> an OBColum...etc...
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> OBAnnouncer>>announce:
>>>>>>>>>>>>>>> Receiver: an OBAnnouncer
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>     anObject:       an OBSelectionChanged
>>>>>>>>>>>>>>>     ann:    an OBSelectionChanged
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>>     subscriptions:  an
>>>>>>>>>>>>>>> IdentityDictionary(OBAboutToChange-
>>>>>>>>>>>>>>>> an
>>>>>>>>>>>>>>> ActionSequence(Message...etc...
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> OBColumnPanel>>jumpTo:
>>>>>>>>>>>>>>> Receiver: an OBColumnPanel
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>     aNode:  an OTClosureContextNode
>>>>>>>>>>>>>>>     column:         an OBColumn(Model
>>>>>>>>>>>>>>> class(Object)>>doesNotUnderstand:
>>>>>>>>>>>>>>> #fullName)
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>>     browser:        an OTDebugger
>>>>>>>>>>>>>>>     root:   an OTProcessNode
>>>>>>>>>>>>>>>     current:        an OTClosureContextNode
>>>>>>>>>>>>>>>     columns:        an OrderedCollection(an
>>>>>>>>>>>>>>> OBColumn(Model
>>>>>>>>>>>>>>> class(Object)>>doesNotUnderstan...etc...
>>>>>>>>>>>>>>>     minPanes:       1
>>>>>>>>>>>>>>>     maxPanes:       1
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> OTDebugger(OBBrowser)>>jumpTo:
>>>>>>>>>>>>>>> Receiver: an OTDebugger
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>     aNode:  an OTClosureContextNode
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>>     panels:         an OrderedCollection(an
>>>>>>>>>>>>>>> OBColumnPanel
>>>>>>>>>>>>>>> an OBFixedButtonPanel
>>>>>>>>>>>>>>> an OTDefini...etc...
>>>>>>>>>>>>>>>     announcer:      an OBAnnouncer
>>>>>>>>>>>>>>>     cmdFactories:   an Array(OTCmdProceedDebugger
>>>>>>>>>>>>>>> OTCmdIntoDebugger
>>>>>>>>>>>>>>> OTCmdThroughDebug...etc...
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> OTDebugger class(OBBrowser
>>>>>>>>>>>>>>> class)>>metaNode:root:selection:panels:
>>>>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>     metaNode:       process
>>>>>>>>>>>>>>> #longStack->context
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>     rootNode:       an OTProcessNode
>>>>>>>>>>>>>>>     selectedNode:   an OTClosureContextNode
>>>>>>>>>>>>>>>     panels:         an Array(an OBColumnPanel an
>>>>>>>>>>>>>>> OBFixedButtonPanel an
>>>>>>>>>>>>>>> OTDefinitionPanel an...etc...
>>>>>>>>>>>>>>>     browser:        an OTDebugger
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>>     superclass:     OBBrowser
>>>>>>>>>>>>>>>     methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>>>>     format:         136
>>>>>>>>>>>>>>>     instanceVariables:      nil
>>>>>>>>>>>>>>>     organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>>>>     subclasses:     nil
>>>>>>>>>>>>>>>     name:   #OTDebugger
>>>>>>>>>>>>>>>     classPool:      nil
>>>>>>>>>>>>>>>     sharedPools:    nil
>>>>>>>>>>>>>>>     environment:    Smalltalk
>>>>>>>>>>>>>>>     category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>>>>     traitComposition:       nil
>>>>>>>>>>>>>>>     localSelectors:         nil
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> OTDebugger class(OBBrowser class)>>root:selection:
>>>>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>     rootNode:       an OTProcessNode
>>>>>>>>>>>>>>>     selectedNode:   an OTClosureContextNode
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>>     superclass:     OBBrowser
>>>>>>>>>>>>>>>     methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>>>>     format:         136
>>>>>>>>>>>>>>>     instanceVariables:      nil
>>>>>>>>>>>>>>>     organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>>>>     subclasses:     nil
>>>>>>>>>>>>>>>     name:   #OTDebugger
>>>>>>>>>>>>>>>     classPool:      nil
>>>>>>>>>>>>>>>     sharedPools:    nil
>>>>>>>>>>>>>>>     environment:    Smalltalk
>>>>>>>>>>>>>>>     category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>>>>     traitComposition:       nil
>>>>>>>>>>>>>>>     localSelectors:         nil
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> OTDebugger class>>process:context:errorWasInUIProcess:
>>>>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>     aProcess:       a Process in OTToolset
>>>>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>>>>     aContext:       Model
>>>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>>>>     aBool:  true
>>>>>>>>>>>>>>>     processNode:    an OTProcessNode
>>>>>>>>>>>>>>>     contextNode:    an OTClosureContextNode
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>>     superclass:     OBBrowser
>>>>>>>>>>>>>>>     methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>>>>     format:         136
>>>>>>>>>>>>>>>     instanceVariables:      nil
>>>>>>>>>>>>>>>     organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>>>>     subclasses:     nil
>>>>>>>>>>>>>>>     name:   #OTDebugger
>>>>>>>>>>>>>>>     classPool:      nil
>>>>>>>>>>>>>>>     sharedPools:    nil
>>>>>>>>>>>>>>>     environment:    Smalltalk
>>>>>>>>>>>>>>>     category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>>>>     traitComposition:       nil
>>>>>>>>>>>>>>>     localSelectors:         nil
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> OTDebugger
>>>>>>>>>>>>>>> class>>process:context:label:errorWasInUIProcess:
>>>>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>     aProcess:       a Process in OTToolset
>>>>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>>>>     aContext:       Model
>>>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>>>>     aString:        ''MessageNotUnderstood: Model
>>>>>>>>>>>>>>> class>>fullName''
>>>>>>>>>>>>>>>     aBool:  true
>>>>>>>>>>>>>>>     debugger:       nil
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>>     superclass:     OBBrowser
>>>>>>>>>>>>>>>     methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>>>>     format:         136
>>>>>>>>>>>>>>>     instanceVariables:      nil
>>>>>>>>>>>>>>>     organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>>>>     subclasses:     nil
>>>>>>>>>>>>>>>     name:   #OTDebugger
>>>>>>>>>>>>>>>     classPool:      nil
>>>>>>>>>>>>>>>     sharedPools:    nil
>>>>>>>>>>>>>>>     environment:    Smalltalk
>>>>>>>>>>>>>>>     category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>>>>     traitComposition:       nil
>>>>>>>>>>>>>>>     localSelectors:         nil
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> OTDebugger
>>>>>>>>>>>>>>> class>>openProcess:context:label:errorWasInUIProcess:
>>>>>>>>>>>>>>> Receiver: OTDebugger
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>     aProcess:       a Process in OTToolset
>>>>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>>>>     aContext:       Model
>>>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>>>>     aString:        ''MessageNotUnderstood: Model
>>>>>>>>>>>>>>> class>>fullName''
>>>>>>>>>>>>>>>     aBool:  true
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>>     superclass:     OBBrowser
>>>>>>>>>>>>>>>     methodDict:     a MethodDictionary(#cmdBrowse->a
>>>>>>>>>>>>>>> CompiledMethod (3978)
>>>>>>>>>>>>>>> #cmdDebug->a...etc...
>>>>>>>>>>>>>>>     format:         136
>>>>>>>>>>>>>>>     instanceVariables:      nil
>>>>>>>>>>>>>>>     organization:   (''commands'' cmdBrowse cmdDebug
>>>>>>>>>>>>>>> cmdInspector)
>>>>>>>>>>>>>>> (''updating'' debugger...etc...
>>>>>>>>>>>>>>>     subclasses:     nil
>>>>>>>>>>>>>>>     name:   #OTDebugger
>>>>>>>>>>>>>>>     classPool:      nil
>>>>>>>>>>>>>>>     sharedPools:    nil
>>>>>>>>>>>>>>>     environment:    Smalltalk
>>>>>>>>>>>>>>>     category:       #''OB-Tools-Debugger''
>>>>>>>>>>>>>>>     traitComposition:       nil
>>>>>>>>>>>>>>>     localSelectors:         nil
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> [] in OTPreDebugNode>>debug:
>>>>>>>>>>>>>>> Receiver: an OTPreDebugNode
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>     aRequestor:     an OTPreDebugPanel
>>>>>>>>>>>>>>>     proc:   a Process in OTToolset
>>>>>>>>>>>>>>> class>>debug:context:label:contents:fullView:
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>>     metaNode:       Predebug
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>     navigation:     nil
>>>>>>>>>>>>>>>     errorWasInUI:   true
>>>>>>>>>>>>>>>     process:        nil
>>>>>>>>>>>>>>>     context:        Model
>>>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>>>>     label:  ''MessageNotUnderstood: Model
>>>>>>>>>>>>>>> class>>fullName''
>>>>>>>>>>>>>>>     contents:       ''Model
>>>>>>>>>>>>>>> class(Object)>>doesNotUnderstand: #fullName
>>>>>>>>>>>>>>> UtilitiesTest>>tes...etc...
>>>>>>>>>>>>>>>     debugOnMouseClick:      true
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> WorldState>>runStepMethodsIn:
>>>>>>>>>>>>>>> Receiver: a WorldState
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>     aWorld:         a PasteUpMorph(1622) [world]
>>>>>>>>>>>>>>>     queue:  a SharedQueue
>>>>>>>>>>>>>>>     numItems:       1
>>>>>>>>>>>>>>>     i:      0
>>>>>>>>>>>>>>>     limit:  200
>>>>>>>>>>>>>>>     stamp:  12765762
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>>     hands:  an Array(a HandMorph(3216))
>>>>>>>>>>>>>>>     viewBox:        0@0 corner: 1440@807
>>>>>>>>>>>>>>>     canvas:         a FormCanvas on:
>>>>>>>>>>>>>>> DisplayScreen(1440x807x32)
>>>>>>>>>>>>>>>     damageRecorder:         a DamageRecorder
>>>>>>>>>>>>>>>     stepList:       a Heap(StepMessage(#stepAt: -> a
>>>>>>>>>>>>>>> SystemWindow(3380))(a
>>>>>>>>>>>>>>> SystemWindow(3...etc...
>>>>>>>>>>>>>>>     lastStepTime:   12791780
>>>>>>>>>>>>>>>     lastStepMessage:        nil
>>>>>>>>>>>>>>>     lastCycleTime:  12791800
>>>>>>>>>>>>>>>     commandHistory:         a CommandHistory
>>>>>>>>>>>>>>>     alarms:         a Heap()
>>>>>>>>>>>>>>>     lastAlarmTime:  12791780
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> PasteUpMorph>>runStepMethods
>>>>>>>>>>>>>>> Receiver: a PasteUpMorph(1622) [world]
>>>>>>>>>>>>>>> Arguments and temporary variables:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Receiver''s instance variables:
>>>>>>>>>>>>>>>     bounds:         0@0 corner: 1440@807
>>>>>>>>>>>>>>>     owner:  nil
>>>>>>>>>>>>>>>     submorphs:      an Array(a TaskbarMorph(3095) a
>>>>>>>>>>>>>>> SystemWindow(171) a
>>>>>>>>>>>>>>> PluggableStandar...etc...
>>>>>>>>>>>>>>>     fullBounds:     nil
>>>>>>>>>>>>>>>     color:  (Color r: 0.972 g: 0.972 b: 0.976)
>>>>>>>>>>>>>>>     extension:      a MorphExtension (2543)
>>>>>>>>>>>>>>> [eventHandler
>>>>>>>>>>>>>>> = an
>>>>>>>>>>>>>>> EventHandler]  [other:  (...etc...
>>>>>>>>>>>>>>>     borderWidth:    0
>>>>>>>>>>>>>>>     borderColor:    (Color r: 0.03 g: 0.02 b: 0.0)
>>>>>>>>>>>>>>>     presenter:      a Presenter (1246)
>>>>>>>>>>>>>>>     model:  a MorphicModel(1926)
>>>>>>>>>>>>>>>     cursor:         1
>>>>>>>>>>>>>>>     padding:        3
>>>>>>>>>>>>>>>     backgroundMorph:        nil
>>>>>>>>>>>>>>>     isPartsBin:     nil
>>>>>>>>>>>>>>>     autoLineLayout:         false
>>>>>>>>>>>>>>>     indicateCursor:         nil
>>>>>>>>>>>>>>>     resizeToFit:    nil
>>>>>>>>>>>>>>>     wantsMouseOverHalos:    nil
>>>>>>>>>>>>>>>     worldState:     a WorldState
>>>>>>>>>>>>>>>     griddingOn:     nil
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> --- The full stack ---
>>>>>>>>>>>>>>> UTF8TextConverter(Object)>>error:
>>>>>>>>>>>>>>> UTF8TextConverter>>errorMalformedInput
>>>>>>>>>>>>>>> UTF8TextConverter>>nextFromStream:
>>>>>>>>>>>>>>> MultiByteFileStream>>next
>>>>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunk
>>>>>>>>>>>>>>> MultiByteFileStream(PositionableStream)>>nextChunkText
>>>>>>>>>>>>>>> [] in RemoteString>>text
>>>>>>>>>>>>>>> BlockClosure>>ensure:
>>>>>>>>>>>>>>> RemoteString>>text
>>>>>>>>>>>>>>> CompiledMethod>>getSourceFromFile
>>>>>>>>>>>>>>> CompiledMethod>>methodNode
>>>>>>>>>>>>>>> [] in DebuggerMethodMap class>>forMethod:
>>>>>>>>>>>>>>> WeakIdentityKeyDictionary(Dictionary)>>at:ifAbsent:
>>>>>>>>>>>>>>> DebuggerMethodMap class>>forMethod:
>>>>>>>>>>>>>>> CompiledMethod>>debuggerMap
>>>>>>>>>>>>>>> OTClosureContextNode>>selection
>>>>>>>>>>>>>>> OTClosureContextNode(OTContextNode)>>definition
>>>>>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>node:
>>>>>>>>>>>>>>> OTDefinitionPanel(OBDefinitionPanel)>>selectionChanged:
>>>>>>>>>>>>>>> MessageSend>>valueWithArguments:
>>>>>>>>>>>>>>> [] in ActionSequence>>valueWithArguments:
>>>>>>>>>>>>>>> ActionSequence(SequenceableCollection)>>do:
>>>>>>>>>>>>>>> ActionSequence>>valueWithArguments:
>>>>>>>>>>>>>>> [] in OBAnnouncer>>announce:
>>>>>>>>>>>>>>> [] in IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>>>>> IdentityDictionary(Set)>>do:
>>>>>>>>>>>>>>> IdentityDictionary(Dictionary)>>associationsDo:
>>>>>>>>>>>>>>> IdentityDictionary(Dictionary)>>keysAndValuesDo:
>>>>>>>>>>>>>>> OBAnnouncer>>announce:
>>>>>>>>>>>>>>> OBColumnPanel>>jumpTo:
>>>>>>>>>>>>>>> OTDebugger(OBBrowser)>>jumpTo:
>>>>>>>>>>>>>>> OTDebugger class(OBBrowser
>>>>>>>>>>>>>>> class)>>metaNode:root:selection:panels:
>>>>>>>>>>>>>>> OTDebugger class(OBBrowser class)>>root:selection:
>>>>>>>>>>>>>>> OTDebugger class>>process:context:errorWasInUIProcess:
>>>>>>>>>>>>>>> OTDebugger
>>>>>>>>>>>>>>> class>>process:context:label:errorWasInUIProcess:
>>>>>>>>>>>>>>> OTDebugger
>>>>>>>>>>>>>>> class>>openProcess:context:label:errorWasInUIProcess:
>>>>>>>>>>>>>>> [] in OTPreDebugNode>>debug:
>>>>>>>>>>>>>>> WorldState>>runStepMethodsIn:
>>>>>>>>>>>>>>> PasteUpMorph>>runStepMethods
>>>>>>>>>>>>>>> - - - - - - - - - - - - - - -
>>>>>>>>>>>>>>>             - - - - - - - - - - - - - - - - - -
>>>>>>>>>>>>>>> WorldState>>doOneCycleNowFor:
>>>>>>>>>>>>>>> WorldState>>doOneCycleFor:
>>>>>>>>>>>>>>> PasteUpMorph>>doOneCycle
>>>>>>>>>>>>>>> [] in Project class>>spawnNewProcess
>>>>>>>>>>>>>>> [] in BlockClosure>>newProcess
>>>>>>>>>>>>>>> '
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>> www.tudorgirba.com
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> "To lead is not to demand things, it is to make them
>>>>>>>>>>>>>>> happen."
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>>>>>>> [hidden email]
>>>>>>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/
>>>>>>>>>>>>>>> pharo-
>>>>>>>>>>>>>>> project
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>>>>>> [hidden email]
>>>>>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>>>>> [hidden email]
>>>>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/
>>>>>>>>>>>>> pharo-
>>>>>>>>>>>>> project
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>>>> [hidden email]
>>>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>>> [hidden email]
>>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Pharo-project mailing list
>>>>>>>>>> [hidden email]
>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>>>>>> project
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Pharo-project mailing list
>>>>>>>>> [hidden email]
>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> www.tudorgirba.com
>>>>>>>>
>>>>>>>> "It's not how it is, it is how we see it."
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Pharo-project mailing list
>>>>>>>> [hidden email]
>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>>>> project
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Pharo-project mailing list
>>>>>> [hidden email]
>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>> project
>>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Pharo-project mailing list
>>>>> [hidden email]
>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo- 
>>>>> project
>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> [hidden email]
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>
>>>
>>> --
>>> www.tudorgirba.com
>>>
>>> "Some battles are better lost than fought."
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [hidden email]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: invalid utf8 input detected

Tudor Girba-3
In reply to this post by Tudor Girba-3
Actually, the fix is even simpler: if you find a method that raises  
"invalid utf8 input detected", just browse to it with a class browser,  
and re-accept it :).

With my previous mail, I was not implying that someone should fix it  
for me, I was merely asking for what could a quick solution be,  
because I was a bit lost (scared) :). Now, I am happy. Thanks for  
discussing it.

Cheers,
Doru

On 23 May 2009, at 13:07, Tudor Girba wrote:

> Hi,
>
> I attached here a DNU implementation I took from an older image.  
> After filing this one in, I can debug DNU problems.
>
> Cheers,
> Doru
>
> <Object-doesNotUnderstand.st>
>
>
>
> On 23 May 2009, at 13:04, Stéphane Ducasse wrote:
>
>> I did the following
>>
>> (Object>>#doesNotUNderstand) getSourceFromFile and I get an  
>> invalid....
>>
>> Now when I take another method
>>
>> (BalloonFontTest>>#testDefaultFont) I do not get problem.
>>
>> I will reread carefully the mails of nicolas to try to understand,
>> I do not know if the fixes of yoh
>>
>> http://bugs.squeak.org/view.php?id=5996
>> is related.
>>
>> Nicolas
>>
>>>> {Object>>#doesNotUnderstand:.
>>>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>>>> Utilities class>>#changeStampPerSe.
>>>> Utilities class>>#methodsWithInitials:} collect: [:e | (e
>>>> getSourceFromFile select: [:s | s charCode > 127]) asArray collect:
>>>> [:c | c charCode]]
>>
>> I cannot get that code running it break before with me.
>>
>> Stef
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
> --
> www.tudorgirba.com
>
> "Not knowing how to do something is not an argument for how it  
> cannot be done."
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

--
www.tudorgirba.com

"Problem solving efficiency grows with the abstractness level of  
problem understanding."




_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: invalid utf8 input detected

Stéphane Ducasse
No problem I never interpreted it like that.
Me too I want a system that is working

Adrian I will publish a fix for DNU now
and I will try later to check the fixes proposed by yoshiki

stef

On May 23, 2009, at 1:29 PM, Tudor Girba wrote:

> Actually, the fix is even simpler: if you find a method that raises
> "invalid utf8 input detected", just browse to it with a class browser,
> and re-accept it :).
>
> With my previous mail, I was not implying that someone should fix it
> for me, I was merely asking for what could a quick solution be,
> because I was a bit lost (scared) :). Now, I am happy. Thanks for
> discussing it.
>
> Cheers,
> Doru
>
> On 23 May 2009, at 13:07, Tudor Girba wrote:
>
>> Hi,
>>
>> I attached here a DNU implementation I took from an older image.
>> After filing this one in, I can debug DNU problems.
>>
>> Cheers,
>> Doru
>>
>> <Object-doesNotUnderstand.st>
>>
>>
>>
>> On 23 May 2009, at 13:04, Stéphane Ducasse wrote:
>>
>>> I did the following
>>>
>>> (Object>>#doesNotUNderstand) getSourceFromFile and I get an
>>> invalid....
>>>
>>> Now when I take another method
>>>
>>> (BalloonFontTest>>#testDefaultFont) I do not get problem.
>>>
>>> I will reread carefully the mails of nicolas to try to understand,
>>> I do not know if the fixes of yoh
>>>
>>> http://bugs.squeak.org/view.php?id=5996
>>> is related.
>>>
>>> Nicolas
>>>
>>>>> {Object>>#doesNotUnderstand:.
>>>>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>>>>> Utilities class>>#changeStampPerSe.
>>>>> Utilities class>>#methodsWithInitials:} collect: [:e | (e
>>>>> getSourceFromFile select: [:s | s charCode > 127]) asArray  
>>>>> collect:
>>>>> [:c | c charCode]]
>>>
>>> I cannot get that code running it break before with me.
>>>
>>> Stef
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [hidden email]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>> --
>> www.tudorgirba.com
>>
>> "Not knowing how to do something is not an argument for how it
>> cannot be done."
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
> --
> www.tudorgirba.com
>
> "Problem solving efficiency grows with the abstractness level of
> problem understanding."
>
>
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: invalid utf8 input detected

Nicolas Cellier
What happened exactly is very hard to trace because these FileStream
are a can of worms...
Here are some of my perigrinations:

FIRST POSSIBLE TRACK:

All methods were changed in 10305.
Monticello snapshot/source.st is not UTF-8.
If the file is opened UTF-8, then we get decompiledCode, I don't know why yet...
But the changes still go into the change log in correct UTF-8 form, so
that's just another bug, but not the real source of the problem.
For getting some worms out of the can just browse inst var defs of
converter in MultiByteFileStream:
The accessor #converter initialize converter with TextConverter
defaultSystemConverter which depends on LanguageEnvironment.
That is a Latin1TextConverter in my latin image.
Unless #reset is called first, in which case it will initialize with a
UTF8TextConverter.
Yes, but open: fileName forWrite: writeMode, does the job too with a
UTF8TextConverter.
You still follow? me neither.
A better behaved is #setConverterForCode that should let non UTF-8
.mcz work in UTF-8 environment, but not sure if called where
required...
I think Yoshiki changes are necessary only for writing source code
with character code > 255.
This was not the case of incriminated methods.

SECOND POSSIBLE TRACK:

Everything going to the change log pass thru the MultiByteFileStream,
so how did non UTF-8 characters went in?
I tried to follow two other clues:
1) There are senders of #primWrite:from:startingAt:count: not
redefined in MultiByteFileStream...
  for example, using #next:putAll:startingAt: will bypass the converter.
2) using nextPutAll: with a ByteArray argument also does bypass the
converter (See MultiByteFileStream>>#nextPutAll:)
I did not find the senders (you really believe senders of nextPutAll:
can be analyzed?).
I tried to instrument code with Notification, but I'm unable to
reproduce the problem, so that was vain...

THIRD POSSIBLE TRACK:

http://gforge.inria.fr/frs/download.php/22283/Pharo0.1Core-10304cl.zip
has the invalid UTF-8 problem, just before 10305 changes that
introduced decompiled code...
So we might attack the problem with another code snippet:

(SystemNavigation default browseAllCallsOn: (Smalltalk associationAt:
#SourceFiles))...

Hmm, I might have a better clue now.
The problem might possibly come from the condenseChanges in update10298.
What happen in a condenseChanges?
Changes are copied to this file:

f := FileStream fileNamed: 'ST80.temp'.

So far, so good, because the concreteStream is a MultiByteFileStream.

But the end finishes with:

        SourceFiles
                at: 2
                put: (StandardFileStream oldFileNamed: oldChanges name)

Waouh, no MultiByteFileStream here, so no more UTF-8.
But hey, that would be the inverse problem: reading UTF-8 text with
latin1 reader: I can't get an error doing this, only some strange
sequence of characters... (The UTF-8 encoding)...
Unless incriminated methods are further changed in #script376 or any
other method... In which case they are written in latin1 in the
changeLog...
Hmm... That could be the case eventually. We must restart update
process from http://gforge.inria.fr/frs/download.php/22167/Pharo0.1Core-10296cl-2.zip

One thing is sure, at next returnFromSnapshot, FileDirectory
class>>startup will reopen changes UTF-8.
So saving the image will reopen UTF-8...

But wait... Maybe we get enough pieces of the puzzle:
Analyzing the Pharo0.1Core-10304cl.changes tells that Stephane applied
several updates before snapshoting the image. So if Kernel and
System-Support are changed between 10298 and 10304, then we get the
explanation:
- condense changes put all in the .changes in UTF-8 but reopen the
changes in latin1
- further updates up to 10304 write changes in latin1
- image snapshot reopen changes in UTF-8 and thus we get further
invalid UTF-8...

That's easy to reproduce. Stef, can you confirm?

That also explain why I did not get the problem at home: I update
early and always save my image after.
After that we still have to detect and clean while Monticello sources
are interpreted UTF-8 when they should not (FIRST TRACK) , and
eventually make source code go UTF-8 in Monticello, so that non latin
programmers can use their favourite language eventually...

Nicolas

2009/5/23 Stéphane Ducasse <[hidden email]>:

> No problem I never interpreted it like that.
> Me too I want a system that is working
>
> Adrian I will publish a fix for DNU now
> and I will try later to check the fixes proposed by yoshiki
>
> stef
>
> On May 23, 2009, at 1:29 PM, Tudor Girba wrote:
>
>> Actually, the fix is even simpler: if you find a method that raises
>> "invalid utf8 input detected", just browse to it with a class browser,
>> and re-accept it :).
>>
>> With my previous mail, I was not implying that someone should fix it
>> for me, I was merely asking for what could a quick solution be,
>> because I was a bit lost (scared) :). Now, I am happy. Thanks for
>> discussing it.
>>
>> Cheers,
>> Doru
>>
>> On 23 May 2009, at 13:07, Tudor Girba wrote:
>>
>>> Hi,
>>>
>>> I attached here a DNU implementation I took from an older image.
>>> After filing this one in, I can debug DNU problems.
>>>
>>> Cheers,
>>> Doru
>>>
>>> <Object-doesNotUnderstand.st>
>>>
>>>
>>>
>>> On 23 May 2009, at 13:04, Stéphane Ducasse wrote:
>>>
>>>> I did the following
>>>>
>>>> (Object>>#doesNotUNderstand) getSourceFromFile and I get an
>>>> invalid....
>>>>
>>>> Now when I take another method
>>>>
>>>> (BalloonFontTest>>#testDefaultFont) I do not get problem.
>>>>
>>>> I will reread carefully the mails of nicolas to try to understand,
>>>> I do not know if the fixes of yoh
>>>>
>>>>     http://bugs.squeak.org/view.php?id=5996
>>>> is related.
>>>>
>>>> Nicolas
>>>>
>>>>>> {Object>>#doesNotUnderstand:.
>>>>>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>>>>>> Utilities class>>#changeStampPerSe.
>>>>>> Utilities class>>#methodsWithInitials:} collect: [:e | (e
>>>>>> getSourceFromFile select: [:s | s charCode > 127]) asArray
>>>>>> collect:
>>>>>> [:c | c charCode]]
>>>>
>>>> I cannot get that code running it break before with me.
>>>>
>>>> Stef
>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> [hidden email]
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>> --
>>> www.tudorgirba.com
>>>
>>> "Not knowing how to do something is not an argument for how it
>>> cannot be done."
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [hidden email]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>> --
>> www.tudorgirba.com
>>
>> "Problem solving efficiency grows with the abstractness level of
>> problem understanding."
>>
>>
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: invalid utf8 input detected

Stéphane Ducasse
HI nicolas

I was reading the changes of yoshiki I will integrate but indeed this  
is not for our case.
My reply below... I tried to follow :)

> What happened exactly is very hard to trace because these FileStream
> are a can of worms...
> Here are some of my perigrinations:
>
> FIRST POSSIBLE TRACK:
>
> All methods were changed in 10305.
> Monticello snapshot/source.st is not UTF-8.
> If the file is opened UTF-8, then we get decompiledCode, I don't  
> know why yet...
> But the changes still go into the change log in correct UTF-8 form, so
> that's just another bug, but not the real source of the problem.
> For getting some worms out of the can just browse inst var defs of
> converter in MultiByteFileStream:
> The accessor #converter initialize converter with TextConverter
> defaultSystemConverter which depends on LanguageEnvironment.
> That is a Latin1TextConverter in my latin image.
> Unless #reset is called first, in which case it will initialize with a
> UTF8TextConverter.
> Yes, but open: fileName forWrite: writeMode, does the job too with a
> UTF8TextConverter.
> You still follow? me neither.
> A better behaved is #setConverterForCode that should let non UTF-8
> .mcz work in UTF-8 environment, but not sure if called where
> required...
> I think Yoshiki changes are necessary only for writing source code
> with character code > 255.
> This was not the case of incriminated methods.
>
> SECOND POSSIBLE TRACK:
>
> Everything going to the change log pass thru the MultiByteFileStream,
> so how did non UTF-8 characters went in?
> I tried to follow two other clues:
> 1) There are senders of #primWrite:from:startingAt:count: not
> redefined in MultiByteFileStream...
>  for example, using #next:putAll:startingAt: will bypass the  
> converter.
> 2) using nextPutAll: with a ByteArray argument also does bypass the
> converter (See MultiByteFileStream>>#nextPutAll:)
> I did not find the senders (you really believe senders of nextPutAll:
> can be analyzed?).
> I tried to instrument code with Notification, but I'm unable to
> reproduce the problem, so that was vain...
>
> THIRD POSSIBLE TRACK:
>
> http://gforge.inria.fr/frs/download.php/22283/Pharo0.1Core-10304cl.zip
> has the invalid UTF-8 problem, just before 10305 changes that
> introduced decompiled code...
> So we might attack the problem with another code snippet:
>
> (SystemNavigation default browseAllCallsOn: (Smalltalk associationAt:
> #SourceFiles))...
>
> Hmm, I might have a better clue now.
> The problem might possibly come from the condenseChanges in  
> update10298.
> What happen in a condenseChanges?
> Changes are copied to this file:
>
> f := FileStream fileNamed: 'ST80.temp'.
>
> So far, so good, because the concreteStream is a MultiByteFileStream.
>
> But the end finishes with:
>
> SourceFiles
> at: 2
> put: (StandardFileStream oldFileNamed: oldChanges name)
>
> Waouh, no MultiByteFileStream here, so no more UTF-8.
> But hey, that would be the inverse problem: reading UTF-8 text with
> latin1 reader: I can't get an error doing this, only some strange
> sequence of characters... (The UTF-8 encoding)...
> Unless incriminated methods are further changed in #script376 or any
> other method... In which case they are written in latin1 in the
> changeLog...
> Hmm... That could be the case eventually. We must restart update
> process from http://gforge.inria.fr/frs/download.php/22167/Pharo0.1Core-10296cl-2.zip
>
> One thing is sure, at next returnFromSnapshot, FileDirectory
> class>>startup will reopen changes UTF-8.
> So saving the image will reopen UTF-8...
>
> But wait... Maybe we get enough pieces of the puzzle:
> Analyzing the Pharo0.1Core-10304cl.changes tells that Stephane applied
> several updates before snapshoting the image. So if Kernel and
> System-Support are changed between 10298 and 10304, then we get the
> explanation:
> - condense changes put all in the .changes in UTF-8 but reopen the
> changes in latin1
> - further updates up to 10304 write changes in latin1
> - image snapshot reopen changes in UTF-8 and thus we get further
> invalid UTF-8...
>
> That's easy to reproduce. Stef, can you confirm?

how do you want me to confirm?
That I redo the image. What we can do is change the update method to  
block the update at a certain number.

> That also explain why I did not get the problem at home: I update
> early and always save my image after.
> After that we still have to detect and clean while Monticello sources
> are interpreted UTF-8 when they should not (FIRST TRACK) , and
> eventually make source code go UTF-8 in Monticello, so that non latin
> programmers can use their favourite language eventually...
>
> Nicolas
>
> 2009/5/23 Stéphane Ducasse <[hidden email]>:
>> No problem I never interpreted it like that.
>> Me too I want a system that is working
>>
>> Adrian I will publish a fix for DNU now
>> and I will try later to check the fixes proposed by yoshiki
>>
>> stef
>>
>> On May 23, 2009, at 1:29 PM, Tudor Girba wrote:
>>
>>> Actually, the fix is even simpler: if you find a method that raises
>>> "invalid utf8 input detected", just browse to it with a class  
>>> browser,
>>> and re-accept it :).
>>>
>>> With my previous mail, I was not implying that someone should fix it
>>> for me, I was merely asking for what could a quick solution be,
>>> because I was a bit lost (scared) :). Now, I am happy. Thanks for
>>> discussing it.
>>>
>>> Cheers,
>>> Doru
>>>
>>> On 23 May 2009, at 13:07, Tudor Girba wrote:
>>>
>>>> Hi,
>>>>
>>>> I attached here a DNU implementation I took from an older image.
>>>> After filing this one in, I can debug DNU problems.
>>>>
>>>> Cheers,
>>>> Doru
>>>>
>>>> <Object-doesNotUnderstand.st>
>>>>
>>>>
>>>>
>>>> On 23 May 2009, at 13:04, Stéphane Ducasse wrote:
>>>>
>>>>> I did the following
>>>>>
>>>>> (Object>>#doesNotUNderstand) getSourceFromFile and I get an
>>>>> invalid....
>>>>>
>>>>> Now when I take another method
>>>>>
>>>>> (BalloonFontTest>>#testDefaultFont) I do not get problem.
>>>>>
>>>>> I will reread carefully the mails of nicolas to try to understand,
>>>>> I do not know if the fixes of yoh
>>>>>
>>>>>    http://bugs.squeak.org/view.php?id=5996
>>>>> is related.
>>>>>
>>>>> Nicolas
>>>>>
>>>>>>> {Object>>#doesNotUnderstand:.
>>>>>>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>>>>>>> Utilities class>>#changeStampPerSe.
>>>>>>> Utilities class>>#methodsWithInitials:} collect: [:e | (e
>>>>>>> getSourceFromFile select: [:s | s charCode > 127]) asArray
>>>>>>> collect:
>>>>>>> [:c | c charCode]]
>>>>>
>>>>> I cannot get that code running it break before with me.
>>>>>
>>>>> Stef
>>>>>
>>>>> _______________________________________________
>>>>> Pharo-project mailing list
>>>>> [hidden email]
>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo- 
>>>>> project
>>>>
>>>> --
>>>> www.tudorgirba.com
>>>>
>>>> "Not knowing how to do something is not an argument for how it
>>>> cannot be done."
>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> [hidden email]
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>> --
>>> www.tudorgirba.com
>>>
>>> "Problem solving efficiency grows with the abstractness level of
>>> problem understanding."
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [hidden email]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: invalid utf8 input detected

Nicolas Cellier
In reply to this post by Nicolas Cellier
I confirm the scenario:
1) update10298 condenseChanges that let (SourceFiles at: 2) class =
StandardFileStream
   This is the seed of further problems, because further changes will
be encoded in latin1 (or MacRoman I don't really wnt to know)
2) update10302 changes the methods with non ASCII characters
3) Stef save the image after update10304, that does reopen
(SourceFiles at: 2) in UTF-8, but that's too late, the worm is in the
apple.

If you save the image just after the condenseChanges, no problem
because (SourceFiles at: 2) is opened in Latin1 AFTER all the changes
have gotten into it, and reopened UTF-8 before any changes got into
it.
We must track undue usage of StandardFileStream such as #condenseChanges.

2009/5/23 Nicolas Cellier <[hidden email]>:

> What happened exactly is very hard to trace because these FileStream
> are a can of worms...
> Here are some of my perigrinations:
>
> FIRST POSSIBLE TRACK:
>
> All methods were changed in 10305.
> Monticello snapshot/source.st is not UTF-8.
> If the file is opened UTF-8, then we get decompiledCode, I don't know why yet...
> But the changes still go into the change log in correct UTF-8 form, so
> that's just another bug, but not the real source of the problem.
> For getting some worms out of the can just browse inst var defs of
> converter in MultiByteFileStream:
> The accessor #converter initialize converter with TextConverter
> defaultSystemConverter which depends on LanguageEnvironment.
> That is a Latin1TextConverter in my latin image.
> Unless #reset is called first, in which case it will initialize with a
> UTF8TextConverter.
> Yes, but open: fileName forWrite: writeMode, does the job too with a
> UTF8TextConverter.
> You still follow? me neither.
> A better behaved is #setConverterForCode that should let non UTF-8
> .mcz work in UTF-8 environment, but not sure if called where
> required...
> I think Yoshiki changes are necessary only for writing source code
> with character code > 255.
> This was not the case of incriminated methods.
>
> SECOND POSSIBLE TRACK:
>
> Everything going to the change log pass thru the MultiByteFileStream,
> so how did non UTF-8 characters went in?
> I tried to follow two other clues:
> 1) There are senders of #primWrite:from:startingAt:count: not
> redefined in MultiByteFileStream...
>  for example, using #next:putAll:startingAt: will bypass the converter.
> 2) using nextPutAll: with a ByteArray argument also does bypass the
> converter (See MultiByteFileStream>>#nextPutAll:)
> I did not find the senders (you really believe senders of nextPutAll:
> can be analyzed?).
> I tried to instrument code with Notification, but I'm unable to
> reproduce the problem, so that was vain...
>
> THIRD POSSIBLE TRACK:
>
> http://gforge.inria.fr/frs/download.php/22283/Pharo0.1Core-10304cl.zip
> has the invalid UTF-8 problem, just before 10305 changes that
> introduced decompiled code...
> So we might attack the problem with another code snippet:
>
> (SystemNavigation default browseAllCallsOn: (Smalltalk associationAt:
> #SourceFiles))...
>
> Hmm, I might have a better clue now.
> The problem might possibly come from the condenseChanges in update10298.
> What happen in a condenseChanges?
> Changes are copied to this file:
>
> f := FileStream fileNamed: 'ST80.temp'.
>
> So far, so good, because the concreteStream is a MultiByteFileStream.
>
> But the end finishes with:
>
>        SourceFiles
>                at: 2
>                put: (StandardFileStream oldFileNamed: oldChanges name)
>
> Waouh, no MultiByteFileStream here, so no more UTF-8.
> But hey, that would be the inverse problem: reading UTF-8 text with
> latin1 reader: I can't get an error doing this, only some strange
> sequence of characters... (The UTF-8 encoding)...
> Unless incriminated methods are further changed in #script376 or any
> other method... In which case they are written in latin1 in the
> changeLog...
> Hmm... That could be the case eventually. We must restart update
> process from http://gforge.inria.fr/frs/download.php/22167/Pharo0.1Core-10296cl-2.zip
>
> One thing is sure, at next returnFromSnapshot, FileDirectory
> class>>startup will reopen changes UTF-8.
> So saving the image will reopen UTF-8...
>
> But wait... Maybe we get enough pieces of the puzzle:
> Analyzing the Pharo0.1Core-10304cl.changes tells that Stephane applied
> several updates before snapshoting the image. So if Kernel and
> System-Support are changed between 10298 and 10304, then we get the
> explanation:
> - condense changes put all in the .changes in UTF-8 but reopen the
> changes in latin1
> - further updates up to 10304 write changes in latin1
> - image snapshot reopen changes in UTF-8 and thus we get further
> invalid UTF-8...
>
> That's easy to reproduce. Stef, can you confirm?
>
> That also explain why I did not get the problem at home: I update
> early and always save my image after.
> After that we still have to detect and clean while Monticello sources
> are interpreted UTF-8 when they should not (FIRST TRACK) , and
> eventually make source code go UTF-8 in Monticello, so that non latin
> programmers can use their favourite language eventually...
>
> Nicolas
>
> 2009/5/23 Stéphane Ducasse <[hidden email]>:
>> No problem I never interpreted it like that.
>> Me too I want a system that is working
>>
>> Adrian I will publish a fix for DNU now
>> and I will try later to check the fixes proposed by yoshiki
>>
>> stef
>>
>> On May 23, 2009, at 1:29 PM, Tudor Girba wrote:
>>
>>> Actually, the fix is even simpler: if you find a method that raises
>>> "invalid utf8 input detected", just browse to it with a class browser,
>>> and re-accept it :).
>>>
>>> With my previous mail, I was not implying that someone should fix it
>>> for me, I was merely asking for what could a quick solution be,
>>> because I was a bit lost (scared) :). Now, I am happy. Thanks for
>>> discussing it.
>>>
>>> Cheers,
>>> Doru
>>>
>>> On 23 May 2009, at 13:07, Tudor Girba wrote:
>>>
>>>> Hi,
>>>>
>>>> I attached here a DNU implementation I took from an older image.
>>>> After filing this one in, I can debug DNU problems.
>>>>
>>>> Cheers,
>>>> Doru
>>>>
>>>> <Object-doesNotUnderstand.st>
>>>>
>>>>
>>>>
>>>> On 23 May 2009, at 13:04, Stéphane Ducasse wrote:
>>>>
>>>>> I did the following
>>>>>
>>>>> (Object>>#doesNotUNderstand) getSourceFromFile and I get an
>>>>> invalid....
>>>>>
>>>>> Now when I take another method
>>>>>
>>>>> (BalloonFontTest>>#testDefaultFont) I do not get problem.
>>>>>
>>>>> I will reread carefully the mails of nicolas to try to understand,
>>>>> I do not know if the fixes of yoh
>>>>>
>>>>>     http://bugs.squeak.org/view.php?id=5996
>>>>> is related.
>>>>>
>>>>> Nicolas
>>>>>
>>>>>>> {Object>>#doesNotUnderstand:.
>>>>>>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>>>>>>> Utilities class>>#changeStampPerSe.
>>>>>>> Utilities class>>#methodsWithInitials:} collect: [:e | (e
>>>>>>> getSourceFromFile select: [:s | s charCode > 127]) asArray
>>>>>>> collect:
>>>>>>> [:c | c charCode]]
>>>>>
>>>>> I cannot get that code running it break before with me.
>>>>>
>>>>> Stef
>>>>>
>>>>> _______________________________________________
>>>>> Pharo-project mailing list
>>>>> [hidden email]
>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>
>>>> --
>>>> www.tudorgirba.com
>>>>
>>>> "Not knowing how to do something is not an argument for how it
>>>> cannot be done."
>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> [hidden email]
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>> --
>>> www.tudorgirba.com
>>>
>>> "Problem solving efficiency grows with the abstractness level of
>>> problem understanding."
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [hidden email]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
123