[Pharo-project] invalid utf8 input detected
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."
I've seen this as well in 10306 on Linux. You can switch to the old debugger to avoid hitting the problem (but you are just avoiding the problem). The problem is with RemoteString and multiByte file and I thought that that problem had been solved ... perhaps not for all cases? If this is a problem for a number of folks, I could see if I can work out a workaround in the OTDebugger until the underlying problem is fixed. Dale ----- "Tudor Girba" <girba@iam.unibe.ch> 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
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
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
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
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
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
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
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."
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
Hmm, it does not work for me, as I get another invalid utf8 input detected :). Here is the trace. Cheers, Doru --------------------- '17 May 2009 2:04:55 pm 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 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) [] in UndefinedObject>>DoIt Receiver: nil Arguments and temporary variables: t1: a CompiledMethod (838) Receiver''s instance variables: nil Array(SequenceableCollection)>>collect: Receiver: #(a CompiledMethod (838) a CompiledMethod (3897) a CompiledMethod (1764) a CompiledMethod ...etc... Arguments and temporary variables: aBlock: [closure] in UndefinedObject>>DoIt newCollection: #(nil nil nil nil) index: 1 indexLimiT: 4 Receiver''s instance variables: #(a CompiledMethod (838) a CompiledMethod (3897) a CompiledMethod (1764) a CompiledMethod ...etc... UndefinedObject>>DoIt Receiver: nil Arguments and temporary variables: Receiver''s instance variables: nil Compiler>>evaluate:in:to:notifying:ifFail:logged: Receiver: a Compiler Arguments and temporary variables: <<error during printing> Receiver''s instance variables: sourceStream: a ReadWriteStream ''view := MOViewRenderer new. view nodes: (1 to:...etc... requestor: an OBTextMorphEditorWithShout class: UndefinedObject category: nil context: nil parser: a Parser [] in OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: <<error during printing> Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false BlockClosure>>on:do: Receiver: [closure] in OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection Arguments and temporary variables: exception: OutOfScopeNotification handlerAction: [closure] in OBTextMorphEditorWithShout(ParagraphEditor)>>evalua...etc... handlerActive: true Receiver''s instance variables: outerContext: OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection startpc: 116 numArgs: 0 OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: result: nil rcvr: nil ctxt: nil Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false OBTextMorphEditorWithShout(ParagraphEditor)>>doIt Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false [] in OBTextMorphEditorWithShout(ParagraphEditor)>>doIt: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: <<error during printing> Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false OBTextMorphEditorWithShout (ParagraphEditor)>>terminateAndInitializeAround: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: aBlock: [closure] in OBTextMorphEditorWithShout(ParagraphEditor)>>doIt: Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false OBTextMorphEditorWithShout(ParagraphEditor)>>doIt: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: characterStream: a WriteStream '''' Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false OBTextMorphEditorWithShout(ParagraphEditor)>>dispatchOnKeyEvent:with: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: keyEvent: [keystroke ''<Cmd-d>''] typeAheadStream: a WriteStream '''' honorCommandKeys: true keyValue: 100 keyChar: $d char: $d action: #doIt: Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false OBTextMorphEditorWithShout(TextMorphEditor)>>dispatchOnKeyEvent:with: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: keyEvent: [keystroke ''<Cmd-d>''] typeAheadStream: a WriteStream '''' Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false OBTextMorphEditorWithShout(ParagraphEditor)>>keystroke: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: keyEvent: [keystroke ''<Cmd-d>''] typeAhead: a WriteStream '''' Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false OBTextMorphEditorWithShout(TextMorphEditor)>>keystroke: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: keyEvent: [keystroke ''<Cmd-d>''] Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false [] in OBTextMorphWithShout(TextMorph)>>keyStroke: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: <<error during printing> Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false OBTextMorphWithShout(TextMorph)>>handleInteraction: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: interactionBlock: [closure] in OBTextMorphWithShout(TextMorph)>>keyStroke: oldEditor: an OBTextMorphEditorWithShout oldParagraph: a MultiNewParagraph oldText: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEa...etc... Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false OBTextMorphWithShout(TextMorphForEditView)>>handleInteraction: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: interActionBlock: [closure] in OBTextMorphWithShout(TextMorph)>>keyStroke: Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false OBTextMorphWithShout(TextMorph)>>keyStroke: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: evt: [keystroke ''<Cmd-d>''] action: nil Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false OBTextMorphWithShout(TextMorphForEditView)>>keyStroke: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: evt: [keystroke ''<Cmd-d>''] view: an OBPluggableTextMorphWithShout(3699) Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false OBTextMorphWithShout(OBTextMorph)>>keyStroke: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] stringHolder: an OTWorkspacePanel completionAllowed: false Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false OBTextMorphWithShout(TextMorph)>>handleKeystroke: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] pasteUp: nil Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false KeyboardEvent>>sentTo: Receiver: [keystroke ''<Cmd-d>''] Arguments and temporary variables: anObject: an OBTextMorphWithShout(4064) Receiver''s instance variables: timeStamp: 542561 source: a HandMorph(3216) windowIndex: nil type: #keystroke buttons: 64 position: 150@201 handler: nil wasHandled: true keyValue: 100 charCode: 100 scanCode: 2 OBTextMorphWithShout(Morph)>>handleEvent: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false OBTextMorphWithShout(Morph)>>handleFocusEvent: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false [] in HandMorph>>sendFocusEvent:to:clear: Receiver: a HandMorph(3216) Arguments and temporary variables: <<error during printing> Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil [] in PasteUpMorph>>becomeActiveDuring: Receiver: a PasteUpMorph(1622) [world] Arguments and temporary variables: <<error during printing> Receiver''s instance variables: bounds: 0@0 corner: 1424@807 owner: nil submorphs: an Array(a TaskbarMorph(3095) a SystemWindow(1875) a SystemWindow(13...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 BlockClosure>>on:do: Receiver: [closure] in PasteUpMorph>>becomeActiveDuring: Arguments and temporary variables: exception: Error handlerAction: [closure] in PasteUpMorph>>becomeActiveDuring: handlerActive: false Receiver''s instance variables: outerContext: PasteUpMorph>>becomeActiveDuring: startpc: 67 numArgs: 0 PasteUpMorph>>becomeActiveDuring: Receiver: a PasteUpMorph(1622) [world] Arguments and temporary variables: aBlock: [closure] in HandMorph>>sendFocusEvent:to:clear: priorWorld: a PasteUpMorph(1622) [world] priorHand: a HandMorph(3216) priorEvent: nil Receiver''s instance variables: bounds: 0@0 corner: 1424@807 owner: nil submorphs: an Array(a TaskbarMorph(3095) a SystemWindow(1875) a SystemWindow(13...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 HandMorph>>sendFocusEvent:to:clear: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] focusHolder: an OBTextMorphWithShout(4064) aBlock: [closure] in HandMorph>>sendKeyboardEvent: w: a PasteUpMorph(1622) [world] result: #(nil) Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil HandMorph>>sendEvent:focus:clear: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] focusHolder: an OBTextMorphWithShout(4064) aBlock: [closure] in HandMorph>>sendKeyboardEvent: result: nil Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil HandMorph>>sendKeyboardEvent: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil HandMorph>>handleEvent: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] evt: [keystroke ''<Cmd-d>''] ofs: nil Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil HandMorph>>processEvents Receiver: a HandMorph(3216) Arguments and temporary variables: evt: [keystroke ''<Cmd-d>''] evtBuf: #(2 542561 100 0 8 100 0 1) type: 2 hadAny: true Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil [] in WorldState>>doOneCycleNowFor: Receiver: a WorldState Arguments and temporary variables: <<error during printing> Receiver''s instance variables: hands: an Array(a HandMorph(3216)) viewBox: 0@0 corner: 1424@807 canvas: a FormCanvas on: DisplayScreen(1424x807x32) damageRecorder: a DamageRecorder stepList: a Heap(StepMessage(#stepAt: -> a SystemWindow(1169))(a SystemWindow(1...etc... lastStepTime: 697763 lastStepMessage: nil lastCycleTime: 697783 commandHistory: a CommandHistory alarms: a Heap() lastAlarmTime: 697763 Array(SequenceableCollection)>>do: Receiver: an Array(a HandMorph(3216)) Arguments and temporary variables: aBlock: [closure] in WorldState>>doOneCycleNowFor: index: 1 indexLimiT: 1 Receiver''s instance variables: an Array(a HandMorph(3216)) --- The full stack --- BlockClosure>>ensure: RemoteString>>text CompiledMethod>>getSourceFromFile [] in UndefinedObject>>DoIt Array(SequenceableCollection)>>collect: UndefinedObject>>DoIt Compiler>>evaluate:in:to:notifying:ifFail:logged: [] in OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection BlockClosure>>on:do: OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection OBTextMorphEditorWithShout(ParagraphEditor)>>doIt [] in OBTextMorphEditorWithShout(ParagraphEditor)>>doIt: OBTextMorphEditorWithShout (ParagraphEditor)>>terminateAndInitializeAround: OBTextMorphEditorWithShout(ParagraphEditor)>>doIt: OBTextMorphEditorWithShout(ParagraphEditor)>>dispatchOnKeyEvent:with: OBTextMorphEditorWithShout(TextMorphEditor)>>dispatchOnKeyEvent:with: OBTextMorphEditorWithShout(ParagraphEditor)>>keystroke: OBTextMorphEditorWithShout(TextMorphEditor)>>keystroke: [] in OBTextMorphWithShout(TextMorph)>>keyStroke: OBTextMorphWithShout(TextMorph)>>handleInteraction: OBTextMorphWithShout(TextMorphForEditView)>>handleInteraction: OBTextMorphWithShout(TextMorph)>>keyStroke: OBTextMorphWithShout(TextMorphForEditView)>>keyStroke: OBTextMorphWithShout(OBTextMorph)>>keyStroke: OBTextMorphWithShout(TextMorph)>>handleKeystroke: KeyboardEvent>>sentTo: OBTextMorphWithShout(Morph)>>handleEvent: OBTextMorphWithShout(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 17 May 2009, at 13:59, Nicolas Cellier wrote:
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
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- www.tudorgirba.com "If you interrupt the barber while he is cutting your hair, you will end up with a messy haircut."
2009/5/17 Tudor Girba <girba@iam.unibe.ch>:
Hmm, it does not work for me, as I get another invalid utf8 input detected :).
Here is the trace.
Sure, we don't have same change log. Either your change log has not been condensed, or I changed something in my image before condensing.
Cheers, Doru
--------------------- '17 May 2009 2:04:55 pm
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
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)
[] in UndefinedObject>>DoIt Receiver: nil Arguments and temporary variables: t1: a CompiledMethod (838) Receiver''s instance variables: nil
Array(SequenceableCollection)>>collect: Receiver: #(a CompiledMethod (838) a CompiledMethod (3897) a CompiledMethod (1764) a CompiledMethod ...etc... Arguments and temporary variables: aBlock: [closure] in UndefinedObject>>DoIt newCollection: #(nil nil nil nil) index: 1 indexLimiT: 4 Receiver''s instance variables: #(a CompiledMethod (838) a CompiledMethod (3897) a CompiledMethod (1764) a CompiledMethod ...etc...
UndefinedObject>>DoIt Receiver: nil Arguments and temporary variables:
Receiver''s instance variables: nil
Compiler>>evaluate:in:to:notifying:ifFail:logged: Receiver: a Compiler Arguments and temporary variables: <<error during printing> Receiver''s instance variables: sourceStream: a ReadWriteStream ''view := MOViewRenderer new. view nodes: (1 to:...etc... requestor: an OBTextMorphEditorWithShout class: UndefinedObject category: nil context: nil parser: a Parser
[] in OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: <<error during printing> Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
BlockClosure>>on:do: Receiver: [closure] in OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection Arguments and temporary variables: exception: OutOfScopeNotification handlerAction: [closure] in OBTextMorphEditorWithShout(ParagraphEditor)>>evalua...etc... handlerActive: true Receiver''s instance variables: outerContext: OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection startpc: 116 numArgs: 0
OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: result: nil rcvr: nil ctxt: nil Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout(ParagraphEditor)>>doIt Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables:
Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
[] in OBTextMorphEditorWithShout(ParagraphEditor)>>doIt: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: <<error during printing> Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout (ParagraphEditor)>>terminateAndInitializeAround: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: aBlock: [closure] in OBTextMorphEditorWithShout(ParagraphEditor)>>doIt: Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout(ParagraphEditor)>>doIt: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: characterStream: a WriteStream '''' Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout(ParagraphEditor)>>dispatchOnKeyEvent:with: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: keyEvent: [keystroke ''<Cmd-d>''] typeAheadStream: a WriteStream '''' honorCommandKeys: true keyValue: 100 keyChar: $d char: $d action: #doIt: Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout(TextMorphEditor)>>dispatchOnKeyEvent:with: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: keyEvent: [keystroke ''<Cmd-d>''] typeAheadStream: a WriteStream '''' Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout(ParagraphEditor)>>keystroke: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: keyEvent: [keystroke ''<Cmd-d>''] typeAhead: a WriteStream '''' Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout(TextMorphEditor)>>keystroke: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: keyEvent: [keystroke ''<Cmd-d>''] Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
[] in OBTextMorphWithShout(TextMorph)>>keyStroke: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: <<error during printing> Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(TextMorph)>>handleInteraction: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: interactionBlock: [closure] in OBTextMorphWithShout(TextMorph)>>keyStroke: oldEditor: an OBTextMorphEditorWithShout oldParagraph: a MultiNewParagraph oldText: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEa...etc... Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(TextMorphForEditView)>>handleInteraction: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: interActionBlock: [closure] in OBTextMorphWithShout(TextMorph)>>keyStroke: Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(TextMorph)>>keyStroke: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: evt: [keystroke ''<Cmd-d>''] action: nil Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(TextMorphForEditView)>>keyStroke: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: evt: [keystroke ''<Cmd-d>''] view: an OBPluggableTextMorphWithShout(3699) Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(OBTextMorph)>>keyStroke: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] stringHolder: an OTWorkspacePanel completionAllowed: false Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(TextMorph)>>handleKeystroke: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] pasteUp: nil Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
KeyboardEvent>>sentTo: Receiver: [keystroke ''<Cmd-d>''] Arguments and temporary variables: anObject: an OBTextMorphWithShout(4064) Receiver''s instance variables: timeStamp: 542561 source: a HandMorph(3216) windowIndex: nil type: #keystroke buttons: 64 position: 150@201 handler: nil wasHandled: true keyValue: 100 charCode: 100 scanCode: 2
OBTextMorphWithShout(Morph)>>handleEvent: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(Morph)>>handleFocusEvent: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
[] in HandMorph>>sendFocusEvent:to:clear: Receiver: a HandMorph(3216) Arguments and temporary variables: <<error during printing> Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil
[] in PasteUpMorph>>becomeActiveDuring: Receiver: a PasteUpMorph(1622) [world] Arguments and temporary variables: <<error during printing> Receiver''s instance variables: bounds: 0@0 corner: 1424@807 owner: nil submorphs: an Array(a TaskbarMorph(3095) a SystemWindow(1875) a SystemWindow(13...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
BlockClosure>>on:do: Receiver: [closure] in PasteUpMorph>>becomeActiveDuring: Arguments and temporary variables: exception: Error handlerAction: [closure] in PasteUpMorph>>becomeActiveDuring: handlerActive: false Receiver''s instance variables: outerContext: PasteUpMorph>>becomeActiveDuring: startpc: 67 numArgs: 0
PasteUpMorph>>becomeActiveDuring: Receiver: a PasteUpMorph(1622) [world] Arguments and temporary variables: aBlock: [closure] in HandMorph>>sendFocusEvent:to:clear: priorWorld: a PasteUpMorph(1622) [world] priorHand: a HandMorph(3216) priorEvent: nil Receiver''s instance variables: bounds: 0@0 corner: 1424@807 owner: nil submorphs: an Array(a TaskbarMorph(3095) a SystemWindow(1875) a SystemWindow(13...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
HandMorph>>sendFocusEvent:to:clear: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] focusHolder: an OBTextMorphWithShout(4064) aBlock: [closure] in HandMorph>>sendKeyboardEvent: w: a PasteUpMorph(1622) [world] result: #(nil) Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil
HandMorph>>sendEvent:focus:clear: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] focusHolder: an OBTextMorphWithShout(4064) aBlock: [closure] in HandMorph>>sendKeyboardEvent: result: nil Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil
HandMorph>>sendKeyboardEvent: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil
HandMorph>>handleEvent: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] evt: [keystroke ''<Cmd-d>''] ofs: nil Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil
HandMorph>>processEvents Receiver: a HandMorph(3216) Arguments and temporary variables: evt: [keystroke ''<Cmd-d>''] evtBuf: #(2 542561 100 0 8 100 0 1) type: 2 hadAny: true Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil
[] in WorldState>>doOneCycleNowFor: Receiver: a WorldState Arguments and temporary variables: <<error during printing> Receiver''s instance variables: hands: an Array(a HandMorph(3216)) viewBox: 0@0 corner: 1424@807 canvas: a FormCanvas on: DisplayScreen(1424x807x32) damageRecorder: a DamageRecorder stepList: a Heap(StepMessage(#stepAt: -> a SystemWindow(1169))(a SystemWindow(1...etc... lastStepTime: 697763 lastStepMessage: nil lastCycleTime: 697783 commandHistory: a CommandHistory alarms: a Heap() lastAlarmTime: 697763
Array(SequenceableCollection)>>do: Receiver: an Array(a HandMorph(3216)) Arguments and temporary variables: aBlock: [closure] in WorldState>>doOneCycleNowFor: index: 1 indexLimiT: 1 Receiver''s instance variables: an Array(a HandMorph(3216))
--- The full stack --- BlockClosure>>ensure: RemoteString>>text CompiledMethod>>getSourceFromFile [] in UndefinedObject>>DoIt Array(SequenceableCollection)>>collect: UndefinedObject>>DoIt Compiler>>evaluate:in:to:notifying:ifFail:logged: [] in OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection BlockClosure>>on:do: OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection OBTextMorphEditorWithShout(ParagraphEditor)>>doIt [] in OBTextMorphEditorWithShout(ParagraphEditor)>>doIt: OBTextMorphEditorWithShout (ParagraphEditor)>>terminateAndInitializeAround: OBTextMorphEditorWithShout(ParagraphEditor)>>doIt: OBTextMorphEditorWithShout(ParagraphEditor)>>dispatchOnKeyEvent:with: OBTextMorphEditorWithShout(TextMorphEditor)>>dispatchOnKeyEvent:with: OBTextMorphEditorWithShout(ParagraphEditor)>>keystroke: OBTextMorphEditorWithShout(TextMorphEditor)>>keystroke: [] in OBTextMorphWithShout(TextMorph)>>keyStroke: OBTextMorphWithShout(TextMorph)>>handleInteraction: OBTextMorphWithShout(TextMorphForEditView)>>handleInteraction: OBTextMorphWithShout(TextMorph)>>keyStroke: OBTextMorphWithShout(TextMorphForEditView)>>keyStroke: OBTextMorphWithShout(OBTextMorph)>>keyStroke: OBTextMorphWithShout(TextMorph)>>handleKeystroke: KeyboardEvent>>sentTo: OBTextMorphWithShout(Morph)>>handleEvent: OBTextMorphWithShout(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 17 May 2009, at 13:59, Nicolas Cellier wrote:
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
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- www.tudorgirba.com
"If you interrupt the barber while he is cutting your hair, you will end up with a messy haircut."
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Hi, Thanks. Applying the fix you attached improves the situation in that I do not get the invalid utf8 error when debugging Object>>doesNotUnderstand. However, the sources indeed appear as decompiled, and when I perform Smalltalk condenseChanges I still get an "Invalid utf8 input detected". Cheers, Doru On 17 May 2009, at 14:13, Nicolas Cellier wrote:
2009/5/17 Tudor Girba <girba@iam.unibe.ch>:
Hmm, it does not work for me, as I get another invalid utf8 input detected :).
Here is the trace.
Sure, we don't have same change log. Either your change log has not been condensed, or I changed something in my image before condensing.
Cheers, Doru
--------------------- '17 May 2009 2:04:55 pm
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
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)
[] in UndefinedObject>>DoIt Receiver: nil Arguments and temporary variables: t1: a CompiledMethod (838) Receiver''s instance variables: nil
Array(SequenceableCollection)>>collect: Receiver: #(a CompiledMethod (838) a CompiledMethod (3897) a CompiledMethod (1764) a CompiledMethod ...etc... Arguments and temporary variables: aBlock: [closure] in UndefinedObject>>DoIt newCollection: #(nil nil nil nil) index: 1 indexLimiT: 4 Receiver''s instance variables: #(a CompiledMethod (838) a CompiledMethod (3897) a CompiledMethod (1764) a CompiledMethod ...etc...
UndefinedObject>>DoIt Receiver: nil Arguments and temporary variables:
Receiver''s instance variables: nil
Compiler>>evaluate:in:to:notifying:ifFail:logged: Receiver: a Compiler Arguments and temporary variables: <<error during printing> Receiver''s instance variables: sourceStream: a ReadWriteStream ''view := MOViewRenderer new. view nodes: (1 to:...etc... requestor: an OBTextMorphEditorWithShout class: UndefinedObject category: nil context: nil parser: a Parser
[] in OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: <<error during printing> Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
BlockClosure>>on:do: Receiver: [closure] in OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection Arguments and temporary variables: exception: OutOfScopeNotification handlerAction: [closure] in OBTextMorphEditorWithShout(ParagraphEditor)>>evalua...etc... handlerActive: true Receiver''s instance variables: outerContext: OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection startpc: 116 numArgs: 0
OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: result: nil rcvr: nil ctxt: nil Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout(ParagraphEditor)>>doIt Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables:
Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
[] in OBTextMorphEditorWithShout(ParagraphEditor)>>doIt: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: <<error during printing> Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout (ParagraphEditor)>>terminateAndInitializeAround: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: aBlock: [closure] in OBTextMorphEditorWithShout(ParagraphEditor)>>doIt: Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout(ParagraphEditor)>>doIt: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: characterStream: a WriteStream '''' Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout(ParagraphEditor)>>dispatchOnKeyEvent:with: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: keyEvent: [keystroke ''<Cmd-d>''] typeAheadStream: a WriteStream '''' honorCommandKeys: true keyValue: 100 keyChar: $d char: $d action: #doIt: Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout(TextMorphEditor)>>dispatchOnKeyEvent:with: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: keyEvent: [keystroke ''<Cmd-d>''] typeAheadStream: a WriteStream '''' Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout(ParagraphEditor)>>keystroke: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: keyEvent: [keystroke ''<Cmd-d>''] typeAhead: a WriteStream '''' Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout(TextMorphEditor)>>keystroke: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: keyEvent: [keystroke ''<Cmd-d>''] Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
[] in OBTextMorphWithShout(TextMorph)>>keyStroke: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: <<error during printing> Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(TextMorph)>>handleInteraction: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: interactionBlock: [closure] in OBTextMorphWithShout(TextMorph)>>keyStroke: oldEditor: an OBTextMorphEditorWithShout oldParagraph: a MultiNewParagraph oldText: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEa...etc... Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(TextMorphForEditView)>>handleInteraction: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: interActionBlock: [closure] in OBTextMorphWithShout(TextMorph)>>keyStroke: Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(TextMorph)>>keyStroke: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: evt: [keystroke ''<Cmd-d>''] action: nil Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(TextMorphForEditView)>>keyStroke: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: evt: [keystroke ''<Cmd-d>''] view: an OBPluggableTextMorphWithShout(3699) Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(OBTextMorph)>>keyStroke: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] stringHolder: an OTWorkspacePanel completionAllowed: false Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(TextMorph)>>handleKeystroke: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] pasteUp: nil Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
KeyboardEvent>>sentTo: Receiver: [keystroke ''<Cmd-d>''] Arguments and temporary variables: anObject: an OBTextMorphWithShout(4064) Receiver''s instance variables: timeStamp: 542561 source: a HandMorph(3216) windowIndex: nil type: #keystroke buttons: 64 position: 150@201 handler: nil wasHandled: true keyValue: 100 charCode: 100 scanCode: 2
OBTextMorphWithShout(Morph)>>handleEvent: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(Morph)>>handleFocusEvent: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
[] in HandMorph>>sendFocusEvent:to:clear: Receiver: a HandMorph(3216) Arguments and temporary variables: <<error during printing> Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil
[] in PasteUpMorph>>becomeActiveDuring: Receiver: a PasteUpMorph(1622) [world] Arguments and temporary variables: <<error during printing> Receiver''s instance variables: bounds: 0@0 corner: 1424@807 owner: nil submorphs: an Array(a TaskbarMorph(3095) a SystemWindow(1875) a SystemWindow(13...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
BlockClosure>>on:do: Receiver: [closure] in PasteUpMorph>>becomeActiveDuring: Arguments and temporary variables: exception: Error handlerAction: [closure] in PasteUpMorph>>becomeActiveDuring: handlerActive: false Receiver''s instance variables: outerContext: PasteUpMorph>>becomeActiveDuring: startpc: 67 numArgs: 0
PasteUpMorph>>becomeActiveDuring: Receiver: a PasteUpMorph(1622) [world] Arguments and temporary variables: aBlock: [closure] in HandMorph>>sendFocusEvent:to:clear: priorWorld: a PasteUpMorph(1622) [world] priorHand: a HandMorph(3216) priorEvent: nil Receiver''s instance variables: bounds: 0@0 corner: 1424@807 owner: nil submorphs: an Array(a TaskbarMorph(3095) a SystemWindow(1875) a SystemWindow(13...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
HandMorph>>sendFocusEvent:to:clear: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] focusHolder: an OBTextMorphWithShout(4064) aBlock: [closure] in HandMorph>>sendKeyboardEvent: w: a PasteUpMorph(1622) [world] result: #(nil) Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil
HandMorph>>sendEvent:focus:clear: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] focusHolder: an OBTextMorphWithShout(4064) aBlock: [closure] in HandMorph>>sendKeyboardEvent: result: nil Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil
HandMorph>>sendKeyboardEvent: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil
HandMorph>>handleEvent: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] evt: [keystroke ''<Cmd-d>''] ofs: nil Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil
HandMorph>>processEvents Receiver: a HandMorph(3216) Arguments and temporary variables: evt: [keystroke ''<Cmd-d>''] evtBuf: #(2 542561 100 0 8 100 0 1) type: 2 hadAny: true Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil
[] in WorldState>>doOneCycleNowFor: Receiver: a WorldState Arguments and temporary variables: <<error during printing> Receiver''s instance variables: hands: an Array(a HandMorph(3216)) viewBox: 0@0 corner: 1424@807 canvas: a FormCanvas on: DisplayScreen(1424x807x32) damageRecorder: a DamageRecorder stepList: a Heap(StepMessage(#stepAt: -> a SystemWindow(1169))(a SystemWindow(1...etc... lastStepTime: 697763 lastStepMessage: nil lastCycleTime: 697783 commandHistory: a CommandHistory alarms: a Heap() lastAlarmTime: 697763
Array(SequenceableCollection)>>do: Receiver: an Array(a HandMorph(3216)) Arguments and temporary variables: aBlock: [closure] in WorldState>>doOneCycleNowFor: index: 1 indexLimiT: 1 Receiver''s instance variables: an Array(a HandMorph(3216))
--- The full stack --- BlockClosure>>ensure: RemoteString>>text CompiledMethod>>getSourceFromFile [] in UndefinedObject>>DoIt Array(SequenceableCollection)>>collect: UndefinedObject>>DoIt Compiler>>evaluate:in:to:notifying:ifFail:logged: [] in OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection BlockClosure>>on:do: OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection OBTextMorphEditorWithShout(ParagraphEditor)>>doIt [] in OBTextMorphEditorWithShout(ParagraphEditor)>>doIt: OBTextMorphEditorWithShout (ParagraphEditor)>>terminateAndInitializeAround: OBTextMorphEditorWithShout(ParagraphEditor)>>doIt: OBTextMorphEditorWithShout(ParagraphEditor)>>dispatchOnKeyEvent:with: OBTextMorphEditorWithShout(TextMorphEditor)>>dispatchOnKeyEvent:with: OBTextMorphEditorWithShout(ParagraphEditor)>>keystroke: OBTextMorphEditorWithShout(TextMorphEditor)>>keystroke: [] in OBTextMorphWithShout(TextMorph)>>keyStroke: OBTextMorphWithShout(TextMorph)>>handleInteraction: OBTextMorphWithShout(TextMorphForEditView)>>handleInteraction: OBTextMorphWithShout(TextMorph)>>keyStroke: OBTextMorphWithShout(TextMorphForEditView)>>keyStroke: OBTextMorphWithShout(OBTextMorph)>>keyStroke: OBTextMorphWithShout(TextMorph)>>handleKeystroke: KeyboardEvent>>sentTo: OBTextMorphWithShout(Morph)>>handleEvent: OBTextMorphWithShout(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 17 May 2009, at 13:59, Nicolas Cellier wrote:
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
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- www.tudorgirba.com
"If you interrupt the barber while he is cutting your hair, you will end up with a messy haircut."
_______________________________________________ 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 what we do that matters most, it's how we do it."
Oh, now I got into another problem when debugging I get an UndefinedObject>>DNU: #deguggerMap in OTClosureContextNode>>selection (see attached trace). I must admit I am lost :) Cheers, Doru ---------- '17 May 2009 2:47:39 pm 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 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: UndefinedObject>>DoIt 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: UndefinedObject>>DoIt 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: an OBMethodDefinition selection: (111 to: 116) OTDefinitionPanel(OBDefinitionPanel)>>selectionChanged: Receiver: an OTDefinitionPanel Arguments and temporary variables: ann: an OBSelectionChanged Receiver''s instance variables: browser: an OTDebugger definition: an OBMethodDefinition selection: (111 to: 116) 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... OBColumn>>signalSelectionChanged Receiver: an OBColumn(UndefinedObject>>DoIt) Arguments and temporary variables: Receiver''s instance variables: panel: an OBColumnPanel switch: an OBSwitch listHolder: an OBList selection: 1 OBColumn>>selection: Receiver: an OBColumn(UndefinedObject>>DoIt) Arguments and temporary variables: anInteger: 2 Receiver''s instance variables: panel: an OBColumnPanel switch: an OBSwitch listHolder: an OBList selection: 1 OBPluggableListMorph(PluggableListMorph)>>changeModelSelection: Receiver: an OBPluggableListMorph(1687) Arguments and temporary variables: anInteger: 2 Receiver''s instance variables: bounds: 0@0 corner: 590@152 owner: an OBPane(2254) submorphs: an Array(a ScrollBar(298) a ScrollBar(3558) a TransformMorph(2609)) fullBounds: 0@0 corner: 590@152 color: Color white extension: a MorphExtension (2952) [other: (dragEnabled -> true) (dropEnabled ...etc... borderWidth: 0 borderColor: Color black model: an OBColumn(UndefinedObject>>DoIt) slotName: nil open: false scrollBar: a ScrollBar(3558) scroller: a TransformMorph(2609) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #menu: getMenuTitleSelector: nil hasFocus: false hScrollBar: a ScrollBar(298) list: nil getListSelector: #list getListSizeSelector: #listSize getListElementSelector: #listAt: getIndexSelector: #selection setIndexSelector: #selection: keystrokeActionSelector: #keystroke:from: autoDeselect: false lastKeystrokeTime: 0 lastKeystrokes: '''' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: an OBLazyListMorph(2317) hScrollRangeCache: nil OBPluggableListMorph>>mouseUp: Receiver: an OBPluggableListMorph(1687) Arguments and temporary variables: event: [135@16 mouseUp 46488 nil] row: 2 Receiver''s instance variables: bounds: 0@0 corner: 590@152 owner: an OBPane(2254) submorphs: an Array(a ScrollBar(298) a ScrollBar(3558) a TransformMorph(2609)) fullBounds: 0@0 corner: 590@152 color: Color white extension: a MorphExtension (2952) [other: (dragEnabled -> true) (dropEnabled ...etc... borderWidth: 0 borderColor: Color black model: an OBColumn(UndefinedObject>>DoIt) slotName: nil open: false scrollBar: a ScrollBar(3558) scroller: a TransformMorph(2609) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #menu: getMenuTitleSelector: nil hasFocus: false hScrollBar: a ScrollBar(298) list: nil getListSelector: #list getListSizeSelector: #listSize getListElementSelector: #listAt: getIndexSelector: #selection setIndexSelector: #selection: keystrokeActionSelector: #keystroke:from: autoDeselect: false lastKeystrokeTime: 0 lastKeystrokes: '''' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: an OBLazyListMorph(2317) hScrollRangeCache: nil OBPluggableListMorph(Morph)>>handleMouseUp: Receiver: an OBPluggableListMorph(1687) Arguments and temporary variables: anEvent: [135@16 mouseUp 46488 nil] Receiver''s instance variables: bounds: 0@0 corner: 590@152 owner: an OBPane(2254) submorphs: an Array(a ScrollBar(298) a ScrollBar(3558) a TransformMorph(2609)) fullBounds: 0@0 corner: 590@152 color: Color white extension: a MorphExtension (2952) [other: (dragEnabled -> true) (dropEnabled ...etc... borderWidth: 0 borderColor: Color black model: an OBColumn(UndefinedObject>>DoIt) slotName: nil open: false scrollBar: a ScrollBar(3558) scroller: a TransformMorph(2609) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #menu: getMenuTitleSelector: nil hasFocus: false hScrollBar: a ScrollBar(298) list: nil getListSelector: #list getListSizeSelector: #listSize getListElementSelector: #listAt: getIndexSelector: #selection setIndexSelector: #selection: keystrokeActionSelector: #keystroke:from: autoDeselect: false lastKeystrokeTime: 0 lastKeystrokes: '''' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: an OBLazyListMorph(2317) hScrollRangeCache: nil MouseButtonEvent>>sentTo: Receiver: [135@16 mouseUp 46488 nil] Arguments and temporary variables: anObject: an OBPluggableListMorph(1687) Receiver''s instance variables: timeStamp: 46488 source: a HandMorph(3216) windowIndex: nil type: #mouseUp buttons: 0 position: 135@16 handler: nil wasHandled: true whichButton: 4 OBPluggableListMorph(Morph)>>handleEvent: Receiver: an OBPluggableListMorph(1687) Arguments and temporary variables: anEvent: [135@16 mouseUp 46488 nil] Receiver''s instance variables: bounds: 0@0 corner: 590@152 owner: an OBPane(2254) submorphs: an Array(a ScrollBar(298) a ScrollBar(3558) a TransformMorph(2609)) fullBounds: 0@0 corner: 590@152 color: Color white extension: a MorphExtension (2952) [other: (dragEnabled -> true) (dropEnabled ...etc... borderWidth: 0 borderColor: Color black model: an OBColumn(UndefinedObject>>DoIt) slotName: nil open: false scrollBar: a ScrollBar(3558) scroller: a TransformMorph(2609) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #menu: getMenuTitleSelector: nil hasFocus: false hScrollBar: a ScrollBar(298) list: nil getListSelector: #list getListSizeSelector: #listSize getListElementSelector: #listAt: getIndexSelector: #selection setIndexSelector: #selection: keystrokeActionSelector: #keystroke:from: autoDeselect: false lastKeystrokeTime: 0 lastKeystrokes: '''' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: an OBLazyListMorph(2317) hScrollRangeCache: nil MorphicEventDispatcher>>dispatchDefault:with: Receiver: a MorphicEventDispatcher Arguments and temporary variables: anEvent: [135@16 mouseUp 46488 nil] aMorph: an OBPluggableListMorph(1687) localEvt: [135@16 mouseUp 46488 nil] index: 4 child: a TransformMorph(2609) morphs: an Array(a ScrollBar(298) a ScrollBar(3558) a TransformMorph(2609)) inside: true Receiver''s instance variables: lastType: #mouseUp lastDispatch: #dispatchDefault:with: MorphicEventDispatcher>>dispatchEvent:with: Receiver: a MorphicEventDispatcher Arguments and temporary variables: anEvent: [135@16 mouseUp 46488 nil] aMorph: an OBPluggableListMorph(1687) Receiver''s instance variables: lastType: #mouseUp lastDispatch: #dispatchDefault:with: OBPluggableListMorph(Morph)>>processEvent:using: Receiver: an OBPluggableListMorph(1687) Arguments and temporary variables: anEvent: [135@16 mouseUp 46488 nil] defaultDispatcher: a MorphicEventDispatcher Receiver''s instance variables: bounds: 0@0 corner: 590@152 owner: an OBPane(2254) submorphs: an Array(a ScrollBar(298) a ScrollBar(3558) a TransformMorph(2609)) fullBounds: 0@0 corner: 590@152 color: Color white extension: a MorphExtension (2952) [other: (dragEnabled -> true) (dropEnabled ...etc... borderWidth: 0 borderColor: Color black model: an OBColumn(UndefinedObject>>DoIt) slotName: nil open: false scrollBar: a ScrollBar(3558) scroller: a TransformMorph(2609) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #menu: getMenuTitleSelector: nil hasFocus: false hScrollBar: a ScrollBar(298) list: nil getListSelector: #list getListSizeSelector: #listSize getListElementSelector: #listAt: getIndexSelector: #selection setIndexSelector: #selection: keystrokeActionSelector: #keystroke:from: autoDeselect: false lastKeystrokeTime: 0 lastKeystrokes: '''' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: an OBLazyListMorph(2317) hScrollRangeCache: nil OBPluggableListMorph(Morph)>>processEvent: Receiver: an OBPluggableListMorph(1687) Arguments and temporary variables: anEvent: [135@16 mouseUp 46488 nil] Receiver''s instance variables: bounds: 0@0 corner: 590@152 owner: an OBPane(2254) submorphs: an Array(a ScrollBar(298) a ScrollBar(3558) a TransformMorph(2609)) fullBounds: 0@0 corner: 590@152 color: Color white extension: a MorphExtension (2952) [other: (dragEnabled -> true) (dropEnabled ...etc... borderWidth: 0 borderColor: Color black model: an OBColumn(UndefinedObject>>DoIt) slotName: nil open: false scrollBar: a ScrollBar(3558) scroller: a TransformMorph(2609) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #menu: getMenuTitleSelector: nil hasFocus: false hScrollBar: a ScrollBar(298) list: nil getListSelector: #list getListSizeSelector: #listSize getListElementSelector: #listAt: getIndexSelector: #selection setIndexSelector: #selection: keystrokeActionSelector: #keystroke:from: autoDeselect: false lastKeystrokeTime: 0 lastKeystrokes: '''' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: an OBLazyListMorph(2317) hScrollRangeCache: nil OBPluggableListMorph(PluggableListMorph)>>handleFocusEvent: Receiver: an OBPluggableListMorph(1687) Arguments and temporary variables: anEvent: [135@16 mouseUp 46488 nil] Receiver''s instance variables: bounds: 0@0 corner: 590@152 owner: an OBPane(2254) submorphs: an Array(a ScrollBar(298) a ScrollBar(3558) a TransformMorph(2609)) fullBounds: 0@0 corner: 590@152 color: Color white extension: a MorphExtension (2952) [other: (dragEnabled -> true) (dropEnabled ...etc... borderWidth: 0 borderColor: Color black model: an OBColumn(UndefinedObject>>DoIt) slotName: nil open: false scrollBar: a ScrollBar(3558) scroller: a TransformMorph(2609) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #menu: getMenuTitleSelector: nil hasFocus: false hScrollBar: a ScrollBar(298) list: nil getListSelector: #list getListSizeSelector: #listSize getListElementSelector: #listAt: getIndexSelector: #selection setIndexSelector: #selection: keystrokeActionSelector: #keystroke:from: autoDeselect: false lastKeystrokeTime: 0 lastKeystrokes: '''' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: an OBLazyListMorph(2317) hScrollRangeCache: nil [] in HandMorph>>sendFocusEvent:to:clear: Receiver: a HandMorph(3216) Arguments and temporary variables: <<error during printing> Receiver''s instance variables: bounds: 987@479 corner: 1003@495 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 987@479 corner: 1003@495 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [987@479 mouseUp 173200 nil] targetOffset: 143@54 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 173200 987 479 0 0 0 1) lastKeyScanCode: 126 combinedChar: nil [] in PasteUpMorph>>becomeActiveDuring: Receiver: a PasteUpMorph(1622) [world] Arguments and temporary variables: <<error during printing> Receiver''s instance variables: bounds: 0@0 corner: 1424@807 owner: nil submorphs: an Array(a TaskbarMorph(3095) a SystemWindow(3689) a SystemWindow(31...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.028 g: 0.028 b: 0.024) 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 BlockClosure>>on:do: Receiver: [closure] in PasteUpMorph>>becomeActiveDuring: Arguments and temporary variables: exception: Error handlerAction: [closure] in PasteUpMorph>>becomeActiveDuring: handlerActive: false Receiver''s instance variables: outerContext: PasteUpMorph>>becomeActiveDuring: startpc: 67 numArgs: 0 PasteUpMorph>>becomeActiveDuring: Receiver: a PasteUpMorph(1622) [world] Arguments and temporary variables: aBlock: [closure] in HandMorph>>sendFocusEvent:to:clear: priorWorld: a PasteUpMorph(1622) [world] priorHand: a HandMorph(3216) priorEvent: [293@48 mouseOver red nil nil] Receiver''s instance variables: bounds: 0@0 corner: 1424@807 owner: nil submorphs: an Array(a TaskbarMorph(3095) a SystemWindow(3689) a SystemWindow(31...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.028 g: 0.028 b: 0.024) 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 HandMorph>>sendFocusEvent:to:clear: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [293@48 mouseUp 46488 nil] focusHolder: an OBPluggableListMorph(1687) aBlock: [closure] in HandMorph>>sendMouseEvent: w: a PasteUpMorph(1622) [world] result: #(nil) Receiver''s instance variables: bounds: 987@479 corner: 1003@495 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 987@479 corner: 1003@495 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [987@479 mouseUp 173200 nil] targetOffset: 143@54 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 173200 987 479 0 0 0 1) lastKeyScanCode: 126 combinedChar: nil HandMorph>>sendEvent:focus:clear: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [293@48 mouseUp 46488 nil] focusHolder: an OBPluggableListMorph(1687) aBlock: [closure] in HandMorph>>sendMouseEvent: result: nil Receiver''s instance variables: bounds: 987@479 corner: 1003@495 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 987@479 corner: 1003@495 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [987@479 mouseUp 173200 nil] targetOffset: 143@54 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 173200 987 479 0 0 0 1) lastKeyScanCode: 126 combinedChar: nil HandMorph>>sendMouseEvent: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [293@48 mouseUp 46488 nil] Receiver''s instance variables: bounds: 987@479 corner: 1003@495 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 987@479 corner: 1003@495 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [987@479 mouseUp 173200 nil] targetOffset: 143@54 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 173200 987 479 0 0 0 1) lastKeyScanCode: 126 combinedChar: nil HandMorph>>handleEvent: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [293@48 mouseUp 46488 nil] evt: [293@48 mouseUp 46488 nil] ofs: nil Receiver''s instance variables: bounds: 987@479 corner: 1003@495 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 987@479 corner: 1003@495 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [987@479 mouseUp 173200 nil] targetOffset: 143@54 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 173200 987 479 0 0 0 1) lastKeyScanCode: 126 combinedChar: nil HandMorph>>processEvents Receiver: a HandMorph(3216) Arguments and temporary variables: evt: [293@48 mouseUp 46488 nil] evtBuf: #(1 46488 293 48 0 0 0 1) type: 1 hadAny: false Receiver''s instance variables: bounds: 987@479 corner: 1003@495 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 987@479 corner: 1003@495 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [987@479 mouseUp 173200 nil] targetOffset: 143@54 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 173200 987 479 0 0 0 1) lastKeyScanCode: 126 combinedChar: nil [] in WorldState>>doOneCycleNowFor: Receiver: a WorldState Arguments and temporary variables: <<error during printing> Receiver''s instance variables: hands: an Array(a HandMorph(3216)) viewBox: 0@0 corner: 1424@807 canvas: a FormCanvas on: DisplayScreen(1424x807x32) damageRecorder: a DamageRecorder stepList: a Heap(StepMessage(#stepAt: -> a SystemWindow(1898))(a SystemWindow(1...etc... lastStepTime: 173182 lastStepMessage: nil lastCycleTime: 173201 commandHistory: a CommandHistory alarms: a Heap() lastAlarmTime: 173182 Array(SequenceableCollection)>>do: Receiver: an Array(a HandMorph(3216)) Arguments and temporary variables: aBlock: [closure] in WorldState>>doOneCycleNowFor: index: 1 indexLimiT: 1 Receiver''s instance variables: an Array(a HandMorph(3216)) WorldState>>handsDo: Receiver: a WorldState Arguments and temporary variables: aBlock: [closure] in WorldState>>doOneCycleNowFor: Receiver''s instance variables: hands: an Array(a HandMorph(3216)) viewBox: 0@0 corner: 1424@807 canvas: a FormCanvas on: DisplayScreen(1424x807x32) damageRecorder: a DamageRecorder stepList: a Heap(StepMessage(#stepAt: -> a SystemWindow(1898))(a SystemWindow(1...etc... lastStepTime: 173182 lastStepMessage: nil lastCycleTime: 173201 commandHistory: a CommandHistory alarms: a Heap() lastAlarmTime: 173182 WorldState>>doOneCycleNowFor: Receiver: a WorldState Arguments and temporary variables: aWorld: a PasteUpMorph(1622) [world] Receiver''s instance variables: hands: an Array(a HandMorph(3216)) viewBox: 0@0 corner: 1424@807 canvas: a FormCanvas on: DisplayScreen(1424x807x32) damageRecorder: a DamageRecorder stepList: a Heap(StepMessage(#stepAt: -> a SystemWindow(1898))(a SystemWindow(1...etc... lastStepTime: 173182 lastStepMessage: nil lastCycleTime: 173201 commandHistory: a CommandHistory alarms: a Heap() lastAlarmTime: 173182 --- The full stack --- 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: OBColumn>>signalSelectionChanged OBColumn>>selection: OBPluggableListMorph(PluggableListMorph)>>changeModelSelection: OBPluggableListMorph>>mouseUp: OBPluggableListMorph(Morph)>>handleMouseUp: MouseButtonEvent>>sentTo: OBPluggableListMorph(Morph)>>handleEvent: MorphicEventDispatcher>>dispatchDefault:with: MorphicEventDispatcher>>dispatchEvent:with: OBPluggableListMorph(Morph)>>processEvent:using: OBPluggableListMorph(Morph)>>processEvent: OBPluggableListMorph(PluggableListMorph)>>handleFocusEvent: [] in HandMorph>>sendFocusEvent:to:clear: [] in PasteUpMorph>>becomeActiveDuring: BlockClosure>>on:do: PasteUpMorph>>becomeActiveDuring: HandMorph>>sendFocusEvent:to:clear: HandMorph>>sendEvent:focus:clear: HandMorph>>sendMouseEvent: 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 17 May 2009, at 14:44, Tudor Girba wrote:
Hi,
Thanks. Applying the fix you attached improves the situation in that I do not get the invalid utf8 error when debugging Object>>doesNotUnderstand.
However, the sources indeed appear as decompiled, and when I perform Smalltalk condenseChanges I still get an "Invalid utf8 input detected".
Cheers, Doru
On 17 May 2009, at 14:13, Nicolas Cellier wrote:
2009/5/17 Tudor Girba <girba@iam.unibe.ch>:
Hmm, it does not work for me, as I get another invalid utf8 input detected :).
Here is the trace.
Sure, we don't have same change log. Either your change log has not been condensed, or I changed something in my image before condensing.
Cheers, Doru
--------------------- '17 May 2009 2:04:55 pm
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
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)
[] in UndefinedObject>>DoIt Receiver: nil Arguments and temporary variables: t1: a CompiledMethod (838) Receiver''s instance variables: nil
Array(SequenceableCollection)>>collect: Receiver: #(a CompiledMethod (838) a CompiledMethod (3897) a CompiledMethod (1764) a CompiledMethod ...etc... Arguments and temporary variables: aBlock: [closure] in UndefinedObject>>DoIt newCollection: #(nil nil nil nil) index: 1 indexLimiT: 4 Receiver''s instance variables: #(a CompiledMethod (838) a CompiledMethod (3897) a CompiledMethod (1764) a CompiledMethod ...etc...
UndefinedObject>>DoIt Receiver: nil Arguments and temporary variables:
Receiver''s instance variables: nil
Compiler>>evaluate:in:to:notifying:ifFail:logged: Receiver: a Compiler Arguments and temporary variables: <<error during printing> Receiver''s instance variables: sourceStream: a ReadWriteStream ''view := MOViewRenderer new. view nodes: (1 to:...etc... requestor: an OBTextMorphEditorWithShout class: UndefinedObject category: nil context: nil parser: a Parser
[] in OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: <<error during printing> Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
BlockClosure>>on:do: Receiver: [closure] in OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection Arguments and temporary variables: exception: OutOfScopeNotification handlerAction: [closure] in OBTextMorphEditorWithShout(ParagraphEditor)>>evalua...etc... handlerActive: true Receiver''s instance variables: outerContext: OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection startpc: 116 numArgs: 0
OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: result: nil rcvr: nil ctxt: nil Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout(ParagraphEditor)>>doIt Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables:
Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
[] in OBTextMorphEditorWithShout(ParagraphEditor)>>doIt: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: <<error during printing> Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout (ParagraphEditor)>>terminateAndInitializeAround: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: aBlock: [closure] in OBTextMorphEditorWithShout(ParagraphEditor)>>doIt: Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout(ParagraphEditor)>>doIt: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: characterStream: a WriteStream '''' Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout (ParagraphEditor)>>dispatchOnKeyEvent:with: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: keyEvent: [keystroke ''<Cmd-d>''] typeAheadStream: a WriteStream '''' honorCommandKeys: true keyValue: 100 keyChar: $d char: $d action: #doIt: Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout (TextMorphEditor)>>dispatchOnKeyEvent:with: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: keyEvent: [keystroke ''<Cmd-d>''] typeAheadStream: a WriteStream '''' Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout(ParagraphEditor)>>keystroke: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: keyEvent: [keystroke ''<Cmd-d>''] typeAhead: a WriteStream '''' Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout(TextMorphEditor)>>keystroke: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: keyEvent: [keystroke ''<Cmd-d>''] Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
[] in OBTextMorphWithShout(TextMorph)>>keyStroke: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: <<error during printing> Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(TextMorph)>>handleInteraction: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: interactionBlock: [closure] in OBTextMorphWithShout(TextMorph)>>keyStroke: oldEditor: an OBTextMorphEditorWithShout oldParagraph: a MultiNewParagraph oldText: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEa...etc... Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(TextMorphForEditView)>>handleInteraction: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: interActionBlock: [closure] in OBTextMorphWithShout(TextMorph)>>keyStroke: Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(TextMorph)>>keyStroke: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: evt: [keystroke ''<Cmd-d>''] action: nil Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(TextMorphForEditView)>>keyStroke: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: evt: [keystroke ''<Cmd-d>''] view: an OBPluggableTextMorphWithShout(3699) Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(OBTextMorph)>>keyStroke: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] stringHolder: an OTWorkspacePanel completionAllowed: false Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(TextMorph)>>handleKeystroke: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] pasteUp: nil Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
KeyboardEvent>>sentTo: Receiver: [keystroke ''<Cmd-d>''] Arguments and temporary variables: anObject: an OBTextMorphWithShout(4064) Receiver''s instance variables: timeStamp: 542561 source: a HandMorph(3216) windowIndex: nil type: #keystroke buttons: 64 position: 150@201 handler: nil wasHandled: true keyValue: 100 charCode: 100 scanCode: 2
OBTextMorphWithShout(Morph)>>handleEvent: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(Morph)>>handleFocusEvent: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
[] in HandMorph>>sendFocusEvent:to:clear: Receiver: a HandMorph(3216) Arguments and temporary variables: <<error during printing> Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil
[] in PasteUpMorph>>becomeActiveDuring: Receiver: a PasteUpMorph(1622) [world] Arguments and temporary variables: <<error during printing> Receiver''s instance variables: bounds: 0@0 corner: 1424@807 owner: nil submorphs: an Array(a TaskbarMorph(3095) a SystemWindow(1875) a SystemWindow(13...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
BlockClosure>>on:do: Receiver: [closure] in PasteUpMorph>>becomeActiveDuring: Arguments and temporary variables: exception: Error handlerAction: [closure] in PasteUpMorph>>becomeActiveDuring: handlerActive: false Receiver''s instance variables: outerContext: PasteUpMorph>>becomeActiveDuring: startpc: 67 numArgs: 0
PasteUpMorph>>becomeActiveDuring: Receiver: a PasteUpMorph(1622) [world] Arguments and temporary variables: aBlock: [closure] in HandMorph>>sendFocusEvent:to:clear: priorWorld: a PasteUpMorph(1622) [world] priorHand: a HandMorph(3216) priorEvent: nil Receiver''s instance variables: bounds: 0@0 corner: 1424@807 owner: nil submorphs: an Array(a TaskbarMorph(3095) a SystemWindow(1875) a SystemWindow(13...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
HandMorph>>sendFocusEvent:to:clear: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] focusHolder: an OBTextMorphWithShout(4064) aBlock: [closure] in HandMorph>>sendKeyboardEvent: w: a PasteUpMorph(1622) [world] result: #(nil) Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil
HandMorph>>sendEvent:focus:clear: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] focusHolder: an OBTextMorphWithShout(4064) aBlock: [closure] in HandMorph>>sendKeyboardEvent: result: nil Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil
HandMorph>>sendKeyboardEvent: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil
HandMorph>>handleEvent: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] evt: [keystroke ''<Cmd-d>''] ofs: nil Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil
HandMorph>>processEvents Receiver: a HandMorph(3216) Arguments and temporary variables: evt: [keystroke ''<Cmd-d>''] evtBuf: #(2 542561 100 0 8 100 0 1) type: 2 hadAny: true Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil
[] in WorldState>>doOneCycleNowFor: Receiver: a WorldState Arguments and temporary variables: <<error during printing> Receiver''s instance variables: hands: an Array(a HandMorph(3216)) viewBox: 0@0 corner: 1424@807 canvas: a FormCanvas on: DisplayScreen(1424x807x32) damageRecorder: a DamageRecorder stepList: a Heap(StepMessage(#stepAt: -> a SystemWindow(1169))(a SystemWindow(1...etc... lastStepTime: 697763 lastStepMessage: nil lastCycleTime: 697783 commandHistory: a CommandHistory alarms: a Heap() lastAlarmTime: 697763
Array(SequenceableCollection)>>do: Receiver: an Array(a HandMorph(3216)) Arguments and temporary variables: aBlock: [closure] in WorldState>>doOneCycleNowFor: index: 1 indexLimiT: 1 Receiver''s instance variables: an Array(a HandMorph(3216))
--- The full stack --- BlockClosure>>ensure: RemoteString>>text CompiledMethod>>getSourceFromFile [] in UndefinedObject>>DoIt Array(SequenceableCollection)>>collect: UndefinedObject>>DoIt Compiler>>evaluate:in:to:notifying:ifFail:logged: [] in OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection BlockClosure>>on:do: OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection OBTextMorphEditorWithShout(ParagraphEditor)>>doIt [] in OBTextMorphEditorWithShout(ParagraphEditor)>>doIt: OBTextMorphEditorWithShout (ParagraphEditor)>>terminateAndInitializeAround: OBTextMorphEditorWithShout(ParagraphEditor)>>doIt: OBTextMorphEditorWithShout (ParagraphEditor)>>dispatchOnKeyEvent:with: OBTextMorphEditorWithShout (TextMorphEditor)>>dispatchOnKeyEvent:with: OBTextMorphEditorWithShout(ParagraphEditor)>>keystroke: OBTextMorphEditorWithShout(TextMorphEditor)>>keystroke: [] in OBTextMorphWithShout(TextMorph)>>keyStroke: OBTextMorphWithShout(TextMorph)>>handleInteraction: OBTextMorphWithShout(TextMorphForEditView)>>handleInteraction: OBTextMorphWithShout(TextMorph)>>keyStroke: OBTextMorphWithShout(TextMorphForEditView)>>keyStroke: OBTextMorphWithShout(OBTextMorph)>>keyStroke: OBTextMorphWithShout(TextMorph)>>handleKeystroke: KeyboardEvent>>sentTo: OBTextMorphWithShout(Morph)>>handleEvent: OBTextMorphWithShout(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 17 May 2009, at 13:59, Nicolas Cellier wrote:
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
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- www.tudorgirba.com
"If you interrupt the barber while he is cutting your hair, you will end up with a messy haircut."
_______________________________________________ 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 what we do that matters most, it's how we do it."
-- www.tudorgirba.com "Sometimes the best solution is not the best solution."
doru can you take the latest public 10306 image (not dev)? And produce a scenario that we can reproduce? Stef On May 17, 2009, at 2:48 PM, Tudor Girba wrote:
Oh, now I got into another problem when debugging I get an UndefinedObject>>DNU: #deguggerMap in OTClosureContextNode>>selection (see attached trace).
I must admit I am lost :)
Cheers, Doru
----------
'17 May 2009 2:47:39 pm
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
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: UndefinedObject>>DoIt 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: UndefinedObject>>DoIt 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: an OBMethodDefinition selection: (111 to: 116)
OTDefinitionPanel(OBDefinitionPanel)>>selectionChanged: Receiver: an OTDefinitionPanel Arguments and temporary variables: ann: an OBSelectionChanged Receiver''s instance variables: browser: an OTDebugger definition: an OBMethodDefinition selection: (111 to: 116)
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...
OBColumn>>signalSelectionChanged Receiver: an OBColumn(UndefinedObject>>DoIt) Arguments and temporary variables:
Receiver''s instance variables: panel: an OBColumnPanel switch: an OBSwitch listHolder: an OBList selection: 1
OBColumn>>selection: Receiver: an OBColumn(UndefinedObject>>DoIt) Arguments and temporary variables: anInteger: 2 Receiver''s instance variables: panel: an OBColumnPanel switch: an OBSwitch listHolder: an OBList selection: 1
OBPluggableListMorph(PluggableListMorph)>>changeModelSelection: Receiver: an OBPluggableListMorph(1687) Arguments and temporary variables: anInteger: 2 Receiver''s instance variables: bounds: 0@0 corner: 590@152 owner: an OBPane(2254) submorphs: an Array(a ScrollBar(298) a ScrollBar(3558) a TransformMorph(2609)) fullBounds: 0@0 corner: 590@152 color: Color white extension: a MorphExtension (2952) [other: (dragEnabled -> true) (dropEnabled ...etc... borderWidth: 0 borderColor: Color black model: an OBColumn(UndefinedObject>>DoIt) slotName: nil open: false scrollBar: a ScrollBar(3558) scroller: a TransformMorph(2609) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #menu: getMenuTitleSelector: nil hasFocus: false hScrollBar: a ScrollBar(298) list: nil getListSelector: #list getListSizeSelector: #listSize getListElementSelector: #listAt: getIndexSelector: #selection setIndexSelector: #selection: keystrokeActionSelector: #keystroke:from: autoDeselect: false lastKeystrokeTime: 0 lastKeystrokes: '''' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: an OBLazyListMorph(2317) hScrollRangeCache: nil
OBPluggableListMorph>>mouseUp: Receiver: an OBPluggableListMorph(1687) Arguments and temporary variables: event: [135@16 mouseUp 46488 nil] row: 2 Receiver''s instance variables: bounds: 0@0 corner: 590@152 owner: an OBPane(2254) submorphs: an Array(a ScrollBar(298) a ScrollBar(3558) a TransformMorph(2609)) fullBounds: 0@0 corner: 590@152 color: Color white extension: a MorphExtension (2952) [other: (dragEnabled -> true) (dropEnabled ...etc... borderWidth: 0 borderColor: Color black model: an OBColumn(UndefinedObject>>DoIt) slotName: nil open: false scrollBar: a ScrollBar(3558) scroller: a TransformMorph(2609) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #menu: getMenuTitleSelector: nil hasFocus: false hScrollBar: a ScrollBar(298) list: nil getListSelector: #list getListSizeSelector: #listSize getListElementSelector: #listAt: getIndexSelector: #selection setIndexSelector: #selection: keystrokeActionSelector: #keystroke:from: autoDeselect: false lastKeystrokeTime: 0 lastKeystrokes: '''' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: an OBLazyListMorph(2317) hScrollRangeCache: nil
OBPluggableListMorph(Morph)>>handleMouseUp: Receiver: an OBPluggableListMorph(1687) Arguments and temporary variables: anEvent: [135@16 mouseUp 46488 nil] Receiver''s instance variables: bounds: 0@0 corner: 590@152 owner: an OBPane(2254) submorphs: an Array(a ScrollBar(298) a ScrollBar(3558) a TransformMorph(2609)) fullBounds: 0@0 corner: 590@152 color: Color white extension: a MorphExtension (2952) [other: (dragEnabled -> true) (dropEnabled ...etc... borderWidth: 0 borderColor: Color black model: an OBColumn(UndefinedObject>>DoIt) slotName: nil open: false scrollBar: a ScrollBar(3558) scroller: a TransformMorph(2609) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #menu: getMenuTitleSelector: nil hasFocus: false hScrollBar: a ScrollBar(298) list: nil getListSelector: #list getListSizeSelector: #listSize getListElementSelector: #listAt: getIndexSelector: #selection setIndexSelector: #selection: keystrokeActionSelector: #keystroke:from: autoDeselect: false lastKeystrokeTime: 0 lastKeystrokes: '''' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: an OBLazyListMorph(2317) hScrollRangeCache: nil
MouseButtonEvent>>sentTo: Receiver: [135@16 mouseUp 46488 nil] Arguments and temporary variables: anObject: an OBPluggableListMorph(1687) Receiver''s instance variables: timeStamp: 46488 source: a HandMorph(3216) windowIndex: nil type: #mouseUp buttons: 0 position: 135@16 handler: nil wasHandled: true whichButton: 4
OBPluggableListMorph(Morph)>>handleEvent: Receiver: an OBPluggableListMorph(1687) Arguments and temporary variables: anEvent: [135@16 mouseUp 46488 nil] Receiver''s instance variables: bounds: 0@0 corner: 590@152 owner: an OBPane(2254) submorphs: an Array(a ScrollBar(298) a ScrollBar(3558) a TransformMorph(2609)) fullBounds: 0@0 corner: 590@152 color: Color white extension: a MorphExtension (2952) [other: (dragEnabled -> true) (dropEnabled ...etc... borderWidth: 0 borderColor: Color black model: an OBColumn(UndefinedObject>>DoIt) slotName: nil open: false scrollBar: a ScrollBar(3558) scroller: a TransformMorph(2609) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #menu: getMenuTitleSelector: nil hasFocus: false hScrollBar: a ScrollBar(298) list: nil getListSelector: #list getListSizeSelector: #listSize getListElementSelector: #listAt: getIndexSelector: #selection setIndexSelector: #selection: keystrokeActionSelector: #keystroke:from: autoDeselect: false lastKeystrokeTime: 0 lastKeystrokes: '''' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: an OBLazyListMorph(2317) hScrollRangeCache: nil
MorphicEventDispatcher>>dispatchDefault:with: Receiver: a MorphicEventDispatcher Arguments and temporary variables: anEvent: [135@16 mouseUp 46488 nil] aMorph: an OBPluggableListMorph(1687) localEvt: [135@16 mouseUp 46488 nil] index: 4 child: a TransformMorph(2609) morphs: an Array(a ScrollBar(298) a ScrollBar(3558) a TransformMorph(2609)) inside: true Receiver''s instance variables: lastType: #mouseUp lastDispatch: #dispatchDefault:with:
MorphicEventDispatcher>>dispatchEvent:with: Receiver: a MorphicEventDispatcher Arguments and temporary variables: anEvent: [135@16 mouseUp 46488 nil] aMorph: an OBPluggableListMorph(1687) Receiver''s instance variables: lastType: #mouseUp lastDispatch: #dispatchDefault:with:
OBPluggableListMorph(Morph)>>processEvent:using: Receiver: an OBPluggableListMorph(1687) Arguments and temporary variables: anEvent: [135@16 mouseUp 46488 nil] defaultDispatcher: a MorphicEventDispatcher Receiver''s instance variables: bounds: 0@0 corner: 590@152 owner: an OBPane(2254) submorphs: an Array(a ScrollBar(298) a ScrollBar(3558) a TransformMorph(2609)) fullBounds: 0@0 corner: 590@152 color: Color white extension: a MorphExtension (2952) [other: (dragEnabled -> true) (dropEnabled ...etc... borderWidth: 0 borderColor: Color black model: an OBColumn(UndefinedObject>>DoIt) slotName: nil open: false scrollBar: a ScrollBar(3558) scroller: a TransformMorph(2609) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #menu: getMenuTitleSelector: nil hasFocus: false hScrollBar: a ScrollBar(298) list: nil getListSelector: #list getListSizeSelector: #listSize getListElementSelector: #listAt: getIndexSelector: #selection setIndexSelector: #selection: keystrokeActionSelector: #keystroke:from: autoDeselect: false lastKeystrokeTime: 0 lastKeystrokes: '''' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: an OBLazyListMorph(2317) hScrollRangeCache: nil
OBPluggableListMorph(Morph)>>processEvent: Receiver: an OBPluggableListMorph(1687) Arguments and temporary variables: anEvent: [135@16 mouseUp 46488 nil] Receiver''s instance variables: bounds: 0@0 corner: 590@152 owner: an OBPane(2254) submorphs: an Array(a ScrollBar(298) a ScrollBar(3558) a TransformMorph(2609)) fullBounds: 0@0 corner: 590@152 color: Color white extension: a MorphExtension (2952) [other: (dragEnabled -> true) (dropEnabled ...etc... borderWidth: 0 borderColor: Color black model: an OBColumn(UndefinedObject>>DoIt) slotName: nil open: false scrollBar: a ScrollBar(3558) scroller: a TransformMorph(2609) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #menu: getMenuTitleSelector: nil hasFocus: false hScrollBar: a ScrollBar(298) list: nil getListSelector: #list getListSizeSelector: #listSize getListElementSelector: #listAt: getIndexSelector: #selection setIndexSelector: #selection: keystrokeActionSelector: #keystroke:from: autoDeselect: false lastKeystrokeTime: 0 lastKeystrokes: '''' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: an OBLazyListMorph(2317) hScrollRangeCache: nil
OBPluggableListMorph(PluggableListMorph)>>handleFocusEvent: Receiver: an OBPluggableListMorph(1687) Arguments and temporary variables: anEvent: [135@16 mouseUp 46488 nil] Receiver''s instance variables: bounds: 0@0 corner: 590@152 owner: an OBPane(2254) submorphs: an Array(a ScrollBar(298) a ScrollBar(3558) a TransformMorph(2609)) fullBounds: 0@0 corner: 590@152 color: Color white extension: a MorphExtension (2952) [other: (dragEnabled -> true) (dropEnabled ...etc... borderWidth: 0 borderColor: Color black model: an OBColumn(UndefinedObject>>DoIt) slotName: nil open: false scrollBar: a ScrollBar(3558) scroller: a TransformMorph(2609) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #menu: getMenuTitleSelector: nil hasFocus: false hScrollBar: a ScrollBar(298) list: nil getListSelector: #list getListSizeSelector: #listSize getListElementSelector: #listAt: getIndexSelector: #selection setIndexSelector: #selection: keystrokeActionSelector: #keystroke:from: autoDeselect: false lastKeystrokeTime: 0 lastKeystrokes: '''' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: an OBLazyListMorph(2317) hScrollRangeCache: nil
[] in HandMorph>>sendFocusEvent:to:clear: Receiver: a HandMorph(3216) Arguments and temporary variables: <<error during printing> Receiver''s instance variables: bounds: 987@479 corner: 1003@495 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 987@479 corner: 1003@495 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [987@479 mouseUp 173200 nil] targetOffset: 143@54 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 173200 987 479 0 0 0 1) lastKeyScanCode: 126 combinedChar: nil
[] in PasteUpMorph>>becomeActiveDuring: Receiver: a PasteUpMorph(1622) [world] Arguments and temporary variables: <<error during printing> Receiver''s instance variables: bounds: 0@0 corner: 1424@807 owner: nil submorphs: an Array(a TaskbarMorph(3095) a SystemWindow(3689) a SystemWindow(31...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.028 g: 0.028 b: 0.024) 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
BlockClosure>>on:do: Receiver: [closure] in PasteUpMorph>>becomeActiveDuring: Arguments and temporary variables: exception: Error handlerAction: [closure] in PasteUpMorph>>becomeActiveDuring: handlerActive: false Receiver''s instance variables: outerContext: PasteUpMorph>>becomeActiveDuring: startpc: 67 numArgs: 0
PasteUpMorph>>becomeActiveDuring: Receiver: a PasteUpMorph(1622) [world] Arguments and temporary variables: aBlock: [closure] in HandMorph>>sendFocusEvent:to:clear: priorWorld: a PasteUpMorph(1622) [world] priorHand: a HandMorph(3216) priorEvent: [293@48 mouseOver red nil nil] Receiver''s instance variables: bounds: 0@0 corner: 1424@807 owner: nil submorphs: an Array(a TaskbarMorph(3095) a SystemWindow(3689) a SystemWindow(31...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.028 g: 0.028 b: 0.024) 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
HandMorph>>sendFocusEvent:to:clear: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [293@48 mouseUp 46488 nil] focusHolder: an OBPluggableListMorph(1687) aBlock: [closure] in HandMorph>>sendMouseEvent: w: a PasteUpMorph(1622) [world] result: #(nil) Receiver''s instance variables: bounds: 987@479 corner: 1003@495 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 987@479 corner: 1003@495 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [987@479 mouseUp 173200 nil] targetOffset: 143@54 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 173200 987 479 0 0 0 1) lastKeyScanCode: 126 combinedChar: nil
HandMorph>>sendEvent:focus:clear: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [293@48 mouseUp 46488 nil] focusHolder: an OBPluggableListMorph(1687) aBlock: [closure] in HandMorph>>sendMouseEvent: result: nil Receiver''s instance variables: bounds: 987@479 corner: 1003@495 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 987@479 corner: 1003@495 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [987@479 mouseUp 173200 nil] targetOffset: 143@54 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 173200 987 479 0 0 0 1) lastKeyScanCode: 126 combinedChar: nil
HandMorph>>sendMouseEvent: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [293@48 mouseUp 46488 nil] Receiver''s instance variables: bounds: 987@479 corner: 1003@495 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 987@479 corner: 1003@495 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [987@479 mouseUp 173200 nil] targetOffset: 143@54 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 173200 987 479 0 0 0 1) lastKeyScanCode: 126 combinedChar: nil
HandMorph>>handleEvent: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [293@48 mouseUp 46488 nil] evt: [293@48 mouseUp 46488 nil] ofs: nil Receiver''s instance variables: bounds: 987@479 corner: 1003@495 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 987@479 corner: 1003@495 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [987@479 mouseUp 173200 nil] targetOffset: 143@54 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 173200 987 479 0 0 0 1) lastKeyScanCode: 126 combinedChar: nil
HandMorph>>processEvents Receiver: a HandMorph(3216) Arguments and temporary variables: evt: [293@48 mouseUp 46488 nil] evtBuf: #(1 46488 293 48 0 0 0 1) type: 1 hadAny: false Receiver''s instance variables: bounds: 987@479 corner: 1003@495 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 987@479 corner: 1003@495 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [987@479 mouseUp 173200 nil] targetOffset: 143@54 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 173200 987 479 0 0 0 1) lastKeyScanCode: 126 combinedChar: nil
[] in WorldState>>doOneCycleNowFor: Receiver: a WorldState Arguments and temporary variables: <<error during printing> Receiver''s instance variables: hands: an Array(a HandMorph(3216)) viewBox: 0@0 corner: 1424@807 canvas: a FormCanvas on: DisplayScreen(1424x807x32) damageRecorder: a DamageRecorder stepList: a Heap(StepMessage(#stepAt: -> a SystemWindow(1898))(a SystemWindow(1...etc... lastStepTime: 173182 lastStepMessage: nil lastCycleTime: 173201 commandHistory: a CommandHistory alarms: a Heap() lastAlarmTime: 173182
Array(SequenceableCollection)>>do: Receiver: an Array(a HandMorph(3216)) Arguments and temporary variables: aBlock: [closure] in WorldState>>doOneCycleNowFor: index: 1 indexLimiT: 1 Receiver''s instance variables: an Array(a HandMorph(3216))
WorldState>>handsDo: Receiver: a WorldState Arguments and temporary variables: aBlock: [closure] in WorldState>>doOneCycleNowFor: Receiver''s instance variables: hands: an Array(a HandMorph(3216)) viewBox: 0@0 corner: 1424@807 canvas: a FormCanvas on: DisplayScreen(1424x807x32) damageRecorder: a DamageRecorder stepList: a Heap(StepMessage(#stepAt: -> a SystemWindow(1898))(a SystemWindow(1...etc... lastStepTime: 173182 lastStepMessage: nil lastCycleTime: 173201 commandHistory: a CommandHistory alarms: a Heap() lastAlarmTime: 173182
WorldState>>doOneCycleNowFor: Receiver: a WorldState Arguments and temporary variables: aWorld: a PasteUpMorph(1622) [world] Receiver''s instance variables: hands: an Array(a HandMorph(3216)) viewBox: 0@0 corner: 1424@807 canvas: a FormCanvas on: DisplayScreen(1424x807x32) damageRecorder: a DamageRecorder stepList: a Heap(StepMessage(#stepAt: -> a SystemWindow(1898))(a SystemWindow(1...etc... lastStepTime: 173182 lastStepMessage: nil lastCycleTime: 173201 commandHistory: a CommandHistory alarms: a Heap() lastAlarmTime: 173182
--- The full stack --- 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: OBColumn>>signalSelectionChanged OBColumn>>selection: OBPluggableListMorph(PluggableListMorph)>>changeModelSelection: OBPluggableListMorph>>mouseUp: OBPluggableListMorph(Morph)>>handleMouseUp: MouseButtonEvent>>sentTo: OBPluggableListMorph(Morph)>>handleEvent: MorphicEventDispatcher>>dispatchDefault:with: MorphicEventDispatcher>>dispatchEvent:with: OBPluggableListMorph(Morph)>>processEvent:using: OBPluggableListMorph(Morph)>>processEvent: OBPluggableListMorph(PluggableListMorph)>>handleFocusEvent: [] in HandMorph>>sendFocusEvent:to:clear: [] in PasteUpMorph>>becomeActiveDuring: BlockClosure>>on:do: PasteUpMorph>>becomeActiveDuring: HandMorph>>sendFocusEvent:to:clear: HandMorph>>sendEvent:focus:clear: HandMorph>>sendMouseEvent: 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 17 May 2009, at 14:44, Tudor Girba wrote:
Hi,
Thanks. Applying the fix you attached improves the situation in that I do not get the invalid utf8 error when debugging Object>>doesNotUnderstand.
However, the sources indeed appear as decompiled, and when I perform Smalltalk condenseChanges I still get an "Invalid utf8 input detected".
Cheers, Doru
On 17 May 2009, at 14:13, Nicolas Cellier wrote:
2009/5/17 Tudor Girba <girba@iam.unibe.ch>:
Hmm, it does not work for me, as I get another invalid utf8 input detected :).
Here is the trace.
Sure, we don't have same change log. Either your change log has not been condensed, or I changed something in my image before condensing.
Cheers, Doru
--------------------- '17 May 2009 2:04:55 pm
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
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)
[] in UndefinedObject>>DoIt Receiver: nil Arguments and temporary variables: t1: a CompiledMethod (838) Receiver''s instance variables: nil
Array(SequenceableCollection)>>collect: Receiver: #(a CompiledMethod (838) a CompiledMethod (3897) a CompiledMethod (1764) a CompiledMethod ...etc... Arguments and temporary variables: aBlock: [closure] in UndefinedObject>>DoIt newCollection: #(nil nil nil nil) index: 1 indexLimiT: 4 Receiver''s instance variables: #(a CompiledMethod (838) a CompiledMethod (3897) a CompiledMethod (1764) a CompiledMethod ...etc...
UndefinedObject>>DoIt Receiver: nil Arguments and temporary variables:
Receiver''s instance variables: nil
Compiler>>evaluate:in:to:notifying:ifFail:logged: Receiver: a Compiler Arguments and temporary variables: <<error during printing> Receiver''s instance variables: sourceStream: a ReadWriteStream ''view := MOViewRenderer new. view nodes: (1 to:...etc... requestor: an OBTextMorphEditorWithShout class: UndefinedObject category: nil context: nil parser: a Parser
[] in OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: <<error during printing> Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
BlockClosure>>on:do: Receiver: [closure] in OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection Arguments and temporary variables: exception: OutOfScopeNotification handlerAction: [closure] in OBTextMorphEditorWithShout(ParagraphEditor)>>evalua...etc... handlerActive: true Receiver''s instance variables: outerContext: OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection startpc: 116 numArgs: 0
OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: result: nil rcvr: nil ctxt: nil Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout(ParagraphEditor)>>doIt Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables:
Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
[] in OBTextMorphEditorWithShout(ParagraphEditor)>>doIt: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: <<error during printing> Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout (ParagraphEditor)>>terminateAndInitializeAround: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: aBlock: [closure] in OBTextMorphEditorWithShout(ParagraphEditor)>>doIt: Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout(ParagraphEditor)>>doIt: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: characterStream: a WriteStream '''' Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout (ParagraphEditor)>>dispatchOnKeyEvent:with: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: keyEvent: [keystroke ''<Cmd-d>''] typeAheadStream: a WriteStream '''' honorCommandKeys: true keyValue: 100 keyChar: $d char: $d action: #doIt: Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout (TextMorphEditor)>>dispatchOnKeyEvent:with: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: keyEvent: [keystroke ''<Cmd-d>''] typeAheadStream: a WriteStream '''' Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout(ParagraphEditor)>>keystroke: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: keyEvent: [keystroke ''<Cmd-d>''] typeAhead: a WriteStream '''' Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout(TextMorphEditor)>>keystroke: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: keyEvent: [keystroke ''<Cmd-d>''] Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
[] in OBTextMorphWithShout(TextMorph)>>keyStroke: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: <<error during printing> Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(TextMorph)>>handleInteraction: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: interactionBlock: [closure] in OBTextMorphWithShout(TextMorph)>>keyStroke: oldEditor: an OBTextMorphEditorWithShout oldParagraph: a MultiNewParagraph oldText: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEa...etc... Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(TextMorphForEditView)>>handleInteraction: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: interActionBlock: [closure] in OBTextMorphWithShout(TextMorph)>>keyStroke: Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(TextMorph)>>keyStroke: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: evt: [keystroke ''<Cmd-d>''] action: nil Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(TextMorphForEditView)>>keyStroke: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: evt: [keystroke ''<Cmd-d>''] view: an OBPluggableTextMorphWithShout(3699) Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(OBTextMorph)>>keyStroke: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] stringHolder: an OTWorkspacePanel completionAllowed: false Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(TextMorph)>>handleKeystroke: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] pasteUp: nil Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
KeyboardEvent>>sentTo: Receiver: [keystroke ''<Cmd-d>''] Arguments and temporary variables: anObject: an OBTextMorphWithShout(4064) Receiver''s instance variables: timeStamp: 542561 source: a HandMorph(3216) windowIndex: nil type: #keystroke buttons: 64 position: 150@201 handler: nil wasHandled: true keyValue: 100 charCode: 100 scanCode: 2
OBTextMorphWithShout(Morph)>>handleEvent: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(Morph)>>handleFocusEvent: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
[] in HandMorph>>sendFocusEvent:to:clear: Receiver: a HandMorph(3216) Arguments and temporary variables: <<error during printing> Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil
[] in PasteUpMorph>>becomeActiveDuring: Receiver: a PasteUpMorph(1622) [world] Arguments and temporary variables: <<error during printing> Receiver''s instance variables: bounds: 0@0 corner: 1424@807 owner: nil submorphs: an Array(a TaskbarMorph(3095) a SystemWindow(1875) a SystemWindow(13...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
BlockClosure>>on:do: Receiver: [closure] in PasteUpMorph>>becomeActiveDuring: Arguments and temporary variables: exception: Error handlerAction: [closure] in PasteUpMorph>>becomeActiveDuring: handlerActive: false Receiver''s instance variables: outerContext: PasteUpMorph>>becomeActiveDuring: startpc: 67 numArgs: 0
PasteUpMorph>>becomeActiveDuring: Receiver: a PasteUpMorph(1622) [world] Arguments and temporary variables: aBlock: [closure] in HandMorph>>sendFocusEvent:to:clear: priorWorld: a PasteUpMorph(1622) [world] priorHand: a HandMorph(3216) priorEvent: nil Receiver''s instance variables: bounds: 0@0 corner: 1424@807 owner: nil submorphs: an Array(a TaskbarMorph(3095) a SystemWindow(1875) a SystemWindow(13...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
HandMorph>>sendFocusEvent:to:clear: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] focusHolder: an OBTextMorphWithShout(4064) aBlock: [closure] in HandMorph>>sendKeyboardEvent: w: a PasteUpMorph(1622) [world] result: #(nil) Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil
HandMorph>>sendEvent:focus:clear: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] focusHolder: an OBTextMorphWithShout(4064) aBlock: [closure] in HandMorph>>sendKeyboardEvent: result: nil Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil
HandMorph>>sendKeyboardEvent: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil
HandMorph>>handleEvent: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] evt: [keystroke ''<Cmd-d>''] ofs: nil Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil
HandMorph>>processEvents Receiver: a HandMorph(3216) Arguments and temporary variables: evt: [keystroke ''<Cmd-d>''] evtBuf: #(2 542561 100 0 8 100 0 1) type: 2 hadAny: true Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil
[] in WorldState>>doOneCycleNowFor: Receiver: a WorldState Arguments and temporary variables: <<error during printing> Receiver''s instance variables: hands: an Array(a HandMorph(3216)) viewBox: 0@0 corner: 1424@807 canvas: a FormCanvas on: DisplayScreen(1424x807x32) damageRecorder: a DamageRecorder stepList: a Heap(StepMessage(#stepAt: -> a SystemWindow(1169))(a SystemWindow(1...etc... lastStepTime: 697763 lastStepMessage: nil lastCycleTime: 697783 commandHistory: a CommandHistory alarms: a Heap() lastAlarmTime: 697763
Array(SequenceableCollection)>>do: Receiver: an Array(a HandMorph(3216)) Arguments and temporary variables: aBlock: [closure] in WorldState>>doOneCycleNowFor: index: 1 indexLimiT: 1 Receiver''s instance variables: an Array(a HandMorph(3216))
--- The full stack --- BlockClosure>>ensure: RemoteString>>text CompiledMethod>>getSourceFromFile [] in UndefinedObject>>DoIt Array(SequenceableCollection)>>collect: UndefinedObject>>DoIt Compiler>>evaluate:in:to:notifying:ifFail:logged: [] in OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection BlockClosure>>on:do: OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection OBTextMorphEditorWithShout(ParagraphEditor)>>doIt [] in OBTextMorphEditorWithShout(ParagraphEditor)>>doIt: OBTextMorphEditorWithShout (ParagraphEditor)>>terminateAndInitializeAround: OBTextMorphEditorWithShout(ParagraphEditor)>>doIt: OBTextMorphEditorWithShout (ParagraphEditor)>>dispatchOnKeyEvent:with: OBTextMorphEditorWithShout (TextMorphEditor)>>dispatchOnKeyEvent:with: OBTextMorphEditorWithShout(ParagraphEditor)>>keystroke: OBTextMorphEditorWithShout(TextMorphEditor)>>keystroke: [] in OBTextMorphWithShout(TextMorph)>>keyStroke: OBTextMorphWithShout(TextMorph)>>handleInteraction: OBTextMorphWithShout(TextMorphForEditView)>>handleInteraction: OBTextMorphWithShout(TextMorph)>>keyStroke: OBTextMorphWithShout(TextMorphForEditView)>>keyStroke: OBTextMorphWithShout(OBTextMorph)>>keyStroke: OBTextMorphWithShout(TextMorph)>>handleKeystroke: KeyboardEvent>>sentTo: OBTextMorphWithShout(Morph)>>handleEvent: OBTextMorphWithShout(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 17 May 2009, at 13:59, Nicolas Cellier wrote:
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
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo- project
-- www.tudorgirba.com
"If you interrupt the barber while he is cutting your hair, you will end up with a messy haircut."
_______________________________________________ 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 what we do that matters most, it's how we do it."
-- www.tudorgirba.com
"Sometimes the best solution is not the best solution."
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Hi, Here it is: - Download 10304cl (the same happened after updating to 10306) - Open a Workspace and evaluate: 1, 'a' - This will raise a debugger due to DNU - Clicking on the debugger raises the "Invalid utf8 input detected" Cheers, Doru On 17 May 2009, at 15:59, Stéphane Ducasse wrote:
doru
can you take the latest public 10306 image (not dev)? And produce a scenario that we can reproduce?
Stef
On May 17, 2009, at 2:48 PM, Tudor Girba wrote:
Oh, now I got into another problem when debugging I get an UndefinedObject>>DNU: #deguggerMap in OTClosureContextNode>>selection (see attached trace).
I must admit I am lost :)
Cheers, Doru
----------
'17 May 2009 2:47:39 pm
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
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: UndefinedObject>>DoIt 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: UndefinedObject>>DoIt 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: an OBMethodDefinition selection: (111 to: 116)
OTDefinitionPanel(OBDefinitionPanel)>>selectionChanged: Receiver: an OTDefinitionPanel Arguments and temporary variables: ann: an OBSelectionChanged Receiver''s instance variables: browser: an OTDebugger definition: an OBMethodDefinition selection: (111 to: 116)
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...
OBColumn>>signalSelectionChanged Receiver: an OBColumn(UndefinedObject>>DoIt) Arguments and temporary variables:
Receiver''s instance variables: panel: an OBColumnPanel switch: an OBSwitch listHolder: an OBList selection: 1
OBColumn>>selection: Receiver: an OBColumn(UndefinedObject>>DoIt) Arguments and temporary variables: anInteger: 2 Receiver''s instance variables: panel: an OBColumnPanel switch: an OBSwitch listHolder: an OBList selection: 1
OBPluggableListMorph(PluggableListMorph)>>changeModelSelection: Receiver: an OBPluggableListMorph(1687) Arguments and temporary variables: anInteger: 2 Receiver''s instance variables: bounds: 0@0 corner: 590@152 owner: an OBPane(2254) submorphs: an Array(a ScrollBar(298) a ScrollBar(3558) a TransformMorph(2609)) fullBounds: 0@0 corner: 590@152 color: Color white extension: a MorphExtension (2952) [other: (dragEnabled -> true) (dropEnabled ...etc... borderWidth: 0 borderColor: Color black model: an OBColumn(UndefinedObject>>DoIt) slotName: nil open: false scrollBar: a ScrollBar(3558) scroller: a TransformMorph(2609) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #menu: getMenuTitleSelector: nil hasFocus: false hScrollBar: a ScrollBar(298) list: nil getListSelector: #list getListSizeSelector: #listSize getListElementSelector: #listAt: getIndexSelector: #selection setIndexSelector: #selection: keystrokeActionSelector: #keystroke:from: autoDeselect: false lastKeystrokeTime: 0 lastKeystrokes: '''' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: an OBLazyListMorph(2317) hScrollRangeCache: nil
OBPluggableListMorph>>mouseUp: Receiver: an OBPluggableListMorph(1687) Arguments and temporary variables: event: [135@16 mouseUp 46488 nil] row: 2 Receiver''s instance variables: bounds: 0@0 corner: 590@152 owner: an OBPane(2254) submorphs: an Array(a ScrollBar(298) a ScrollBar(3558) a TransformMorph(2609)) fullBounds: 0@0 corner: 590@152 color: Color white extension: a MorphExtension (2952) [other: (dragEnabled -> true) (dropEnabled ...etc... borderWidth: 0 borderColor: Color black model: an OBColumn(UndefinedObject>>DoIt) slotName: nil open: false scrollBar: a ScrollBar(3558) scroller: a TransformMorph(2609) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #menu: getMenuTitleSelector: nil hasFocus: false hScrollBar: a ScrollBar(298) list: nil getListSelector: #list getListSizeSelector: #listSize getListElementSelector: #listAt: getIndexSelector: #selection setIndexSelector: #selection: keystrokeActionSelector: #keystroke:from: autoDeselect: false lastKeystrokeTime: 0 lastKeystrokes: '''' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: an OBLazyListMorph(2317) hScrollRangeCache: nil
OBPluggableListMorph(Morph)>>handleMouseUp: Receiver: an OBPluggableListMorph(1687) Arguments and temporary variables: anEvent: [135@16 mouseUp 46488 nil] Receiver''s instance variables: bounds: 0@0 corner: 590@152 owner: an OBPane(2254) submorphs: an Array(a ScrollBar(298) a ScrollBar(3558) a TransformMorph(2609)) fullBounds: 0@0 corner: 590@152 color: Color white extension: a MorphExtension (2952) [other: (dragEnabled -> true) (dropEnabled ...etc... borderWidth: 0 borderColor: Color black model: an OBColumn(UndefinedObject>>DoIt) slotName: nil open: false scrollBar: a ScrollBar(3558) scroller: a TransformMorph(2609) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #menu: getMenuTitleSelector: nil hasFocus: false hScrollBar: a ScrollBar(298) list: nil getListSelector: #list getListSizeSelector: #listSize getListElementSelector: #listAt: getIndexSelector: #selection setIndexSelector: #selection: keystrokeActionSelector: #keystroke:from: autoDeselect: false lastKeystrokeTime: 0 lastKeystrokes: '''' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: an OBLazyListMorph(2317) hScrollRangeCache: nil
MouseButtonEvent>>sentTo: Receiver: [135@16 mouseUp 46488 nil] Arguments and temporary variables: anObject: an OBPluggableListMorph(1687) Receiver''s instance variables: timeStamp: 46488 source: a HandMorph(3216) windowIndex: nil type: #mouseUp buttons: 0 position: 135@16 handler: nil wasHandled: true whichButton: 4
OBPluggableListMorph(Morph)>>handleEvent: Receiver: an OBPluggableListMorph(1687) Arguments and temporary variables: anEvent: [135@16 mouseUp 46488 nil] Receiver''s instance variables: bounds: 0@0 corner: 590@152 owner: an OBPane(2254) submorphs: an Array(a ScrollBar(298) a ScrollBar(3558) a TransformMorph(2609)) fullBounds: 0@0 corner: 590@152 color: Color white extension: a MorphExtension (2952) [other: (dragEnabled -> true) (dropEnabled ...etc... borderWidth: 0 borderColor: Color black model: an OBColumn(UndefinedObject>>DoIt) slotName: nil open: false scrollBar: a ScrollBar(3558) scroller: a TransformMorph(2609) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #menu: getMenuTitleSelector: nil hasFocus: false hScrollBar: a ScrollBar(298) list: nil getListSelector: #list getListSizeSelector: #listSize getListElementSelector: #listAt: getIndexSelector: #selection setIndexSelector: #selection: keystrokeActionSelector: #keystroke:from: autoDeselect: false lastKeystrokeTime: 0 lastKeystrokes: '''' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: an OBLazyListMorph(2317) hScrollRangeCache: nil
MorphicEventDispatcher>>dispatchDefault:with: Receiver: a MorphicEventDispatcher Arguments and temporary variables: anEvent: [135@16 mouseUp 46488 nil] aMorph: an OBPluggableListMorph(1687) localEvt: [135@16 mouseUp 46488 nil] index: 4 child: a TransformMorph(2609) morphs: an Array(a ScrollBar(298) a ScrollBar(3558) a TransformMorph(2609)) inside: true Receiver''s instance variables: lastType: #mouseUp lastDispatch: #dispatchDefault:with:
MorphicEventDispatcher>>dispatchEvent:with: Receiver: a MorphicEventDispatcher Arguments and temporary variables: anEvent: [135@16 mouseUp 46488 nil] aMorph: an OBPluggableListMorph(1687) Receiver''s instance variables: lastType: #mouseUp lastDispatch: #dispatchDefault:with:
OBPluggableListMorph(Morph)>>processEvent:using: Receiver: an OBPluggableListMorph(1687) Arguments and temporary variables: anEvent: [135@16 mouseUp 46488 nil] defaultDispatcher: a MorphicEventDispatcher Receiver''s instance variables: bounds: 0@0 corner: 590@152 owner: an OBPane(2254) submorphs: an Array(a ScrollBar(298) a ScrollBar(3558) a TransformMorph(2609)) fullBounds: 0@0 corner: 590@152 color: Color white extension: a MorphExtension (2952) [other: (dragEnabled -> true) (dropEnabled ...etc... borderWidth: 0 borderColor: Color black model: an OBColumn(UndefinedObject>>DoIt) slotName: nil open: false scrollBar: a ScrollBar(3558) scroller: a TransformMorph(2609) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #menu: getMenuTitleSelector: nil hasFocus: false hScrollBar: a ScrollBar(298) list: nil getListSelector: #list getListSizeSelector: #listSize getListElementSelector: #listAt: getIndexSelector: #selection setIndexSelector: #selection: keystrokeActionSelector: #keystroke:from: autoDeselect: false lastKeystrokeTime: 0 lastKeystrokes: '''' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: an OBLazyListMorph(2317) hScrollRangeCache: nil
OBPluggableListMorph(Morph)>>processEvent: Receiver: an OBPluggableListMorph(1687) Arguments and temporary variables: anEvent: [135@16 mouseUp 46488 nil] Receiver''s instance variables: bounds: 0@0 corner: 590@152 owner: an OBPane(2254) submorphs: an Array(a ScrollBar(298) a ScrollBar(3558) a TransformMorph(2609)) fullBounds: 0@0 corner: 590@152 color: Color white extension: a MorphExtension (2952) [other: (dragEnabled -> true) (dropEnabled ...etc... borderWidth: 0 borderColor: Color black model: an OBColumn(UndefinedObject>>DoIt) slotName: nil open: false scrollBar: a ScrollBar(3558) scroller: a TransformMorph(2609) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #menu: getMenuTitleSelector: nil hasFocus: false hScrollBar: a ScrollBar(298) list: nil getListSelector: #list getListSizeSelector: #listSize getListElementSelector: #listAt: getIndexSelector: #selection setIndexSelector: #selection: keystrokeActionSelector: #keystroke:from: autoDeselect: false lastKeystrokeTime: 0 lastKeystrokes: '''' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: an OBLazyListMorph(2317) hScrollRangeCache: nil
OBPluggableListMorph(PluggableListMorph)>>handleFocusEvent: Receiver: an OBPluggableListMorph(1687) Arguments and temporary variables: anEvent: [135@16 mouseUp 46488 nil] Receiver''s instance variables: bounds: 0@0 corner: 590@152 owner: an OBPane(2254) submorphs: an Array(a ScrollBar(298) a ScrollBar(3558) a TransformMorph(2609)) fullBounds: 0@0 corner: 590@152 color: Color white extension: a MorphExtension (2952) [other: (dragEnabled -> true) (dropEnabled ...etc... borderWidth: 0 borderColor: Color black model: an OBColumn(UndefinedObject>>DoIt) slotName: nil open: false scrollBar: a ScrollBar(3558) scroller: a TransformMorph(2609) retractableScrollBar: false scrollBarOnLeft: false getMenuSelector: #menu: getMenuTitleSelector: nil hasFocus: false hScrollBar: a ScrollBar(298) list: nil getListSelector: #list getListSizeSelector: #listSize getListElementSelector: #listAt: getIndexSelector: #selection setIndexSelector: #selection: keystrokeActionSelector: #keystroke:from: autoDeselect: false lastKeystrokeTime: 0 lastKeystrokes: '''' doubleClickSelector: nil handlesBasicKeys: nil potentialDropRow: nil listMorph: an OBLazyListMorph(2317) hScrollRangeCache: nil
[] in HandMorph>>sendFocusEvent:to:clear: Receiver: a HandMorph(3216) Arguments and temporary variables: <<error during printing> Receiver''s instance variables: bounds: 987@479 corner: 1003@495 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 987@479 corner: 1003@495 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [987@479 mouseUp 173200 nil] targetOffset: 143@54 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 173200 987 479 0 0 0 1) lastKeyScanCode: 126 combinedChar: nil
[] in PasteUpMorph>>becomeActiveDuring: Receiver: a PasteUpMorph(1622) [world] Arguments and temporary variables: <<error during printing> Receiver''s instance variables: bounds: 0@0 corner: 1424@807 owner: nil submorphs: an Array(a TaskbarMorph(3095) a SystemWindow(3689) a SystemWindow(31...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.028 g: 0.028 b: 0.024) 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
BlockClosure>>on:do: Receiver: [closure] in PasteUpMorph>>becomeActiveDuring: Arguments and temporary variables: exception: Error handlerAction: [closure] in PasteUpMorph>>becomeActiveDuring: handlerActive: false Receiver''s instance variables: outerContext: PasteUpMorph>>becomeActiveDuring: startpc: 67 numArgs: 0
PasteUpMorph>>becomeActiveDuring: Receiver: a PasteUpMorph(1622) [world] Arguments and temporary variables: aBlock: [closure] in HandMorph>>sendFocusEvent:to:clear: priorWorld: a PasteUpMorph(1622) [world] priorHand: a HandMorph(3216) priorEvent: [293@48 mouseOver red nil nil] Receiver''s instance variables: bounds: 0@0 corner: 1424@807 owner: nil submorphs: an Array(a TaskbarMorph(3095) a SystemWindow(3689) a SystemWindow(31...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.028 g: 0.028 b: 0.024) 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
HandMorph>>sendFocusEvent:to:clear: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [293@48 mouseUp 46488 nil] focusHolder: an OBPluggableListMorph(1687) aBlock: [closure] in HandMorph>>sendMouseEvent: w: a PasteUpMorph(1622) [world] result: #(nil) Receiver''s instance variables: bounds: 987@479 corner: 1003@495 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 987@479 corner: 1003@495 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [987@479 mouseUp 173200 nil] targetOffset: 143@54 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 173200 987 479 0 0 0 1) lastKeyScanCode: 126 combinedChar: nil
HandMorph>>sendEvent:focus:clear: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [293@48 mouseUp 46488 nil] focusHolder: an OBPluggableListMorph(1687) aBlock: [closure] in HandMorph>>sendMouseEvent: result: nil Receiver''s instance variables: bounds: 987@479 corner: 1003@495 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 987@479 corner: 1003@495 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [987@479 mouseUp 173200 nil] targetOffset: 143@54 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 173200 987 479 0 0 0 1) lastKeyScanCode: 126 combinedChar: nil
HandMorph>>sendMouseEvent: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [293@48 mouseUp 46488 nil] Receiver''s instance variables: bounds: 987@479 corner: 1003@495 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 987@479 corner: 1003@495 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [987@479 mouseUp 173200 nil] targetOffset: 143@54 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 173200 987 479 0 0 0 1) lastKeyScanCode: 126 combinedChar: nil
HandMorph>>handleEvent: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [293@48 mouseUp 46488 nil] evt: [293@48 mouseUp 46488 nil] ofs: nil Receiver''s instance variables: bounds: 987@479 corner: 1003@495 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 987@479 corner: 1003@495 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [987@479 mouseUp 173200 nil] targetOffset: 143@54 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 173200 987 479 0 0 0 1) lastKeyScanCode: 126 combinedChar: nil
HandMorph>>processEvents Receiver: a HandMorph(3216) Arguments and temporary variables: evt: [293@48 mouseUp 46488 nil] evtBuf: #(1 46488 293 48 0 0 0 1) type: 1 hadAny: false Receiver''s instance variables: bounds: 987@479 corner: 1003@495 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 987@479 corner: 1003@495 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [987@479 mouseUp 173200 nil] targetOffset: 143@54 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 173200 987 479 0 0 0 1) lastKeyScanCode: 126 combinedChar: nil
[] in WorldState>>doOneCycleNowFor: Receiver: a WorldState Arguments and temporary variables: <<error during printing> Receiver''s instance variables: hands: an Array(a HandMorph(3216)) viewBox: 0@0 corner: 1424@807 canvas: a FormCanvas on: DisplayScreen(1424x807x32) damageRecorder: a DamageRecorder stepList: a Heap(StepMessage(#stepAt: -> a SystemWindow(1898))(a SystemWindow(1...etc... lastStepTime: 173182 lastStepMessage: nil lastCycleTime: 173201 commandHistory: a CommandHistory alarms: a Heap() lastAlarmTime: 173182
Array(SequenceableCollection)>>do: Receiver: an Array(a HandMorph(3216)) Arguments and temporary variables: aBlock: [closure] in WorldState>>doOneCycleNowFor: index: 1 indexLimiT: 1 Receiver''s instance variables: an Array(a HandMorph(3216))
WorldState>>handsDo: Receiver: a WorldState Arguments and temporary variables: aBlock: [closure] in WorldState>>doOneCycleNowFor: Receiver''s instance variables: hands: an Array(a HandMorph(3216)) viewBox: 0@0 corner: 1424@807 canvas: a FormCanvas on: DisplayScreen(1424x807x32) damageRecorder: a DamageRecorder stepList: a Heap(StepMessage(#stepAt: -> a SystemWindow(1898))(a SystemWindow(1...etc... lastStepTime: 173182 lastStepMessage: nil lastCycleTime: 173201 commandHistory: a CommandHistory alarms: a Heap() lastAlarmTime: 173182
WorldState>>doOneCycleNowFor: Receiver: a WorldState Arguments and temporary variables: aWorld: a PasteUpMorph(1622) [world] Receiver''s instance variables: hands: an Array(a HandMorph(3216)) viewBox: 0@0 corner: 1424@807 canvas: a FormCanvas on: DisplayScreen(1424x807x32) damageRecorder: a DamageRecorder stepList: a Heap(StepMessage(#stepAt: -> a SystemWindow(1898))(a SystemWindow(1...etc... lastStepTime: 173182 lastStepMessage: nil lastCycleTime: 173201 commandHistory: a CommandHistory alarms: a Heap() lastAlarmTime: 173182
--- The full stack --- 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: OBColumn>>signalSelectionChanged OBColumn>>selection: OBPluggableListMorph(PluggableListMorph)>>changeModelSelection: OBPluggableListMorph>>mouseUp: OBPluggableListMorph(Morph)>>handleMouseUp: MouseButtonEvent>>sentTo: OBPluggableListMorph(Morph)>>handleEvent: MorphicEventDispatcher>>dispatchDefault:with: MorphicEventDispatcher>>dispatchEvent:with: OBPluggableListMorph(Morph)>>processEvent:using: OBPluggableListMorph(Morph)>>processEvent: OBPluggableListMorph(PluggableListMorph)>>handleFocusEvent: [] in HandMorph>>sendFocusEvent:to:clear: [] in PasteUpMorph>>becomeActiveDuring: BlockClosure>>on:do: PasteUpMorph>>becomeActiveDuring: HandMorph>>sendFocusEvent:to:clear: HandMorph>>sendEvent:focus:clear: HandMorph>>sendMouseEvent: 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 17 May 2009, at 14:44, Tudor Girba wrote:
Hi,
Thanks. Applying the fix you attached improves the situation in that I do not get the invalid utf8 error when debugging Object>>doesNotUnderstand.
However, the sources indeed appear as decompiled, and when I perform Smalltalk condenseChanges I still get an "Invalid utf8 input detected".
Cheers, Doru
On 17 May 2009, at 14:13, Nicolas Cellier wrote:
2009/5/17 Tudor Girba <girba@iam.unibe.ch>:
Hmm, it does not work for me, as I get another invalid utf8 input detected :).
Here is the trace.
Sure, we don't have same change log. Either your change log has not been condensed, or I changed something in my image before condensing.
Cheers, Doru
--------------------- '17 May 2009 2:04:55 pm
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
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)
[] in UndefinedObject>>DoIt Receiver: nil Arguments and temporary variables: t1: a CompiledMethod (838) Receiver''s instance variables: nil
Array(SequenceableCollection)>>collect: Receiver: #(a CompiledMethod (838) a CompiledMethod (3897) a CompiledMethod (1764) a CompiledMethod ...etc... Arguments and temporary variables: aBlock: [closure] in UndefinedObject>>DoIt newCollection: #(nil nil nil nil) index: 1 indexLimiT: 4 Receiver''s instance variables: #(a CompiledMethod (838) a CompiledMethod (3897) a CompiledMethod (1764) a CompiledMethod ...etc...
UndefinedObject>>DoIt Receiver: nil Arguments and temporary variables:
Receiver''s instance variables: nil
Compiler>>evaluate:in:to:notifying:ifFail:logged: Receiver: a Compiler Arguments and temporary variables: <<error during printing> Receiver''s instance variables: sourceStream: a ReadWriteStream ''view := MOViewRenderer new. view nodes: (1 to:...etc... requestor: an OBTextMorphEditorWithShout class: UndefinedObject category: nil context: nil parser: a Parser
[] in OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: <<error during printing> Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
BlockClosure>>on:do: Receiver: [closure] in OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection Arguments and temporary variables: exception: OutOfScopeNotification handlerAction: [closure] in OBTextMorphEditorWithShout(ParagraphEditor)>>evalua...etc... handlerActive: true Receiver''s instance variables: outerContext: OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection startpc: 116 numArgs: 0
OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: result: nil rcvr: nil ctxt: nil Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout(ParagraphEditor)>>doIt Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables:
Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
[] in OBTextMorphEditorWithShout(ParagraphEditor)>>doIt: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: <<error during printing> Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout (ParagraphEditor)>>terminateAndInitializeAround: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: aBlock: [closure] in OBTextMorphEditorWithShout(ParagraphEditor)>>doIt: Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout(ParagraphEditor)>>doIt: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: characterStream: a WriteStream '''' Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout (ParagraphEditor)>>dispatchOnKeyEvent:with: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: keyEvent: [keystroke ''<Cmd-d>''] typeAheadStream: a WriteStream '''' honorCommandKeys: true keyValue: 100 keyChar: $d char: $d action: #doIt: Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout (TextMorphEditor)>>dispatchOnKeyEvent:with: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: keyEvent: [keystroke ''<Cmd-d>''] typeAheadStream: a WriteStream '''' Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout(ParagraphEditor)>>keystroke: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: keyEvent: [keystroke ''<Cmd-d>''] typeAhead: a WriteStream '''' Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
OBTextMorphEditorWithShout(TextMorphEditor)>>keystroke: Receiver: an OBTextMorphEditorWithShout Arguments and temporary variables: keyEvent: [keystroke ''<Cmd-d>''] Receiver''s instance variables: model: an OTWorkspacePanel paragraph: a MultiNewParagraph startBlock: a CharacterBlock with index 338 and rectangle 679.91064453125@170 c...etc... stopBlock: a CharacterBlock with index 142 and character Character cr and recta...etc... beginTypeInBlock: nil emphasisHere: an Array(a TextColor code: Color black) initialText: a Text for ''v'' selectionShowing: false otherInterval: (139 to: 139) lastParentLocation: nil morph: an OBTextMorphWithShout(4064) oldInterval: (153 to: 170) pivotBlock: a CharacterBlock with index 142 and character Character cr and rect...etc... inBackTo: false
[] in OBTextMorphWithShout(TextMorph)>>keyStroke: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: <<error during printing> Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(TextMorph)>>handleInteraction: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: interactionBlock: [closure] in OBTextMorphWithShout(TextMorph)>>keyStroke: oldEditor: an OBTextMorphEditorWithShout oldParagraph: a MultiNewParagraph oldText: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEa...etc... Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(TextMorphForEditView)>>handleInteraction: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: interActionBlock: [closure] in OBTextMorphWithShout(TextMorph)>>keyStroke: Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(TextMorph)>>keyStroke: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: evt: [keystroke ''<Cmd-d>''] action: nil Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(TextMorphForEditView)>>keyStroke: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: evt: [keystroke ''<Cmd-d>''] view: an OBPluggableTextMorphWithShout(3699) Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(OBTextMorph)>>keyStroke: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] stringHolder: an OTWorkspacePanel completionAllowed: false Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(TextMorph)>>handleKeystroke: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] pasteUp: nil Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
KeyboardEvent>>sentTo: Receiver: [keystroke ''<Cmd-d>''] Arguments and temporary variables: anObject: an OBTextMorphWithShout(4064) Receiver''s instance variables: timeStamp: 542561 source: a HandMorph(3216) windowIndex: nil type: #keystroke buttons: 64 position: 150@201 handler: nil wasHandled: true keyValue: 100 charCode: 100 scanCode: 2
OBTextMorphWithShout(Morph)>>handleEvent: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
OBTextMorphWithShout(Morph)>>handleFocusEvent: Receiver: an OBTextMorphWithShout(4064) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] Receiver''s instance variables: bounds: 0@0 corner: 734@189 owner: a TransformMorph(3124) submorphs: #() fullBounds: 0@0 corner: 734@189 color: Color black extension: a MorphExtension (3227) borderWidth: 0 borderColor: Color black textStyle: a TextStyle Monaco text: a Text for ''view := MOViewRenderer new. view nodes: (1 to: 1000) forEach:...etc... wrapFlag: true paragraph: a MultiNewParagraph editor: an OBTextMorphEditorWithShout container: nil predecessor: nil successor: nil backgroundColor: nil margins: nil editHistory: a TextMorphCommandHistory editView: an OBPluggableTextMorphWithShout(3699) acceptOnCR: false
[] in HandMorph>>sendFocusEvent:to:clear: Receiver: a HandMorph(3216) Arguments and temporary variables: <<error during printing> Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil
[] in PasteUpMorph>>becomeActiveDuring: Receiver: a PasteUpMorph(1622) [world] Arguments and temporary variables: <<error during printing> Receiver''s instance variables: bounds: 0@0 corner: 1424@807 owner: nil submorphs: an Array(a TaskbarMorph(3095) a SystemWindow(1875) a SystemWindow(13...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
BlockClosure>>on:do: Receiver: [closure] in PasteUpMorph>>becomeActiveDuring: Arguments and temporary variables: exception: Error handlerAction: [closure] in PasteUpMorph>>becomeActiveDuring: handlerActive: false Receiver''s instance variables: outerContext: PasteUpMorph>>becomeActiveDuring: startpc: 67 numArgs: 0
PasteUpMorph>>becomeActiveDuring: Receiver: a PasteUpMorph(1622) [world] Arguments and temporary variables: aBlock: [closure] in HandMorph>>sendFocusEvent:to:clear: priorWorld: a PasteUpMorph(1622) [world] priorHand: a HandMorph(3216) priorEvent: nil Receiver''s instance variables: bounds: 0@0 corner: 1424@807 owner: nil submorphs: an Array(a TaskbarMorph(3095) a SystemWindow(1875) a SystemWindow(13...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
HandMorph>>sendFocusEvent:to:clear: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] focusHolder: an OBTextMorphWithShout(4064) aBlock: [closure] in HandMorph>>sendKeyboardEvent: w: a PasteUpMorph(1622) [world] result: #(nil) Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil
HandMorph>>sendEvent:focus:clear: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] focusHolder: an OBTextMorphWithShout(4064) aBlock: [closure] in HandMorph>>sendKeyboardEvent: result: nil Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil
HandMorph>>sendKeyboardEvent: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil
HandMorph>>handleEvent: Receiver: a HandMorph(3216) Arguments and temporary variables: anEvent: [keystroke ''<Cmd-d>''] evt: [keystroke ''<Cmd-d>''] ofs: nil Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil
HandMorph>>processEvents Receiver: a HandMorph(3216) Arguments and temporary variables: evt: [keystroke ''<Cmd-d>''] evtBuf: #(2 542561 100 0 8 100 0 1) type: 2 hadAny: true Receiver''s instance variables: bounds: 1141@484 corner: 1157@500 owner: a PasteUpMorph(1622) [world] submorphs: #() fullBounds: 1141@484 corner: 1157@500 color: Color blue extension: a MorphExtension (539) [eventHandler = an EventHandler] mouseFocus: nil keyboardFocus: nil eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [1141@484 mouseUp 697775 nil] targetOffset: 249@67 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '''' lastEventBuffer: #(1 697775 1141 484 0 0 0 1) lastKeyScanCode: 125 combinedChar: nil
[] in WorldState>>doOneCycleNowFor: Receiver: a WorldState Arguments and temporary variables: <<error during printing> Receiver''s instance variables: hands: an Array(a HandMorph(3216)) viewBox: 0@0 corner: 1424@807 canvas: a FormCanvas on: DisplayScreen(1424x807x32) damageRecorder: a DamageRecorder stepList: a Heap(StepMessage(#stepAt: -> a SystemWindow(1169))(a SystemWindow(1...etc... lastStepTime: 697763 lastStepMessage: nil lastCycleTime: 697783 commandHistory: a CommandHistory alarms: a Heap() lastAlarmTime: 697763
Array(SequenceableCollection)>>do: Receiver: an Array(a HandMorph(3216)) Arguments and temporary variables: aBlock: [closure] in WorldState>>doOneCycleNowFor: index: 1 indexLimiT: 1 Receiver''s instance variables: an Array(a HandMorph(3216))
--- The full stack --- BlockClosure>>ensure: RemoteString>>text CompiledMethod>>getSourceFromFile [] in UndefinedObject>>DoIt Array(SequenceableCollection)>>collect: UndefinedObject>>DoIt Compiler>>evaluate:in:to:notifying:ifFail:logged: [] in OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection BlockClosure>>on:do: OBTextMorphEditorWithShout(ParagraphEditor)>>evaluateSelection OBTextMorphEditorWithShout(ParagraphEditor)>>doIt [] in OBTextMorphEditorWithShout(ParagraphEditor)>>doIt: OBTextMorphEditorWithShout (ParagraphEditor)>>terminateAndInitializeAround: OBTextMorphEditorWithShout(ParagraphEditor)>>doIt: OBTextMorphEditorWithShout (ParagraphEditor)>>dispatchOnKeyEvent:with: OBTextMorphEditorWithShout (TextMorphEditor)>>dispatchOnKeyEvent:with: OBTextMorphEditorWithShout(ParagraphEditor)>>keystroke: OBTextMorphEditorWithShout(TextMorphEditor)>>keystroke: [] in OBTextMorphWithShout(TextMorph)>>keyStroke: OBTextMorphWithShout(TextMorph)>>handleInteraction: OBTextMorphWithShout(TextMorphForEditView)>>handleInteraction: OBTextMorphWithShout(TextMorph)>>keyStroke: OBTextMorphWithShout(TextMorphForEditView)>>keyStroke: OBTextMorphWithShout(OBTextMorph)>>keyStroke: OBTextMorphWithShout(TextMorph)>>handleKeystroke: KeyboardEvent>>sentTo: OBTextMorphWithShout(Morph)>>handleEvent: OBTextMorphWithShout(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 17 May 2009, at 13:59, Nicolas Cellier wrote:
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
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo- project
-- www.tudorgirba.com
"If you interrupt the barber while he is cutting your hair, you will end up with a messy haircut."
_______________________________________________ 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 what we do that matters most, it's how we do it."
-- www.tudorgirba.com
"Sometimes the best solution is not the best solution."
_______________________________________________ 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 "Every now and then stop and ask yourself if the war you're fighting is the right one."
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
Hmm, isn't it http://bugs.squeak.org/view.php?id=5996 ? Nicolas 2009/5/19 Nicolas Cellier <nicolas.cellier.aka.nice@gmail.com>:
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
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 <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
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr 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 <stephane.ducasse@inria.fr>:
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 <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
_______________________________________________ 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
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 <stephane.ducasse@inria.fr>:
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 <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
_______________________________________________ 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 "Some battles are better lost than fought."
yes please! On Fri, May 22, 2009 at 7:01 PM, Tudor Girba <girba@iam.unibe.ch> 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 <stephane.ducasse@inria.fr>:
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 <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
_______________________________________________ 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
"Some battles are better lost than fought."
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr 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 <hernan.wilkinson@gmail.com>
yes please!
On Fri, May 22, 2009 at 7:01 PM, Tudor Girba <girba@iam.unibe.ch> 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 <stephane.ducasse@inria.fr>:
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 <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 &
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
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 <stephane.ducasse@inria.fr>:
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 <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
_______________________________________________ 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
"Some battles are better lost than fought."
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
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 <stephane.ducasse@inria.fr>:
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 <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
_______________________________________________ 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
"Some battles are better lost than fought."
_______________________________________________ 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
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 <stephane.ducasse@inria.fr>:
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 <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
_______________________________________________ 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
"Some battles are better lost than fought."
_______________________________________________ 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
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 <stephane.ducasse@inria.fr>:
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 <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
_______________________________________________ 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
"Some battles are better lost than fought."
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
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 <stephane.ducasse@inria.fr>:
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 <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
_______________________________________________ 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
"Some battles are better lost than fought."
_______________________________________________ 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 "Value is always contextual."
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
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 Pharo-project@lists.gforge.inria.fr 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."
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 Pharo-project@lists.gforge.inria.fr 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 Pharo-project@lists.gforge.inria.fr 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."
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 Pharo-project@lists.gforge.inria.fr 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 Pharo-project@lists.gforge.inria.fr 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 Pharo-project@lists.gforge.inria.fr 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 <stephane.ducasse@inria.fr>:
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 Pharo-project@lists.gforge.inria.fr 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 Pharo-project@lists.gforge.inria.fr 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 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
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 <stephane.ducasse@inria.fr>:
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 Pharo-project@lists.gforge.inria.fr 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 Pharo-project@lists.gforge.inria.fr 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 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
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 <nicolas.cellier.aka.nice@gmail.com>:
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 <stephane.ducasse@inria.fr>:
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 Pharo-project@lists.gforge.inria.fr 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 Pharo-project@lists.gforge.inria.fr 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 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
On May 23, 2009, at 7:57 PM, Nicolas Cellier wrote:
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.
Ok now we cannot really rollback the changes and I fixed the methods that were leading to invalid UTF. But it means that we should check the StandardFileStream usage. I"m doing some experiences with umejava code Stef
2009/5/23 Nicolas Cellier <nicolas.cellier.aka.nice@gmail.com>:
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 <stephane.ducasse@inria.fr>:
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 Pharo-project@lists.gforge.inria.fr 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 Pharo-project@lists.gforge.inria.fr 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 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
Wow, great analysis, Nicolas! I was trying to find the cause for several hours now. Your third track exactly matches my findings. For example in Object>>#doesNotUnderstand: prior to the condensing, the source contained a non-ASCII character (UTF8 encoded as the two bytes: 192 160). This gets correctly transferred during the condensing into the new changes file. When you don't save the image (and hence have the standard stream without UTF8 encoder) what you see in the source is the character à (this is 192). That is, we suddenly have two characters, 192 and 160 where before there was just one. If you load a package, MC will compare methods and think this is a change. When loading the method from the MC file, the source is UTF8 encoded, producing a unicode character 160. When storing this source to the file (still without the encoder), it will just directly put 160 there. At this point we have lost the leading byte 192. Next time we start or save the image and have the right encoder again, it will choke because 160 is an invalid first byte in UTF8. I think it's save to fix the invalid methods by overriding their source. So we don't have to backtrack to version 10297. Thanks, Adrian On May 23, 2009, at 19:57 , Nicolas Cellier wrote:
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 <nicolas.cellier.aka.nice@gmail.com>:
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 <stephane.ducasse@inria.fr>:
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 Pharo-project@lists.gforge.inria.fr 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 Pharo-project@lists.gforge.inria.fr 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 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
Excellent! Thanks guys. I'm preparing a lectures for torino and I will experiment with umejava mcz fixes. Stef On May 23, 2009, at 8:49 PM, Adrian Lienhard wrote:
Wow, great analysis, Nicolas!
I was trying to find the cause for several hours now. Your third track exactly matches my findings.
For example in Object>>#doesNotUnderstand: prior to the condensing, the source contained a non-ASCII character (UTF8 encoded as the two bytes: 192 160). This gets correctly transferred during the condensing into the new changes file. When you don't save the image (and hence have the standard stream without UTF8 encoder) what you see in the source is the character à (this is 192). That is, we suddenly have two characters, 192 and 160 where before there was just one. If you load a package, MC will compare methods and think this is a change. When loading the method from the MC file, the source is UTF8 encoded, producing a unicode character 160. When storing this source to the file (still without the encoder), it will just directly put 160 there. At this point we have lost the leading byte 192. Next time we start or save the image and have the right encoder again, it will choke because 160 is an invalid first byte in UTF8.
I think it's save to fix the invalid methods by overriding their source. So we don't have to backtrack to version 10297.
Thanks, Adrian
On May 23, 2009, at 19:57 , Nicolas Cellier wrote:
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 <nicolas.cellier.aka.nice@gmail.com>:
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 <stephane.ducasse@inria.fr>:
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 Pharo-project@lists.gforge.inria.fr 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 Pharo-project@lists.gforge.inria.fr 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 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
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.
You could try the workaround attached. Anyway, DebuggerMethodMap still require some fixes ( http://code.google.com/p/pharo/issues/detail?id=818 )
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
doru do you succeed to reproduce that? Stef 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
participants (7)
-
Adrian Lienhard -
Dale Henrichs -
Hernan Wilkinson -
Mariano Martinez Peck -
Nicolas Cellier -
Stéphane Ducasse -
Tudor Girba