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 <nicolas.cellier.aka.nice@gmail.com>:
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 <girba@iam.unibe.ch>:
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 <stephane.ducasse@inria.fr>:
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 <stephane.ducasse@inria.fr>:
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 <stephane.ducasse@inria.fr>:
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 Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo- project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo- project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr 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 Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project