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 |
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 |
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 |
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 |
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 |
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 |
yes please!
On Fri, May 22, 2009 at 7:01 PM, Tudor Girba <[hidden email]> wrote: Hi, _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
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! _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
Free forum by Nabble | Edit this page |