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
- 3 participants
- 144615 messages
[Pharo-project] Relicensing effort
by Gabriel Cotelli
Hi!
There is somebody coordinating the re-write of non re-licensed methods?
I probably could re-write some of this methods but don't want to duplicate
the effort :)
Should I take the Pharo-Core image or the Pharo-Dev for this?
Thanks
Gabriel
May 23, 2009
Re: [Pharo-project] invalid utf8 input detected
by Stéphane Ducasse
HI nicolas
I was reading the changes of yoshiki I will integrate but indeed this
is not for our case.
My reply below... I tried to follow :)
> What happened exactly is very hard to trace because these FileStream
> are a can of worms...
> Here are some of my perigrinations:
>
> FIRST POSSIBLE TRACK:
>
> All methods were changed in 10305.
> Monticello snapshot/source.st is not UTF-8.
> If the file is opened UTF-8, then we get decompiledCode, I don't
> know why yet...
> But the changes still go into the change log in correct UTF-8 form, so
> that's just another bug, but not the real source of the problem.
> For getting some worms out of the can just browse inst var defs of
> converter in MultiByteFileStream:
> The accessor #converter initialize converter with TextConverter
> defaultSystemConverter which depends on LanguageEnvironment.
> That is a Latin1TextConverter in my latin image.
> Unless #reset is called first, in which case it will initialize with a
> UTF8TextConverter.
> Yes, but open: fileName forWrite: writeMode, does the job too with a
> UTF8TextConverter.
> You still follow? me neither.
> A better behaved is #setConverterForCode that should let non UTF-8
> .mcz work in UTF-8 environment, but not sure if called where
> required...
> I think Yoshiki changes are necessary only for writing source code
> with character code > 255.
> This was not the case of incriminated methods.
>
> SECOND POSSIBLE TRACK:
>
> Everything going to the change log pass thru the MultiByteFileStream,
> so how did non UTF-8 characters went in?
> I tried to follow two other clues:
> 1) There are senders of #primWrite:from:startingAt:count: not
> redefined in MultiByteFileStream...
> for example, using #next:putAll:startingAt: will bypass the
> converter.
> 2) using nextPutAll: with a ByteArray argument also does bypass the
> converter (See MultiByteFileStream>>#nextPutAll:)
> I did not find the senders (you really believe senders of nextPutAll:
> can be analyzed?).
> I tried to instrument code with Notification, but I'm unable to
> reproduce the problem, so that was vain...
>
> THIRD POSSIBLE TRACK:
>
> http://gforge.inria.fr/frs/download.php/22283/Pharo0.1Core-10304cl.zip
> has the invalid UTF-8 problem, just before 10305 changes that
> introduced decompiled code...
> So we might attack the problem with another code snippet:
>
> (SystemNavigation default browseAllCallsOn: (Smalltalk associationAt:
> #SourceFiles))...
>
> Hmm, I might have a better clue now.
> The problem might possibly come from the condenseChanges in
> update10298.
> What happen in a condenseChanges?
> Changes are copied to this file:
>
> f := FileStream fileNamed: 'ST80.temp'.
>
> So far, so good, because the concreteStream is a MultiByteFileStream.
>
> But the end finishes with:
>
> SourceFiles
> at: 2
> put: (StandardFileStream oldFileNamed: oldChanges name)
>
> Waouh, no MultiByteFileStream here, so no more UTF-8.
> But hey, that would be the inverse problem: reading UTF-8 text with
> latin1 reader: I can't get an error doing this, only some strange
> sequence of characters... (The UTF-8 encoding)...
> Unless incriminated methods are further changed in #script376 or any
> other method... In which case they are written in latin1 in the
> changeLog...
> Hmm... That could be the case eventually. We must restart update
> process from http://gforge.inria.fr/frs/download.php/22167/Pharo0.1Core-10296cl-2.zip
>
> One thing is sure, at next returnFromSnapshot, FileDirectory
> class>>startup will reopen changes UTF-8.
> So saving the image will reopen UTF-8...
>
> But wait... Maybe we get enough pieces of the puzzle:
> Analyzing the Pharo0.1Core-10304cl.changes tells that Stephane applied
> several updates before snapshoting the image. So if Kernel and
> System-Support are changed between 10298 and 10304, then we get the
> explanation:
> - condense changes put all in the .changes in UTF-8 but reopen the
> changes in latin1
> - further updates up to 10304 write changes in latin1
> - image snapshot reopen changes in UTF-8 and thus we get further
> invalid UTF-8...
>
> That's easy to reproduce. Stef, can you confirm?
how do you want me to confirm?
That I redo the image. What we can do is change the update method to
block the update at a certain number.
> That also explain why I did not get the problem at home: I update
> early and always save my image after.
> After that we still have to detect and clean while Monticello sources
> are interpreted UTF-8 when they should not (FIRST TRACK) , and
> eventually make source code go UTF-8 in Monticello, so that non latin
> programmers can use their favourite language eventually...
>
> Nicolas
>
> 2009/5/23 Stéphane Ducasse <stephane.ducasse(a)inria.fr>:
>> No problem I never interpreted it like that.
>> Me too I want a system that is working
>>
>> Adrian I will publish a fix for DNU now
>> and I will try later to check the fixes proposed by yoshiki
>>
>> stef
>>
>> On May 23, 2009, at 1:29 PM, Tudor Girba wrote:
>>
>>> Actually, the fix is even simpler: if you find a method that raises
>>> "invalid utf8 input detected", just browse to it with a class
>>> browser,
>>> and re-accept it :).
>>>
>>> With my previous mail, I was not implying that someone should fix it
>>> for me, I was merely asking for what could a quick solution be,
>>> because I was a bit lost (scared) :). Now, I am happy. Thanks for
>>> discussing it.
>>>
>>> Cheers,
>>> Doru
>>>
>>> On 23 May 2009, at 13:07, Tudor Girba wrote:
>>>
>>>> Hi,
>>>>
>>>> I attached here a DNU implementation I took from an older image.
>>>> After filing this one in, I can debug DNU problems.
>>>>
>>>> Cheers,
>>>> Doru
>>>>
>>>> <Object-doesNotUnderstand.st>
>>>>
>>>>
>>>>
>>>> On 23 May 2009, at 13:04, Stéphane Ducasse wrote:
>>>>
>>>>> I did the following
>>>>>
>>>>> (Object>>#doesNotUNderstand) getSourceFromFile and I get an
>>>>> invalid....
>>>>>
>>>>> Now when I take another method
>>>>>
>>>>> (BalloonFontTest>>#testDefaultFont) I do not get problem.
>>>>>
>>>>> I will reread carefully the mails of nicolas to try to understand,
>>>>> I do not know if the fixes of yoh
>>>>>
>>>>> http://bugs.squeak.org/view.php?id=5996
>>>>> is related.
>>>>>
>>>>> Nicolas
>>>>>
>>>>>>> {Object>>#doesNotUnderstand:.
>>>>>>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>>>>>>> Utilities class>>#changeStampPerSe.
>>>>>>> Utilities class>>#methodsWithInitials:} collect: [:e | (e
>>>>>>> getSourceFromFile select: [:s | s charCode > 127]) asArray
>>>>>>> collect:
>>>>>>> [:c | c charCode]]
>>>>>
>>>>> I cannot get that code running it break before with me.
>>>>>
>>>>> Stef
>>>>>
>>>>> _______________________________________________
>>>>> Pharo-project mailing list
>>>>> Pharo-project(a)lists.gforge.inria.fr
>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
>>>>> project
>>>>
>>>> --
>>>> www.tudorgirba.com
>>>>
>>>> "Not knowing how to do something is not an argument for how it
>>>> cannot be done."
>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> Pharo-project(a)lists.gforge.inria.fr
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>> --
>>> www.tudorgirba.com
>>>
>>> "Problem solving efficiency grows with the abstractness level of
>>> problem understanding."
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> Pharo-project(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
>
May 23, 2009
Re: [Pharo-project] invalid utf8 input detected
by Nicolas Cellier
What happened exactly is very hard to trace because these FileStream
are a can of worms...
Here are some of my perigrinations:
FIRST POSSIBLE TRACK:
All methods were changed in 10305.
Monticello snapshot/source.st is not UTF-8.
If the file is opened UTF-8, then we get decompiledCode, I don't know why yet...
But the changes still go into the change log in correct UTF-8 form, so
that's just another bug, but not the real source of the problem.
For getting some worms out of the can just browse inst var defs of
converter in MultiByteFileStream:
The accessor #converter initialize converter with TextConverter
defaultSystemConverter which depends on LanguageEnvironment.
That is a Latin1TextConverter in my latin image.
Unless #reset is called first, in which case it will initialize with a
UTF8TextConverter.
Yes, but open: fileName forWrite: writeMode, does the job too with a
UTF8TextConverter.
You still follow? me neither.
A better behaved is #setConverterForCode that should let non UTF-8
.mcz work in UTF-8 environment, but not sure if called where
required...
I think Yoshiki changes are necessary only for writing source code
with character code > 255.
This was not the case of incriminated methods.
SECOND POSSIBLE TRACK:
Everything going to the change log pass thru the MultiByteFileStream,
so how did non UTF-8 characters went in?
I tried to follow two other clues:
1) There are senders of #primWrite:from:startingAt:count: not
redefined in MultiByteFileStream...
for example, using #next:putAll:startingAt: will bypass the converter.
2) using nextPutAll: with a ByteArray argument also does bypass the
converter (See MultiByteFileStream>>#nextPutAll:)
I did not find the senders (you really believe senders of nextPutAll:
can be analyzed?).
I tried to instrument code with Notification, but I'm unable to
reproduce the problem, so that was vain...
THIRD POSSIBLE TRACK:
http://gforge.inria.fr/frs/download.php/22283/Pharo0.1Core-10304cl.zip
has the invalid UTF-8 problem, just before 10305 changes that
introduced decompiled code...
So we might attack the problem with another code snippet:
(SystemNavigation default browseAllCallsOn: (Smalltalk associationAt:
#SourceFiles))...
Hmm, I might have a better clue now.
The problem might possibly come from the condenseChanges in update10298.
What happen in a condenseChanges?
Changes are copied to this file:
f := FileStream fileNamed: 'ST80.temp'.
So far, so good, because the concreteStream is a MultiByteFileStream.
But the end finishes with:
SourceFiles
at: 2
put: (StandardFileStream oldFileNamed: oldChanges name)
Waouh, no MultiByteFileStream here, so no more UTF-8.
But hey, that would be the inverse problem: reading UTF-8 text with
latin1 reader: I can't get an error doing this, only some strange
sequence of characters... (The UTF-8 encoding)...
Unless incriminated methods are further changed in #script376 or any
other method... In which case they are written in latin1 in the
changeLog...
Hmm... That could be the case eventually. We must restart update
process from http://gforge.inria.fr/frs/download.php/22167/Pharo0.1Core-10296cl-2.zip
One thing is sure, at next returnFromSnapshot, FileDirectory
class>>startup will reopen changes UTF-8.
So saving the image will reopen UTF-8...
But wait... Maybe we get enough pieces of the puzzle:
Analyzing the Pharo0.1Core-10304cl.changes tells that Stephane applied
several updates before snapshoting the image. So if Kernel and
System-Support are changed between 10298 and 10304, then we get the
explanation:
- condense changes put all in the .changes in UTF-8 but reopen the
changes in latin1
- further updates up to 10304 write changes in latin1
- image snapshot reopen changes in UTF-8 and thus we get further
invalid UTF-8...
That's easy to reproduce. Stef, can you confirm?
That also explain why I did not get the problem at home: I update
early and always save my image after.
After that we still have to detect and clean while Monticello sources
are interpreted UTF-8 when they should not (FIRST TRACK) , and
eventually make source code go UTF-8 in Monticello, so that non latin
programmers can use their favourite language eventually...
Nicolas
2009/5/23 Stéphane Ducasse <stephane.ducasse(a)inria.fr>:
> No problem I never interpreted it like that.
> Me too I want a system that is working
>
> Adrian I will publish a fix for DNU now
> and I will try later to check the fixes proposed by yoshiki
>
> stef
>
> On May 23, 2009, at 1:29 PM, Tudor Girba wrote:
>
>> Actually, the fix is even simpler: if you find a method that raises
>> "invalid utf8 input detected", just browse to it with a class browser,
>> and re-accept it :).
>>
>> With my previous mail, I was not implying that someone should fix it
>> for me, I was merely asking for what could a quick solution be,
>> because I was a bit lost (scared) :). Now, I am happy. Thanks for
>> discussing it.
>>
>> Cheers,
>> Doru
>>
>> On 23 May 2009, at 13:07, Tudor Girba wrote:
>>
>>> Hi,
>>>
>>> I attached here a DNU implementation I took from an older image.
>>> After filing this one in, I can debug DNU problems.
>>>
>>> Cheers,
>>> Doru
>>>
>>> <Object-doesNotUnderstand.st>
>>>
>>>
>>>
>>> On 23 May 2009, at 13:04, Stéphane Ducasse wrote:
>>>
>>>> I did the following
>>>>
>>>> (Object>>#doesNotUNderstand) getSourceFromFile and I get an
>>>> invalid....
>>>>
>>>> Now when I take another method
>>>>
>>>> (BalloonFontTest>>#testDefaultFont) I do not get problem.
>>>>
>>>> I will reread carefully the mails of nicolas to try to understand,
>>>> I do not know if the fixes of yoh
>>>>
>>>> http://bugs.squeak.org/view.php?id=5996
>>>> is related.
>>>>
>>>> Nicolas
>>>>
>>>>>> {Object>>#doesNotUnderstand:.
>>>>>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>>>>>> Utilities class>>#changeStampPerSe.
>>>>>> Utilities class>>#methodsWithInitials:} collect: [:e | (e
>>>>>> getSourceFromFile select: [:s | s charCode > 127]) asArray
>>>>>> collect:
>>>>>> [:c | c charCode]]
>>>>
>>>> I cannot get that code running it break before with me.
>>>>
>>>> Stef
>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> Pharo-project(a)lists.gforge.inria.fr
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>> --
>>> www.tudorgirba.com
>>>
>>> "Not knowing how to do something is not an argument for how it
>>> cannot be done."
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> Pharo-project(a)lists.gforge.inria.fr
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>> --
>> www.tudorgirba.com
>>
>> "Problem solving efficiency grows with the abstractness level of
>> problem understanding."
>>
>>
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project(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 23, 2009
Re: [Pharo-project] Alien FFI & COM
by Stéphane Ducasse
just load Alien from the alien squeaksource project
On May 23, 2009, at 12:58 PM, Carlos Crosetti wrote:
> Fernando, plese can you send the note you mention again? Thanks,
> Carlos
>
> -----Mensaje original-----
> De: pharo-project-bounces(a)lists.gforge.inria.fr
> [mailto:pharo-project-bounces@lists.gforge.inria.fr]En nombre de
> Fernando olivero
> Enviado el: Sábado, 23 de Mayo de 2009 06:56 a.m.
> Para: Pharo-project(a)lists.gforge.inria.fr
> Asunto: Re: [Pharo-project] Alien FFI & COM
>
>
> Carlos, plese let me know if you have problems loading the AlienFFI
> package.
>
> Look at the email i sent a couple of days ago, in there i explained
> the status and how to load.
>
> I'm using alien to reify C libraries and be able to call its behavior
> in smalltalk, doing that is fairly easy with AlienFFI and it works
> fast.
>
> Once you get it installed and test the examples i could help you
> more.
>
> Saludos,
> Fernando
>
> On May 23, 2009, at 11:40 AM, Stéphane Ducasse wrote:
>
>> did you succeed to load well alien.
>> Because fernando and me where cleaning it but I did not check what
>> fernando published.
>> I know that this is much cleaner (we remove newspeak bytecode).
>>
>> Now we need people to shake it.
>>
>>
>> On May 22, 2009, at 10:55 PM, Carlos Crosetti wrote:
>>
>>> looking for pointers to a sample Alien FFi code calling a COM based
>>> DLL....
>>>
>>> _______________________________________________
>>> 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
>
>
>
> --
> Internal Virus Database is out-of-date.
> Checked by AVG.
> Version: 7.5.524 / Virus Database: 270.12.11/2089 - Release Date:
> 30/04/2009
> 05:53 p.m.
>
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
May 23, 2009
Re: [Pharo-project] invalid utf8 input detected
by Stéphane Ducasse
No problem I never interpreted it like that.
Me too I want a system that is working
Adrian I will publish a fix for DNU now
and I will try later to check the fixes proposed by yoshiki
stef
On May 23, 2009, at 1:29 PM, Tudor Girba wrote:
> Actually, the fix is even simpler: if you find a method that raises
> "invalid utf8 input detected", just browse to it with a class browser,
> and re-accept it :).
>
> With my previous mail, I was not implying that someone should fix it
> for me, I was merely asking for what could a quick solution be,
> because I was a bit lost (scared) :). Now, I am happy. Thanks for
> discussing it.
>
> Cheers,
> Doru
>
> On 23 May 2009, at 13:07, Tudor Girba wrote:
>
>> Hi,
>>
>> I attached here a DNU implementation I took from an older image.
>> After filing this one in, I can debug DNU problems.
>>
>> Cheers,
>> Doru
>>
>> <Object-doesNotUnderstand.st>
>>
>>
>>
>> On 23 May 2009, at 13:04, Stéphane Ducasse wrote:
>>
>>> I did the following
>>>
>>> (Object>>#doesNotUNderstand) getSourceFromFile and I get an
>>> invalid....
>>>
>>> Now when I take another method
>>>
>>> (BalloonFontTest>>#testDefaultFont) I do not get problem.
>>>
>>> I will reread carefully the mails of nicolas to try to understand,
>>> I do not know if the fixes of yoh
>>>
>>> http://bugs.squeak.org/view.php?id=5996
>>> is related.
>>>
>>> Nicolas
>>>
>>>>> {Object>>#doesNotUnderstand:.
>>>>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>>>>> Utilities class>>#changeStampPerSe.
>>>>> Utilities class>>#methodsWithInitials:} collect: [:e | (e
>>>>> getSourceFromFile select: [:s | s charCode > 127]) asArray
>>>>> collect:
>>>>> [:c | c charCode]]
>>>
>>> I cannot get that code running it break before with me.
>>>
>>> Stef
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> Pharo-project(a)lists.gforge.inria.fr
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>> --
>> www.tudorgirba.com
>>
>> "Not knowing how to do something is not an argument for how it
>> cannot be done."
>>
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project(a)lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
> --
> www.tudorgirba.com
>
> "Problem solving efficiency grows with the abstractness level of
> problem understanding."
>
>
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
May 23, 2009
Re: [Pharo-project] invalid utf8 input detected
by Tudor Girba
Actually, the fix is even simpler: if you find a method that raises
"invalid utf8 input detected", just browse to it with a class browser,
and re-accept it :).
With my previous mail, I was not implying that someone should fix it
for me, I was merely asking for what could a quick solution be,
because I was a bit lost (scared) :). Now, I am happy. Thanks for
discussing it.
Cheers,
Doru
On 23 May 2009, at 13:07, Tudor Girba wrote:
> Hi,
>
> I attached here a DNU implementation I took from an older image.
> After filing this one in, I can debug DNU problems.
>
> Cheers,
> Doru
>
> <Object-doesNotUnderstand.st>
>
>
>
> On 23 May 2009, at 13:04, Stéphane Ducasse wrote:
>
>> I did the following
>>
>> (Object>>#doesNotUNderstand) getSourceFromFile and I get an
>> invalid....
>>
>> Now when I take another method
>>
>> (BalloonFontTest>>#testDefaultFont) I do not get problem.
>>
>> I will reread carefully the mails of nicolas to try to understand,
>> I do not know if the fixes of yoh
>>
>> http://bugs.squeak.org/view.php?id=5996
>> is related.
>>
>> Nicolas
>>
>>>> {Object>>#doesNotUnderstand:.
>>>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>>>> Utilities class>>#changeStampPerSe.
>>>> Utilities class>>#methodsWithInitials:} collect: [:e | (e
>>>> getSourceFromFile select: [:s | s charCode > 127]) asArray collect:
>>>> [:c | c charCode]]
>>
>> I cannot get that code running it break before with me.
>>
>> Stef
>>
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project(a)lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
> --
> www.tudorgirba.com
>
> "Not knowing how to do something is not an argument for how it
> cannot be done."
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
--
www.tudorgirba.com
"Problem solving efficiency grows with the abstractness level of
problem understanding."
May 23, 2009
Re: [Pharo-project] invalid utf8 input detected
by Stéphane Ducasse
Now if I redefine Object#doesNotUnderstand
I can do a
Object>>#doesNotUnderstand: getSourceFromFile
So may be we should give a try at the fixes of yoshiki and define a
method with utf-8 and see if it breaks.
I do not have the time now (kids business)
[stef]
On May 23, 2009, at 1:01 PM, Adrian Lienhard wrote:
>
> On May 23, 2009, at 11:41 , Stéphane Ducasse wrote:
>
>> This is not a question of will.
>
> Yep. Somebody needs to sit down to find the root cause (Nicolas
> already made a start by identifying the potential package versions
> that introduced the bad chars).
>
> Same, if you want to get a simple workaround integrated. This is a 5
> minute task and anybody can do it (create a changeset with a clean
> source of doesNotUnderstand:).
>
> If nobody does it, Stef or I will eventually do it, but please don't
> expect us to put that at the top of our todo list. After all this is a
> community project.
>
> Adrian
>
>>
>>
>> Stef
>>
>> On May 23, 2009, at 12:01 AM, Tudor Girba wrote:
>>
>>> Hi,
>>>
>>> Could we not solve this for the couple of offending methods for the
>>> moment? Having a problem in Object>>doesNotUnderstand: makes the
>>> whole
>>> debugging a pain because I can actually not debug such a case.
>>>
>>> Cheers,
>>> Doru
>>>
>>>
>>> On 19 May 2009, at 22:03, Nicolas Cellier wrote:
>>>
>>>> I opened http://code.google.com/p/pharo/issues/detail?id=830
>>>>
>>>> I think other UTF-8 issues are different:
>>>> Two for FileBrowser :
>>>> http://code.google.com/p/pharo/issues/detail?id=370
>>>> http://code.google.com/p/pharo/issues/detail?id=513
>>>> One about VM crash :
>>>> http://code.google.com/p/pharo/issues/detail?id=744
>>>>
>>>> Nicolas
>>>>
>>>> 2009/5/19 Stéphane Ducasse <stephane.ducasse(a)inria.fr>:
>>>>> thanks for making progress on this front.
>>>>>
>>>>> On May 19, 2009, at 6:40 PM, Nicolas Cellier wrote:
>>>>>
>>>>>>> From what I see in a 10304, all these methods had a non ASCII
>>>>>> character in comment:
>>>>>>
>>>>>> {Object>>#doesNotUnderstand:.
>>>>>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>>>>>> Utilities class>>#changeStampPerSe.
>>>>>> Utilities class>>#methodsWithInitials:} collect: [:e | (e
>>>>>> getSourceFromFile select: [:s | s charCode > 127]) asArray
>>>>>> collect:
>>>>>> [:c | c charCode]]
>>>>>> #(#(160 160) #(172 143 172 143) #(183) #(246))
>>>>>> That is:
>>>>>>
>>>>>> an Array(a Text for ' ' a Text for '¬â¬â' a Text for '·'
>>>>>> a
>>>>>> Text for 'ö')
>>>>>> First are non breaking space.
>>>>>> Last but ones are not rendered same in Squeak.
>>>>>>
>>>>>> These four methods are changed in:
>>>>>> - Kernel-stephane_ducasse.renggli.319.mcz
>>>>>> - System-Support-stephane_ducasse.20.mcz
>>>>>> If I merge 10305 manually, I get some decompiled code in the
>>>>>> merge
>>>>>> window.
>>>>>> So there might be a problem already either in Monticello or in
>>>>>> the .mcz.
>>>>>> After the merge, there is decomipled code in the changes and no
>>>>>> error
>>>>>> when executing above code.
>>>>>>
>>>>>> If I load instead of merging, then I also get the decompiled code
>>>>>> in
>>>>>> the change log, so I can't reproduce completely the faulty
>>>>>> behavior
>>>>>> (having an invalid utf-8 notifier), maybe because the process is
>>>>>> no
>>>>>> the same when there are conflicts...
>>>>>>
>>>>>> If I extract .mcz contents, I can read contents from FileBrowser.
>>>>>> But
>>>>>> it does not use an UTF-8 encoding...
>>>>>> I can't say if the encoding is macRoman or ISO8859L1 or CP1252 or
>>>>>> what, but what I can say is that the source.st is not UTF-8
>>>>>> encoded.
>>>>>>
>>>>>> So without searching further I guess here lies the problems:
>>>>>> transfer
>>>>>> of raw bytes from non UTF-8 .mcz/source.st to the UTF-8 .changes
>>>>>> change-log...
>>>>>>
>>>>>> Every time we'll modify a method with a Character code > 127, we
>>>>>> will
>>>>>> likely create an invalid UTF-8 bug or get some decompiled code,
>>>>>> or
>>>>>> corrupt source code in extreme case...
>>>>>>
>>>>>> Could the Monticello / UTF-8 experts confirm my guess ?
>>>>>>
>>>>>> Nicolas
>>>>>>
>>>>>> 2009/5/17 Nicolas Cellier <nicolas.cellier.aka.nice(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
>>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> 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
>>>
>>> "Some battles are better lost than fought."
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> 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
>
May 23, 2009
Re: [Pharo-project] invalid utf8 input detected
by Tudor Girba
Hi,
I attached here a DNU implementation I took from an older image. After
filing this one in, I can debug DNU problems.
Cheers,
Doru
On 23 May 2009, at 13:04, Stéphane Ducasse wrote:
> I did the following
>
> (Object>>#doesNotUNderstand) getSourceFromFile and I get an
> invalid....
>
> Now when I take another method
>
> (BalloonFontTest>>#testDefaultFont) I do not get problem.
>
> I will reread carefully the mails of nicolas to try to understand,
> I do not know if the fixes of yoh
>
> http://bugs.squeak.org/view.php?id=5996
> is related.
>
> Nicolas
>
>>> {Object>>#doesNotUnderstand:.
>>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>>> Utilities class>>#changeStampPerSe.
>>> Utilities class>>#methodsWithInitials:} collect: [:e | (e
>>> getSourceFromFile select: [:s | s charCode > 127]) asArray collect:
>>> [:c | c charCode]]
>
> I cannot get that code running it break before with me.
>
> Stef
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
--
www.tudorgirba.com
"Not knowing how to do something is not an argument for how it cannot
be done."
May 23, 2009
Re: [Pharo-project] invalid utf8 input detected
by Tudor Girba
Hi Stef,
Here is the scenario based on 10314cl:
- evaluate: 1, 'a'
- it will raise a DNU
- try to debug
- it will raise "invalid utf8 input detected"
Cheers,
Doru
On 23 May 2009, at 12:28, Stéphane Ducasse wrote:
> doru
> do you have a scenario running with the latest core?
>
> Stef
>
> On May 23, 2009, at 12:01 AM, Tudor Girba wrote:
>
>> Hi,
>>
>> Could we not solve this for the couple of offending methods for the
>> moment? Having a problem in Object>>doesNotUnderstand: makes the
>> whole
>> debugging a pain because I can actually not debug such a case.
>>
>> Cheers,
>> Doru
>>
>>
>> On 19 May 2009, at 22:03, Nicolas Cellier wrote:
>>
>>> I opened http://code.google.com/p/pharo/issues/detail?id=830
>>>
>>> I think other UTF-8 issues are different:
>>> Two for FileBrowser :
>>> http://code.google.com/p/pharo/issues/detail?id=370
>>> http://code.google.com/p/pharo/issues/detail?id=513
>>> One about VM crash :
>>> http://code.google.com/p/pharo/issues/detail?id=744
>>>
>>> Nicolas
>>>
>>> 2009/5/19 Stéphane Ducasse <stephane.ducasse(a)inria.fr>:
>>>> thanks for making progress on this front.
>>>>
>>>> On May 19, 2009, at 6:40 PM, Nicolas Cellier wrote:
>>>>
>>>>>> From what I see in a 10304, all these methods had a non ASCII
>>>>> character in comment:
>>>>>
>>>>> {Object>>#doesNotUnderstand:.
>>>>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>>>>> Utilities class>>#changeStampPerSe.
>>>>> Utilities class>>#methodsWithInitials:} collect: [:e | (e
>>>>> getSourceFromFile select: [:s | s charCode > 127]) asArray
>>>>> collect:
>>>>> [:c | c charCode]]
>>>>> #(#(160 160) #(172 143 172 143) #(183) #(246))
>>>>> That is:
>>>>>
>>>>> an Array(a Text for ' ' a Text for '¬â¬â' a Text for '·' a
>>>>> Text for 'ö')
>>>>> First are non breaking space.
>>>>> Last but ones are not rendered same in Squeak.
>>>>>
>>>>> These four methods are changed in:
>>>>> - Kernel-stephane_ducasse.renggli.319.mcz
>>>>> - System-Support-stephane_ducasse.20.mcz
>>>>> If I merge 10305 manually, I get some decompiled code in the merge
>>>>> window.
>>>>> So there might be a problem already either in Monticello or in
>>>>> the .mcz.
>>>>> After the merge, there is decomipled code in the changes and no
>>>>> error
>>>>> when executing above code.
>>>>>
>>>>> If I load instead of merging, then I also get the decompiled code
>>>>> in
>>>>> the change log, so I can't reproduce completely the faulty
>>>>> behavior
>>>>> (having an invalid utf-8 notifier), maybe because the process is
>>>>> no
>>>>> the same when there are conflicts...
>>>>>
>>>>> If I extract .mcz contents, I can read contents from FileBrowser.
>>>>> But
>>>>> it does not use an UTF-8 encoding...
>>>>> I can't say if the encoding is macRoman or ISO8859L1 or CP1252 or
>>>>> what, but what I can say is that the source.st is not UTF-8
>>>>> encoded.
>>>>>
>>>>> So without searching further I guess here lies the problems:
>>>>> transfer
>>>>> of raw bytes from non UTF-8 .mcz/source.st to the UTF-8 .changes
>>>>> change-log...
>>>>>
>>>>> Every time we'll modify a method with a Character code > 127, we
>>>>> will
>>>>> likely create an invalid UTF-8 bug or get some decompiled code, or
>>>>> corrupt source code in extreme case...
>>>>>
>>>>> Could the Monticello / UTF-8 experts confirm my guess ?
>>>>>
>>>>> Nicolas
>>>>>
>>>>> 2009/5/17 Nicolas Cellier <nicolas.cellier.aka.nice(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
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> 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
>>
>> "Some battles are better lost than fought."
>>
>>
>>
>>
>> _______________________________________________
>> 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
"Value is always contextual."
May 23, 2009
Re: [Pharo-project] invalid utf8 input detected
by Stéphane Ducasse
I did the following
(Object>>#doesNotUNderstand) getSourceFromFile and I get an invalid....
Now when I take another method
(BalloonFontTest>>#testDefaultFont) I do not get problem.
I will reread carefully the mails of nicolas to try to understand,
I do not know if the fixes of yoh
http://bugs.squeak.org/view.php?id=5996
is related.
Nicolas
>> {Object>>#doesNotUnderstand:.
>> SystemNavigation>>#browseMethodsWhoseNamesContain:.
>> Utilities class>>#changeStampPerSe.
>> Utilities class>>#methodsWithInitials:} collect: [:e | (e
>> getSourceFromFile select: [:s | s charCode > 127]) asArray collect:
>> [:c | c charCode]]
I cannot get that code running it break before with me.
Stef
May 23, 2009