Dear Squeakers,
I did the following: 1. I opened the latest trunk image Squeak4.2-10779-alpha.image with the Mac OS X VM Squeak 5.8b12. 2. Update Squeak. 3. Run all tests. After all the tests I get a debugger with "Error: Instances of StrikeFont are not indexable" --- The full stack --- StrikeFont(Object)>>error: StrikeFont(Object)>>errorNotIndexable StrikeFont(Object)>>size StrikeFont(Object)>>basicAt:put: StrikeFont(Object)>>instVarAt:put: StrikeFont(Object)>>readDataFrom:size: ReferenceStream(DataStream)>>readInstance ReferenceStream(DataStream)>>next ReferenceStream>>next ReferenceStream(DataStream)>>readArray ReferenceStream(DataStream)>>next ReferenceStream>>next [] in StrikeFontSet class>>installExternalFontOn:encoding:encodingName:textStyleName: [] in [] in MultiByteBinaryOrTextStream(PositionableStream)>>untilEndWithFork:displayingProgress: BlockClosure>>ensure: [] in MultiByteBinaryOrTextStream(PositionableStream)>>untilEndWithFork:displayingProgress: [] in BlockClosure>>newProcess Is there a way find out where this process is created? Tracing senders of StrikeFontSet class>>installExternalFontOn:encoding:encodingName:textStyleName: leads ultimately to no senders. In a Process Browser I do not see anything unusual. Cheers, Bernhard |
This might be the result of a fileIn (possibly one of the
LanguageEnvironment tests). You can try two things: 1) Check your recent changes if anything got logged. A fileIn from loading a project file or so should be logged. 2) Insert a "self halt" into the method (before the fork) to see where it comes from. Cheers, - Andreas On 1/8/2011 11:47 AM, Bernhard Pieber wrote: > Dear Squeakers, > > I did the following: > 1. I opened the latest trunk image Squeak4.2-10779-alpha.image with the Mac OS X VM Squeak 5.8b12. > 2. Update Squeak. > 3. Run all tests. After all the tests I get a debugger with "Error: Instances of StrikeFont are not indexable" > > --- The full stack --- > StrikeFont(Object)>>error: > StrikeFont(Object)>>errorNotIndexable > StrikeFont(Object)>>size > StrikeFont(Object)>>basicAt:put: > StrikeFont(Object)>>instVarAt:put: > StrikeFont(Object)>>readDataFrom:size: > ReferenceStream(DataStream)>>readInstance > ReferenceStream(DataStream)>>next > ReferenceStream>>next > ReferenceStream(DataStream)>>readArray > ReferenceStream(DataStream)>>next > ReferenceStream>>next > [] in StrikeFontSet class>>installExternalFontOn:encoding:encodingName:textStyleName: > [] in [] in MultiByteBinaryOrTextStream(PositionableStream)>>untilEndWithFork:displayingProgress: > BlockClosure>>ensure: > [] in MultiByteBinaryOrTextStream(PositionableStream)>>untilEndWithFork:displayingProgress: > [] in BlockClosure>>newProcess > > Is there a way find out where this process is created? Tracing senders of StrikeFontSet class>>installExternalFontOn:encoding:encodingName:textStyleName: leads ultimately to no senders. In a Process Browser I do not see anything unusual. > > Cheers, > Bernhard > |
Hi Andreas,
Thanks for the tips. Inserting self halt shows that it is called from the preamble of FontJapaneseEnvironment.sar by the SARInstaller. Where that is called from I have yet to figure out. Strangely my image hung after proceeding from the halt. Alt+. does not work. - Bernhard Am 08.01.2011 um 12:02 schrieb Andreas Raab: > This might be the result of a fileIn (possibly one of the LanguageEnvironment tests). You can try two things: > 1) Check your recent changes if anything got logged. A fileIn from loading a project file or so should be logged. > 2) Insert a "self halt" into the method (before the fork) to see where it comes from. > On 1/8/2011 11:47 AM, Bernhard Pieber wrote: >> I did the following: >> 1. I opened the latest trunk image Squeak4.2-10779-alpha.image with the Mac OS X VM Squeak 5.8b12. >> 2. Update Squeak. >> 3. Run all tests. After all the tests I get a debugger with "Error: Instances of StrikeFont are not indexable" >> snip >> Is there a way find out where this process is created? Tracing senders of StrikeFontSet class>>installExternalFontOn:encoding:encodingName:textStyleName: leads ultimately to no senders. In a Process Browser I do not see anything unusual. >> >> Cheers, >> Bernhard >> > > |
It is the LocaleTest. When I run it all the tests are green but the debugger appears. I have a FontJapaneseEnvironment.sar in the folder where my image resides. I have no idea where I got that from. When I remove it and run the LocaleTest the debugger does not appear.
Cheers, - Bernhard Am 08.01.2011 um 15:27 schrieb Bernhard Pieber: > Hi Andreas, > > Thanks for the tips. Inserting self halt shows that it is called from the preamble of FontJapaneseEnvironment.sar by the SARInstaller. Where that is called from I have yet to figure out. Strangely my image hung after proceeding from the halt. Alt+. does not work. > > Am 08.01.2011 um 12:02 schrieb Andreas Raab: >> This might be the result of a fileIn (possibly one of the LanguageEnvironment tests). You can try two things: >> 1) Check your recent changes if anything got logged. A fileIn from loading a project file or so should be logged. >> 2) Insert a "self halt" into the method (before the fork) to see where it comes from. >> On 1/8/2011 11:47 AM, Bernhard Pieber wrote: >>> I did the following: >>> 1. I opened the latest trunk image Squeak4.2-10779-alpha.image with the Mac OS X VM Squeak 5.8b12. >>> 2. Update Squeak. >>> 3. Run all tests. After all the tests I get a debugger with "Error: Instances of StrikeFont are not indexable" >>> > snip >>> Is there a way find out where this process is created? Tracing senders of StrikeFontSet class>>installExternalFontOn:encoding:encodingName:textStyleName: leads ultimately to no senders. In a Process Browser I do not see anything unusual. |
I have the same issue, and the file has mysteriously appeared in my
image directory. Usually you can Shift+Command+e to see references to substrings in the code, but doing that for FontJapaneseEnvironment.sar does not produce any results. Strange indeed..! On Sat, Jan 8, 2011 at 8:56 AM, Bernhard Pieber <[hidden email]> wrote: > It is the LocaleTest. When I run it all the tests are green but the debugger appears. I have a FontJapaneseEnvironment.sar in the folder where my image resides. I have no idea where I got that from. When I remove it and run the LocaleTest the debugger does not appear. > > Cheers, > - Bernhard > > Am 08.01.2011 um 15:27 schrieb Bernhard Pieber: >> Hi Andreas, >> >> Thanks for the tips. Inserting self halt shows that it is called from the preamble of FontJapaneseEnvironment.sar by the SARInstaller. Where that is called from I have yet to figure out. Strangely my image hung after proceeding from the halt. Alt+. does not work. >> >> Am 08.01.2011 um 12:02 schrieb Andreas Raab: >>> This might be the result of a fileIn (possibly one of the LanguageEnvironment tests). You can try two things: >>> 1) Check your recent changes if anything got logged. A fileIn from loading a project file or so should be logged. >>> 2) Insert a "self halt" into the method (before the fork) to see where it comes from. >>> On 1/8/2011 11:47 AM, Bernhard Pieber wrote: >>>> I did the following: >>>> 1. I opened the latest trunk image Squeak4.2-10779-alpha.image with the Mac OS X VM Squeak 5.8b12. >>>> 2. Update Squeak. >>>> 3. Run all tests. After all the tests I get a debugger with "Error: Instances of StrikeFont are not indexable" >>>> >> snip >>>> Is there a way find out where this process is created? Tracing senders of StrikeFontSet class>>installExternalFontOn:encoding:encodingName:textStyleName: leads ultimately to no senders. In a Process Browser I do not see anything unusual. > > > |
Am 08.01.11 23:37, schrieb Chris Muller:
> I have the same issue, and the file has mysteriously appeared in my > image directory. Usually you can Shift+Command+e to see references to Regarding Shift+Command+e: you should try searching for 2010 with it :D Regards, Andreas |
Ah, copyright notices. Got it, thx.
On Sat, Jan 8, 2011 at 5:23 PM, Andreas Wacknitz <[hidden email]> wrote: > Am 08.01.11 23:37, schrieb Chris Muller: >> I have the same issue, and the file has mysteriously appeared in my >> image directory. Usually you can Shift+Command+e to see references to > Regarding Shift+Command+e: you should try searching for 2010 with it :D > > Regards, > Andreas > > |
In reply to this post by bpi
On 08.01.2011, at 15:56, Bernhard Pieber wrote:
> I have a FontJapaneseEnvironment.sar in the folder where my image resides. I have no idea where I got that from. Fonts are downloaded automatically when you switch to a locale that requires it. You must have tried switching to Japanese at some point. - Bert - |
On 2011/01/10 11:18, Bert Freudenberg wrote:
> On 08.01.2011, at 15:56, Bernhard Pieber wrote: > >> I have a FontJapaneseEnvironment.sar in the folder where my image resides. I have no idea where I got that from. > > Fonts are downloaded automatically when you switch to a locale that requires it. You must have tried switching to Japanese at some point. That would have been part of the tests, yes? Certainly I didn't deliberately change locale, and ran into the same problem. frank |
On Mon, 10 Jan 2011, Frank Shearar wrote:
> On 2011/01/10 11:18, Bert Freudenberg wrote: >> On 08.01.2011, at 15:56, Bernhard Pieber wrote: >> >>> I have a FontJapaneseEnvironment.sar in the folder where my image resides. >>> I have no idea where I got that from. >> >> Fonts are downloaded automatically when you switch to a locale that >> requires it. You must have tried switching to Japanese at some point. > > That would have been part of the tests, yes? Certainly I didn't deliberately > change locale, and ran into the same problem. I guess LocaleTest does that. Levente > > frank > > |
Does anyone know how to fix this? The suspect we have at this point
is LocaleTest>>#testLocaleChanged, which loads a Japanese file from... somewhere which I can't tell, except there seems to be a problem with the ReferenceStream that causes it to try to, when constructing a StrikeFont, try to set beyond its 19th instance-variable.. Perhaps the class-structure changed, and/or the 'ja' file needs updating? It would be nice not to have the debugger appear in a new 4.2 release from running tests, and also a concern if there would be a problem with the Japanese Locale, of course. Thanks, Chris On Mon, Jan 10, 2011 at 8:45 AM, Levente Uzonyi <[hidden email]> wrote: > On Mon, 10 Jan 2011, Frank Shearar wrote: > >> On 2011/01/10 11:18, Bert Freudenberg wrote: >>> >>> On 08.01.2011, at 15:56, Bernhard Pieber wrote: >>> >>>> I have a FontJapaneseEnvironment.sar in the folder where my image >>>> resides. I have no idea where I got that from. >>> >>> Fonts are downloaded automatically when you switch to a locale that >>> requires it. You must have tried switching to Japanese at some point. >> >> That would have been part of the tests, yes? Certainly I didn't >> deliberately change locale, and ran into the same problem. > > I guess LocaleTest does that. > > > Levente > >> >> frank >> >> > > |
On Sun, 30 Jan 2011, Chris Muller wrote:
> Does anyone know how to fix this? The suspect we have at this point > is LocaleTest>>#testLocaleChanged, which loads a Japanese file from... > somewhere which I can't tell, except there seems to be a problem with > the ReferenceStream that causes it to try to, when constructing a > StrikeFont, try to set beyond its 19th instance-variable.. > > Perhaps the class-structure changed, and/or the 'ja' file needs updating? StrikeFont changed. Nicolas removed the 20th variable (charIndex), because it was unused. See http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-December/156220.html |
On Mon, 31 Jan 2011, Levente Uzonyi wrote:
> On Sun, 30 Jan 2011, Chris Muller wrote: > >> Does anyone know how to fix this? The suspect we have at this point >> is LocaleTest>>#testLocaleChanged, which loads a Japanese file from... >> somewhere which I can't tell, except there seems to be a problem with >> the ReferenceStream that causes it to try to, when constructing a >> StrikeFont, try to set beyond its 19th instance-variable.. >> >> Perhaps the class-structure changed, and/or the 'ja' file needs updating? > > StrikeFont changed. Nicolas removed the 20th variable (charIndex), because it > was unused. See > http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-December/156220.html > > I uploaded Tests-ul.114 which fixes LocaleTest >> #testIsFontAvailable. Since it was an expected failure it wasn't easy to find out that it got totally broken. To make the test pass you have to add the charIndex variable back to StrikeFont, otherwise the sar file won't load. The other option is to fix the sar file... Levente |
2011/1/31 Levente Uzonyi <[hidden email]>:
> On Mon, 31 Jan 2011, Levente Uzonyi wrote: > >> On Sun, 30 Jan 2011, Chris Muller wrote: >> >>> Does anyone know how to fix this? The suspect we have at this point >>> is LocaleTest>>#testLocaleChanged, which loads a Japanese file from... >>> somewhere which I can't tell, except there seems to be a problem with >>> the ReferenceStream that causes it to try to, when constructing a >>> StrikeFont, try to set beyond its 19th instance-variable.. >>> >>> Perhaps the class-structure changed, and/or the 'ja' file needs updating? >> >> StrikeFont changed. Nicolas removed the 20th variable (charIndex), because >> it was unused. See >> http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-December/156220.html >> >> > > I uploaded Tests-ul.114 which fixes LocaleTest >> #testIsFontAvailable. > Since it was an expected failure it wasn't easy to find out that it got > totally broken. > To make the test pass you have to add the charIndex variable back to > StrikeFont, otherwise the sar file won't load. > The other option is to fix the sar file... > > > Levente > > I would say take the shortest path for a quick 4.2 release : revert the change. Then, we'll have time to think about how to deal with those obsolete binary dumps in 4.3. Shouldn't a binary dump be restored in two pass ? 1) restore of exact structure (at time of dump) in temporary classes 2) mutation to current class sturcture (with ClassBuilder help) Nicolas |
>
> I would say take the shortest path for a quick 4.2 release : revert the change. > Then, we'll have time to think about how to deal with those obsolete > binary dumps in 4.3. > Shouldn't a binary dump be restored in two pass ? > 1) restore of exact structure (at time of dump) in temporary classes > 2) mutation to current class sturcture (with ClassBuilder help) > > Nicolas > OK, I just browsed it: StrikeFontSet are using ReferenceStream. Didn't SmartRefStream were created for addressing this very problem ? Nicolas |
> OK, I just browsed it: StrikeFontSet are using ReferenceStream.
> Didn't SmartRefStream were created for addressing this very problem ? That's my understanding. But if the file was originally written as a ReferenceStream, I think it will have to be re-written using a SmartRefStream. |
On Mon, 31 Jan 2011, Chris Muller wrote:
>> OK, I just browsed it: StrikeFontSet are using ReferenceStream. >> Didn't SmartRefStream were created for addressing this very problem ? > > That's my understanding. But if the file was originally written as a > ReferenceStream, I think it will have to be re-written using a > SmartRefStream. > > Will the file be updated or the change in the image reverted to solve this problem? Levente |
The change was reverted right? What was it, the 20th instVar was put back?
If I were in control of the file, I would redo the file and export it as a SmartRefStream. Alas, I have no idea even where it's being downloaded from; senders lead nowhere. This is some real "magic" going on in LocaleTestCase, kicking off a background load?? On Wed, Feb 2, 2011 at 7:07 PM, Levente Uzonyi <[hidden email]> wrote: > On Mon, 31 Jan 2011, Chris Muller wrote: > >>> OK, I just browsed it: StrikeFontSet are using ReferenceStream. >>> Didn't SmartRefStream were created for addressing this very problem ? >> >> That's my understanding. But if the file was originally written as a >> ReferenceStream, I think it will have to be re-written using a >> SmartRefStream. >> >> > > Will the file be updated or the change in the image reverted to solve this > problem? > > > Levente > > |
On Wed, 2 Feb 2011, Chris Muller wrote:
> The change was reverted right? What was it, the 20th instVar was put back? No, it's not reverted. And yes, the 20th instance variable, charIndex is "missing". > > If I were in control of the file, I would redo the file and export it > as a SmartRefStream. Alas, I have no idea even where it's being > downloaded from; senders lead nowhere. This is some real "magic" > going on in LocaleTestCase, kicking off a background load?? It's not magic. LanguageEnvironment >> #fontDownloadUrls contains the url which is http://metatoys.org/pub/ . We can change it to point to http://ftp.squeak.org if it's necessary. Something like http://ftp.squeak.org/4.2/fonts/ or a variant based on SystemVersion is fine IMHO. Levente > > On Wed, Feb 2, 2011 at 7:07 PM, Levente Uzonyi <[hidden email]> wrote: >> On Mon, 31 Jan 2011, Chris Muller wrote: >> >>>> OK, I just browsed it: StrikeFontSet are using ReferenceStream. >>>> Didn't SmartRefStream were created for addressing this very problem ? >>> >>> That's my understanding. But if the file was originally written as a >>> ReferenceStream, I think it will have to be re-written using a >>> SmartRefStream. >>> >>> >> >> Will the file be updated or the change in the image reverted to solve this >> problem? >> >> >> Levente >> >> > > |
In reply to this post by Chris Muller-3
On Wed, 2 Feb 2011, Chris Muller wrote:
> The change was reverted right? What was it, the 20th instVar was put back? > > If I were in control of the file, I would redo the file and export it > as a SmartRefStream. Alas, I have no idea even where it's being > downloaded from; senders lead nowhere. This is some real "magic" > going on in LocaleTestCase, kicking off a background load?? We should fix this issue ASAP. IMHO we should do the following: - "freeze" the trunk one more time - push a fix to the trunk which adds the missing instance variable - create a new release candidate from the trunk (the release must be in sync with the trunk) - reopen the trunk - the squeak42 repository's mcm should be replaced with a new version Levente > > On Wed, Feb 2, 2011 at 7:07 PM, Levente Uzonyi <[hidden email]> wrote: >> On Mon, 31 Jan 2011, Chris Muller wrote: >> >>>> OK, I just browsed it: StrikeFontSet are using ReferenceStream. >>>> Didn't SmartRefStream were created for addressing this very problem ? >>> >>> That's my understanding. But if the file was originally written as a >>> ReferenceStream, I think it will have to be re-written using a >>> SmartRefStream. >>> >>> >> >> Will the file be updated or the change in the image reverted to solve this >> problem? >> >> >> Levente >> >> > > |
Free forum by Nabble | Edit this page |