Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
May 2009
- 81 participants
- 1151 messages
Re: [Pharo-project] Tracing changes in MC (was: ThirtyTwoBitRegister methods removed)
by Mariano Martinez Peck
On Tue, May 19, 2009 at 4:56 PM, Alexandre Bergel <alexandre(a)bergel.eu>wrote:
> the topic of the discussion is not in sync with the thread topic.
>
> My answer to Nicolas' was:
> Here is an idea:
> - Adding a button 'search' in a Monticello repository inspector (the
> one you get when opening a repository)
> - with a 'search' button, you can then enter a method location such
> as TextMorphEditor>>keystroke:
> - the list of versions that either added the method or removed it
> according to the ancestors.
>
> How does that sound? I can work on it.
>
It's good to see you are trying to resolve this problem.
However, there are few things to add:
- the same situation can happen with removed classes, not only methods
- suppose I found in which version a method was removed. What can I do ?
just see commit comments. So, apart from that, we have to put a description
in the comment that explains what was removed for example an even why.
What do you think ?
>
> Cheers,
> Alexandre
>
>
> Begin forwarded message:
>
> > From: Michael Roberts <mike(a)mjr104.co.uk>
> > Date: 19 May 2009 19:06:13 CEDT
> > To: Pharo-project(a)lists.gforge.inria.fr
> > Subject: Re: [Pharo-project] ThirtyTwoBitRegister methods removed
> > Reply-To: Pharo-project(a)lists.gforge.inria.fr
> >
> > In general I would like to see a bit more envy tool like support in
> > mc. I have not checked out OT or newer mc versions to see what is
> > implemented. I would like the method vesions tool to map into a mc
> > version and to quickly go from the class to mc view. Can we do this
> > already? If not this would be really useful but I appreciate it has to
> > be built. Otherwise I too scratch my head trying to work out where all
> > the changes come in. I am not for a second proposing the envy model
> > but the tool was integrated nicely.
> > thanks mike
> >
> > On Tuesday, May 19, 2009, Mariano Martinez Peck
> > <marianopeck(a)gmail.com> wrote:
> >>
> >>
> >> On Tue, May 19, 2009 at 6:46 AM, Nicolas Cellier <
> nicolas.cellier.aka.nice(a)gmail.com
> >> > wrote:
> >>
> >> To me, this raises a more general question.
> >> How can we trace a particular change in Pharo?
> >> Why when and where this change did occur? I know all is in the
> >> Monticello repository, but is there a quick and convenient way to
> >> answer such a question? I mean avoiding a manual scan of each and
> >> every Monticello version...
> >>
> >> Or is it logged in the ChangeSet? In this case, what hidden menu or
> >> code snippet will help tracking the change?
> >>
> >> Or should we use the issue tracker? Ideally, the reason for every
> >> change should be logged here. And every Monticello uploaded should
> >> refer to an issue. Even if this were strictly applied, not sure that
> >> is the way to retrieve information at such a detailed level.
> >>
> >> If none of these tools can provide an easy answer, then yes, requests
> >> on mailing lists, IRC, or internet search can provide a much
> >> efficient
> >> answer. But that's the signature a tool is lacking.
> >>
> >> I am agree. Actually, I thought to add in my email a generic
> >> question of that because I faced this problem several times and I
> >> didn't know what to do.
> >>
> >>
> >>
> >> I wish Mariano gets an answer, but an answer on the method would be
> >> more profitable to every one.
> >> No problem. Perhaps someone knows haha.
> >>
> >>
> >>
> >> Cheers
> >>
> >> Nicolas
> >>
> >> 2009/5/19 Mariano Martinez Peck <marianopeck(a)gmail.com>:
> >>> Hi folks. I noticed that this two methods were removed from
> >>> ThirtyTwoBitRegister:
> >>>
> >>> asByteArray
> >>> ^ ByteArray with: (low bitAnd: 16rFF) with: (low bitShift:
> >>> -8) with:
> >>> (hi bitAnd: 16rFF) with: (hi bitShift: -8)
> >>>
> >>>
> >>>
> >>> reverseLoadFrom: aByteArray at: index
> >>> "Load my 32-bit value from the four bytes of the given
> >>> ByteArraystarting at the given index. Consider the first byte to
> >>> contain the
> >>> mostsignificant bits of the word (i.e., use big-endian byte
> >>> ordering)."
> >>>
> >>> hi := ((aByteArray at: index + 3) bitShift: 8) +
> >>> ( aByteArray at:
> >>> index + 2).
> >>> low := ((aByteArray at: index + 1) bitShift: 8) +
> >>> ( aByteArray at:
> >>> index).
> >>>
> >>>
> >>>
> >>> I need them for Glorp. I looked but I didn't found a similar
> >>> message for
> >>> them. I don't think adding them as an extension is a good solution
> >>> here
> >>> since this seems to be very "internal". is there a reason of the
> >>> removing?
> >>> If not, could them be added again? If there are reason, which
> >>> should be the
> >>> best approach to fix this in mi case?
> >>>
> >>> I have no problem in commit them if you want.
> >>>
> >>> Thanks!
> >>>
> >>> Mariano
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> _______________________________________________
> >>> Pharo-project mailing list
> >>> Pharo-project(a)lists.gforge.inria.fr
> >>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> >>>
> >>
> >> _______________________________________________
> >> Pharo-project mailing list
> >> Pharo-project(a)lists.gforge.inria.fr
> >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> >>
> >>
> >
> > _______________________________________________
> > Pharo-project mailing list
> > Pharo-project(a)lists.gforge.inria.fr
> > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> >
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
May 19, 2009
Re: [Pharo-project] question about OCompletion
by Robbes Romain
Hi Gabriel,
To change the packages OCompletion initially consider, you can execute:
OCompletionTable initializeWithPackages.
Note that this is just used to give OCompletion a starting point. Once you start changing methods in the system,
OCompletion will adapt automatically to your changes.
Romain
________________________________________
From: pharo-project-bounces(a)lists.gforge.inria.fr [pharo-project-bounces(a)lists.gforge.inria.fr] On Behalf Of Gabriel Brunstein [gaboto(a)gmail.com]
Sent: Monday, May 18, 2009 2:42 PM
To: Pharo-project(a)lists.gforge.inria.fr
Subject: [Pharo-project] question about OCompletion
How can I change the packages that I am working on with OCompletion? I think it is included in the last version of pharo so I could't specify it during the installation.
May 19, 2009
[Pharo-project] Tracing changes in MC (was: ThirtyTwoBitRegister methods removed)
by Alexandre Bergel
the topic of the discussion is not in sync with the thread topic.
My answer to Nicolas' was:
Here is an idea:
- Adding a button 'search' in a Monticello repository inspector (the
one you get when opening a repository)
- with a 'search' button, you can then enter a method location such
as TextMorphEditor>>keystroke:
- the list of versions that either added the method or removed it
according to the ancestors.
How does that sound? I can work on it.
Cheers,
Alexandre
Begin forwarded message:
> From: Michael Roberts <mike(a)mjr104.co.uk>
> Date: 19 May 2009 19:06:13 CEDT
> To: Pharo-project(a)lists.gforge.inria.fr
> Subject: Re: [Pharo-project] ThirtyTwoBitRegister methods removed
> Reply-To: Pharo-project(a)lists.gforge.inria.fr
>
> In general I would like to see a bit more envy tool like support in
> mc. I have not checked out OT or newer mc versions to see what is
> implemented. I would like the method vesions tool to map into a mc
> version and to quickly go from the class to mc view. Can we do this
> already? If not this would be really useful but I appreciate it has to
> be built. Otherwise I too scratch my head trying to work out where all
> the changes come in. I am not for a second proposing the envy model
> but the tool was integrated nicely.
> thanks mike
>
> On Tuesday, May 19, 2009, Mariano Martinez Peck
> <marianopeck(a)gmail.com> wrote:
>>
>>
>> On Tue, May 19, 2009 at 6:46 AM, Nicolas Cellier <nicolas.cellier.aka.nice(a)gmail.com
>> > wrote:
>>
>> To me, this raises a more general question.
>> How can we trace a particular change in Pharo?
>> Why when and where this change did occur? I know all is in the
>> Monticello repository, but is there a quick and convenient way to
>> answer such a question? I mean avoiding a manual scan of each and
>> every Monticello version...
>>
>> Or is it logged in the ChangeSet? In this case, what hidden menu or
>> code snippet will help tracking the change?
>>
>> Or should we use the issue tracker? Ideally, the reason for every
>> change should be logged here. And every Monticello uploaded should
>> refer to an issue. Even if this were strictly applied, not sure that
>> is the way to retrieve information at such a detailed level.
>>
>> If none of these tools can provide an easy answer, then yes, requests
>> on mailing lists, IRC, or internet search can provide a much
>> efficient
>> answer. But that's the signature a tool is lacking.
>>
>> I am agree. Actually, I thought to add in my email a generic
>> question of that because I faced this problem several times and I
>> didn't know what to do.
>>
>>
>>
>> I wish Mariano gets an answer, but an answer on the method would be
>> more profitable to every one.
>> No problem. Perhaps someone knows haha.
>>
>>
>>
>> Cheers
>>
>> Nicolas
>>
>> 2009/5/19 Mariano Martinez Peck <marianopeck(a)gmail.com>:
>>> Hi folks. I noticed that this two methods were removed from
>>> ThirtyTwoBitRegister:
>>>
>>> asByteArray
>>> ^ ByteArray with: (low bitAnd: 16rFF) with: (low bitShift:
>>> -8) with:
>>> (hi bitAnd: 16rFF) with: (hi bitShift: -8)
>>>
>>>
>>>
>>> reverseLoadFrom: aByteArray at: index
>>> "Load my 32-bit value from the four bytes of the given
>>> ByteArraystarting at the given index. Consider the first byte to
>>> contain the
>>> mostsignificant bits of the word (i.e., use big-endian byte
>>> ordering)."
>>>
>>> hi := ((aByteArray at: index + 3) bitShift: 8) +
>>> ( aByteArray at:
>>> index + 2).
>>> low := ((aByteArray at: index + 1) bitShift: 8) +
>>> ( aByteArray at:
>>> index).
>>>
>>>
>>>
>>> I need them for Glorp. I looked but I didn't found a similar
>>> message for
>>> them. I don't think adding them as an extension is a good solution
>>> here
>>> since this seems to be very "internal". is there a reason of the
>>> removing?
>>> If not, could them be added again? If there are reason, which
>>> should be the
>>> best approach to fix this in mi case?
>>>
>>> I have no problem in commit them if you want.
>>>
>>> Thanks!
>>>
>>> Mariano
>>>
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> Pharo-project(a)lists.gforge.inria.fr
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project(a)lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
May 19, 2009
Re: [Pharo-project] Understanding of new Eliot Closures
by Stéphane Ducasse
yes!
Stef
On May 19, 2009, at 1:56 AM, Mariano Martinez Peck wrote:
> Hi! I am trying to make Glorp work on Pharo, and I having some
> problems. In squeak I inspect [] and I see I have a BlockContext
> object. In latest Pharo, I get a BlockClosure. I guess this is about
> Eliot changes ?
>
> Now, Glorp has 5 methods extension in BlockContext. I saw
> BlockContext and BlockClosure and they have no hierarchy in common.
> So, if I want Glorp to work in squeak and pharo I must copy all that
> 5 methods from BlockContext to BlockClosure? is there a better
> solution ? I tried the first one and seems to work ok but I don't
> know if it is correct.
>
> Thanks in advance,
>
> Mariano
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
May 19, 2009
Re: [Pharo-project] invalid utf8 input detected
by Stéphane Ducasse
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(a)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(a)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(a)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(a)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(a)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(a)lists.gforge.inria.fr
>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>>>>>> project
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Pharo-project mailing list
>>>>>>>>> Pharo-project(a)lists.gforge.inria.fr
>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Pharo-project mailing list
>>>>>>>> Pharo-project(a)lists.gforge.inria.fr
>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>>>> project
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Pharo-project mailing list
>>>>>>> Pharo-project(a)lists.gforge.inria.fr
>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Pharo-project mailing list
>>>>>> Pharo-project(a)lists.gforge.inria.fr
>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Pharo-project mailing list
>>>>> Pharo-project(a)lists.gforge.inria.fr
>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>> project
>>>>>
>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> Pharo-project(a)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(a)lists.gforge.inria.fr
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
May 19, 2009
Re: [Pharo-project] ThirtyTwoBitRegister methods removed
by Michael Roberts
In general I would like to see a bit more envy tool like support in
mc. I have not checked out OT or newer mc versions to see what is
implemented. I would like the method vesions tool to map into a mc
version and to quickly go from the class to mc view. Can we do this
already? If not this would be really useful but I appreciate it has to
be built. Otherwise I too scratch my head trying to work out where all
the changes come in. I am not for a second proposing the envy model
but the tool was integrated nicely.
thanks mike
On Tuesday, May 19, 2009, Mariano Martinez Peck <marianopeck(a)gmail.com> wrote:
>
>
> On Tue, May 19, 2009 at 6:46 AM, Nicolas Cellier <nicolas.cellier.aka.nice(a)gmail.com> wrote:
>
> To me, this raises a more general question.
> How can we trace a particular change in Pharo?
> Why when and where this change did occur? I know all is in the
> Monticello repository, but is there a quick and convenient way to
> answer such a question? I mean avoiding a manual scan of each and
> every Monticello version...
>
> Or is it logged in the ChangeSet? In this case, what hidden menu or
> code snippet will help tracking the change?
>
> Or should we use the issue tracker? Ideally, the reason for every
> change should be logged here. And every Monticello uploaded should
> refer to an issue. Even if this were strictly applied, not sure that
> is the way to retrieve information at such a detailed level.
>
> If none of these tools can provide an easy answer, then yes, requests
> on mailing lists, IRC, or internet search can provide a much efficient
> answer. But that's the signature a tool is lacking.
>
> I am agree. Actually, I thought to add in my email a generic question of that because I faced this problem several times and I didn't know what to do.
>
>
>
> I wish Mariano gets an answer, but an answer on the method would be
> more profitable to every one.
> No problem. Perhaps someone knows haha.
>
>
>
> Cheers
>
> Nicolas
>
> 2009/5/19 Mariano Martinez Peck <marianopeck(a)gmail.com>:
>> Hi folks. I noticed that this two methods were removed from
>> ThirtyTwoBitRegister:
>>
>> asByteArray
>> Â Â Â Â Â Â ^ ByteArray with: (low bitAnd: 16rFF) with: (low bitShift: -8) with:
>> (hi bitAnd: 16rFF) with: (hi bitShift: -8)
>>
>>
>>
>> reverseLoadFrom: aByteArray at: index
>> Â Â Â Â Â Â Â Â "Load my 32-bit value from the four bytes of the given
>> ByteArraystarting at the given index. Consider the first byte to contain the
>> mostsignificant bits of the word (i.e., use big-endian byte ordering)."
>>
>> Â Â Â Â Â Â Â Â hi := ((aByteArray at: index + 3) bitShift: 8) + ( aByteArray at:
>> index + 2).
>> Â Â Â Â Â Â Â Â low := ((aByteArray at: index + 1) bitShift: 8) + ( aByteArray at:
>> index).
>>
>>
>>
>> I need them for Glorp. I looked but I didn't found a similar message for
>> them. I don't think adding them as an extension is a good solution here
>> since this seems to be very "internal". is there a reason of the removing?
>> If not, could them be added again? If there are reason, which should be the
>> best approach to fix this in mi case?
>>
>> I have no problem in commit them if you want.
>>
>> Thanks!
>>
>> Mariano
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project(a)lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
May 19, 2009
Re: [Pharo-project] invalid utf8 input detected
by Nicolas Cellier
Hmm, isn't it http://bugs.squeak.org/view.php?id=5996 ?
Nicolas
2009/5/19 Nicolas Cellier <nicolas.cellier.aka.nice(a)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(a)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(a)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(a)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(a)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(a)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(a)lists.gforge.inria.fr
>>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>>>>>> project
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Pharo-project mailing list
>>>>>>>>> Pharo-project(a)lists.gforge.inria.fr
>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Pharo-project mailing list
>>>>>>>> Pharo-project(a)lists.gforge.inria.fr
>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>>>> project
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Pharo-project mailing list
>>>>>>> Pharo-project(a)lists.gforge.inria.fr
>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Pharo-project mailing list
>>>>>> Pharo-project(a)lists.gforge.inria.fr
>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Pharo-project mailing list
>>>>> Pharo-project(a)lists.gforge.inria.fr
>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>
>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> Pharo-project(a)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(a)lists.gforge.inria.fr
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>
>
May 19, 2009
Re: [Pharo-project] invalid utf8 input detected
by Nicolas Cellier
>From what I see in a 10304, all these methods had a non ASCII
character in comment:
{Object>>#doesNotUnderstand:.
SystemNavigation>>#browseMethodsWhoseNamesContain:.
Utilities class>>#changeStampPerSe.
Utilities class>>#methodsWithInitials:} collect: [:e | (e
getSourceFromFile select: [:s | s charCode > 127]) asArray collect:
[:c | c charCode]]
#(#(160 160) #(172 143 172 143) #(183) #(246))
That is:
an Array(a Text for '  ' a Text for '¬Â¬Â' a Text for '·' a Text for 'ö')
First are non breaking space.
Last but ones are not rendered same in Squeak.
These four methods are changed in:
- Kernel-stephane_ducasse.renggli.319.mcz
- System-Support-stephane_ducasse.20.mcz
If I merge 10305 manually, I get some decompiled code in the merge window.
So there might be a problem already either in Monticello or in the .mcz.
After the merge, there is decomipled code in the changes and no error
when executing above code.
If I load instead of merging, then I also get the decompiled code in
the change log, so I can't reproduce completely the faulty behavior
(having an invalid utf-8 notifier), maybe because the process is no
the same when there are conflicts...
If I extract .mcz contents, I can read contents from FileBrowser. But
it does not use an UTF-8 encoding...
I can't say if the encoding is macRoman or ISO8859L1 or CP1252 or
what, but what I can say is that the source.st is not UTF-8 encoded.
So without searching further I guess here lies the problems: transfer
of raw bytes from non UTF-8 .mcz/source.st to the UTF-8 .changes
change-log...
Every time we'll modify a method with a Character code > 127, we will
likely create an invalid UTF-8 bug or get some decompiled code, or
corrupt source code in extreme case...
Could the Monticello / UTF-8 experts confirm my guess ?
Nicolas
2009/5/17 Nicolas Cellier <nicolas.cellier.aka.nice(a)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(a)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(a)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(a)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(a)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(a)lists.gforge.inria.fr
>>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>>>>> project
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Pharo-project mailing list
>>>>>>>> Pharo-project(a)lists.gforge.inria.fr
>>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Pharo-project mailing list
>>>>>>> Pharo-project(a)lists.gforge.inria.fr
>>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>>>> project
>>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Pharo-project mailing list
>>>>>> Pharo-project(a)lists.gforge.inria.fr
>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Pharo-project mailing list
>>>>> Pharo-project(a)lists.gforge.inria.fr
>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> Pharo-project(a)lists.gforge.inria.fr
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> Pharo-project(a)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(a)lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>
May 19, 2009
Re: [Pharo-project] vm exits unexpectedly
by Alain Plantec
Mariano Martinez Peck a écrit :
> But is this standard vm? Did you download it from
> http://squeakvm.org/unix/ ? is an exupery vm ? did you install it
> using apt-get ?
>
> Anyway, it seems to be already reported. See:
>
> - http://code.google.com/p/pharo/issues/detail?id=794
> -
> http://www.mail-archive.com/pharo-project@lists.gforge.inria.fr/msg08390.ht…
no, the problem reported by this issue concerns the new network
implementation.
Cheers
Alain
>
> Cheers,
>
> Mariano
>
> 2009/5/19 Steve Wirts <stevewirts(a)gmail.com <mailto:stevewirts@gmail.com>>
>
> does this help (version.c file in the directory)...
>
> int vm_serial= 32;
> char *vm_date= "Wed Apr 8 19:55:11 BST 2009";
> char *cc_version= "gcc 4.1.2";
> char *ux_version= "Linux localhost 2.6.24.4 #9 SMP Sat Jul 19
> 21:31:15 BST 2008 i686 Intel(R) Core(TM)2 Duo CPU E6850 @ 3.00GHz
> GenuineIntel GNU/Linux";
>
>
>
> 2009/5/19 Mariano Martinez Peck <marianopeck(a)gmail.com
> <mailto:marianopeck@gmail.com>>
>
> What exact VM are you using ?
>
> 2009/5/19 Steve Wirts <stevewirts(a)gmail.com
> <mailto:stevewirts@gmail.com>>
>
> My VM has been exiting frequently just recently.
> I'm on ubuntu 9.04, using the latest image available.
> It looks like the root cause is whenever a timestamp
> needs to be created.
>
> Anybody else have this issue?
>
> try this in a workspace...
>
> "UUID new".
>
> It seems to be from the primitive call within UUID
> initialization that
> causes it?
>
> Thanks
> Steve
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> <mailto:Pharo-project@lists.gforge.inria.fr>
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> <mailto:Pharo-project@lists.gforge.inria.fr>
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> <mailto:Pharo-project@lists.gforge.inria.fr>
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
May 19, 2009
Re: [Pharo-project] vm exits unexpectedly
by Alain Plantec
This problem seems to be related to the UUIDPlugin on ubuntu 9.04.
It has already been reported to Bryce Kampjes.
A work-around is to remove the UUIDPlugin :
just rename the build/UUIDPlugin as build/UUIDPlugin-not-used
and it should run fine.
Cheers
Alain
Steve Wirts a écrit :
> My VM has been exiting frequently just recently.
> I'm on ubuntu 9.04, using the latest image available.
> It looks like the root cause is whenever a timestamp
> needs to be created.
>
> Anybody else have this issue?
>
> try this in a workspace...
>
> "UUID new".
>
> It seems to be from the primitive call within UUID initialization that
> causes it?
>
> Thanks
> Steve
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
May 19, 2009