When loading Telnet 301 into 3.10.2-7179-basic a question box is
opened asking if a more suitable font should be generated. Upon answering "Yes" I get the following error: UndefinedObject(Object)>>error: UndefinedObject(Object)>>errorNonIntegerIndex UndefinedObject(Object)>>at:put: BDFFontReader>>readAttributes BDFFontReader>>read StrikeFont>>readBDFFromFile:name: StrikeFont class>>newFromBDFFile:name: SimpleTextMorph class>>initializeFonts SimpleTextMorph class>>initialize UndefinedObject>>DoIt Compiler>>evaluate:in:to:notifying:ifFail:logged: Compiler class>>evaluate:for:notifying:logged: Compiler class>>evaluate:for:logged: Compiler class>>evaluate:logged: [] in MultiByteFileStream(PositionableStream)>>fileInAnnouncing: {[val := (self peekFor: $!) ifTrue: [(Compiler evaluate: self nextChunk l...]} BlockContext>>on:do: [] in MultiByteFileStream(PositionableStream)>>fileInAnnouncing: {[:bar | [self atEnd] whileFalse: [bar value: self position. self skipS...]} [] in ProgressInitiationException>>defaultMorphicAction {[result := workBlock value: progress]} BlockContext>>ensure: ProgressInitiationException>>defaultMorphicAction index: #STARTFONT value: #('2.1') "#STARTFONT" does not answer true to #isNumber thus the error is thrown. It looks like BDFFontReader>>readAttributes doesn't know how to read the "SimpleTextMorph-fixed.bdf" file that was actually downloaded to be used. Perhaps some format change occurred? -- Greg A. Woods; Planix, Inc. <[hidden email]> PGP.sig (193 bytes) Download Attachment |
On Dec 5, 2008, at 12:03 PM, Greg A. Woods; Planix, Inc. wrote: > When loading Telnet 301 into 3.10.2-7179-basic a question box is > opened asking if a more suitable font should be generated. Upon > answering "Yes" I get the following error: Well first I tried loading Telnet 301 in using SqueakMap, but that didn't work (utf8 error...?). Filing in the two changesets worked though. Backtracing the stack, it seems that the instance variable #properties of BDFFontReader never gets initialized. Adding a stupid line "properties ifNil: [properties := Dictionary new]." to the beginning of BDFFontReader>>read seems to fix the problem... my guess is that some class-side constructor is bypassing the instance's #initialize method...? Figuring out where and fixing that would probably be the true fix. Executing 'TeletypeWindow open' now brings up a teletype window and seems to have the correct font. Trying to access the application menu for the window though brings up another DNU... StrikeFontSet(Object) doesNotUnderstand: #isMonospaced. - TimJ |
On Dec 5, 2008, at 1:58 PM, Tim Johnson wrote: > > On Dec 5, 2008, at 12:03 PM, Greg A. Woods; Planix, Inc. wrote: > >> When loading Telnet 301 into 3.10.2-7179-basic a question box is >> opened asking if a more suitable font should be generated. Upon >> answering "Yes" I get the following error: > > Well first I tried loading Telnet 301 in using SqueakMap, but that > didn't work (utf8 error...?). Filing in the two changesets worked > though. > > Backtracing the stack, it seems that the instance variable > #properties of BDFFontReader never gets initialized. Adding a > stupid line > "properties ifNil: [properties := Dictionary new]." to the beginning > of BDFFontReader>>read seems to fix the problem... my guess is that > some class-side constructor is bypassing the instance's #initialize > method...? Figuring out where and fixing that would probably be the > true fix. > > Executing 'TeletypeWindow open' now brings up a teletype window and > seems to have the correct font. Trying to access the application > menu for the window though brings up another DNU... > StrikeFontSet(Object) doesNotUnderstand: #isMonospaced. Doing some Googling shows that this is not at all new. However, I cannot find anything in Mantis about it. http://www.google.com/search?q=StrikeFont+%23isMonospaced (I'm ignoring the Amiga Pascal code :) ) The mailing list post shows that the problems have been investigated as far back as 2003 but for some reason no fixes have been created or committed. Also to be found is more IRC commentary about Universes and Telnet in particular. IRC sure does seem to be the hip place to be! - TimJ |
On 5-Dec-2008, at 3:29 PM, Tim Johnson wrote: > > Doing some Googling shows that this is not at all new. However, I > cannot find anything in Mantis about it. That's a whole other issue -- it would sure be nice if the "mail out bug report" button actually sent a nice clean and formatted text report to both a special "bugs" mailing list, and directly into the bug reporting system. Having to jump out into a whole other world to report bugs, and without even any good tools to create formatted detailed bug reports, makes it a whole lot harder to do. I really don't like web-only interfaces for anything either, and especially not bug tracking systems. Well formatted plain text with full e-mail gateways seems to make the best foundation for such systems, and web interfaces can be built on top as desired. GNATS is a good example. -- Greg A. Woods; Planix, Inc. <[hidden email]> PGP.sig (193 bytes) Download Attachment |
>
> On 5-Dec-2008, at 3:29 PM, Tim Johnson wrote: > > > > Doing some Googling shows that this is not at all new. However, > I > > cannot find anything in Mantis about it. > > That's a whole other issue -- it would sure be nice if the "mail > out > bug report" button actually sent a nice clean and formatted text > report to both a special "bugs" mailing list, and directly into the > > bug reporting system. Having to jump out into a whole other world > to > report bugs, and without even any good tools to create formatted > detailed bug reports, makes it a whole lot harder to do. I really > don't like web-only interfaces for anything either, and especially > not > bug tracking systems. Well formatted plain text with full e-mail > gateways seems to make the best foundation for such systems, and > web > interfaces can be built on top as desired. GNATS is a good example. I don't know anything about bug-reporting from a professional's perspective, but from a user's perspective what you say makes sense. It seems there ought to be a bugs@ address, and that users should not have to jump through so many hoops to "properly" report bugs. Would a volunteer monitor the bugs@ address, or would it be entirely mechanized? Anyway, I have tried going through proper channels to fix the BDFFontReader class. We'll see where that goes. Turns out the bug was brought up a year ago on the mailing list [1] and yet I could not find anything in Mantis about it. Yes, nothing in Mantis, despite the problem being brought up on the mailing list... with a basic and easy fix. Lack of ownership probably pays a big part in this...? My Mantis report, #0007241, is at [2]. I guess that since I did not provide unit tests to provoke the failure, as well as unit tests to prove my fix, that my report will not go anywhere. Hopefully I guess wrong. Problem / fix: It seems BDFFontReader class>>#new calls #basicNew which is what keeps the #initialize from being called. I propose removing BDFFontReader class>>#new as a fix. - TimJ [1] http://lists.squeakfoundation.org/pipermail/squeak-dev/2007-September/121011.html [2] http://bugs.squeak.org/view.php?id=7241 |
TimJ,
hello, I will use your fix as an example of how to contribute fixes to 3.11 Step 1: ===== Add an installer script to the bug report page, so that folks can easily load your fix into any image. to your report: http://bugs.squeak.org/view.php?id=7241 I added the following note: "fix begin" Installer bug: 7241 fix: 'BDFFontReader class.tcj.1.cs'. "fix end" Step 2: ===== Load "LevelPlayingField" and "Tasks" package into an image of your choice. HTTPSocket httpFileIn: 'installer.pbwiki.com/f/LPF.st'. Installer install: 'Tasks'. Find the class ReleaseAfterSqueak310 and find a suitable place for your fix. You can add your own method for your own fixes, or you can adopt one that is already provided. For example: ReleaseAfterSqueak310-#fixesMotherOfFontIssues "Mother Page: http://bugs.squeak.org/view.php?id=6570 " ^ self dependingOn: { self fixIfUnstable: '7071: Key values from Input Method are not converted correctly on new Unicode Windows VM'. "ADD YOUR FIX HERE" self fixIfUnstable: '7421 BDFFontReader doesn't call #initialize'. } Explanation: #fixIfUnstable: is a task that will run when generating an unstable (i.e. alpha release). Other options are: #fix: (for fixes that are to be added to the "stable" test-candidate) #fixOneDay: (to register the existence of a fix, but is perhaps not ready for any image yet) Fixes are recorded as dependencies of a task. They may be set to depend upon each other. Sake will automatically load fixes in the order prescribed by the dependencies, and will not load one fix twice. This means that different packages/modules can be worked upon independently, and specifying dependencies can help in theory. Step 3: ===== Update your fix to include the "mother page" (6750) as its parent. Step 4: ===== Save the 'Tasks' package back to squeaksource, with a reasonable comment. The [hidden email] mailing list will be sent a mail with your change highlighted for all interested to see and comment on. The release mailing list for detailed discussion is [hidden email] and of course there is the squeak irc channel. Step 5: ===== Wait for "Bob the Builder" to automatically build an image for you to download. or: If you want to manually generate the "a test candidate" image execute: ReleaseAfterSqueak310Unstable taskGenerate run Step 6 ===== You will find your fix, documented with the full mantis report on the instance side of ReleaseAfterSqueak310 Hope this makes some sense best regards Keith |
Free forum by Nabble | Edit this page |