TimeOut Spellcheck’s 5L bug
Filed under Software showcase; 3 comments. |
A few months ago, I detailed the "unliprobablyo" bug in AppleWorks Classic’s TimeOut Grammar module. But there’s another bug that’s even more inscrutable. Although I’ve never personally encountered it, it is such a strange an inexplicable phenomenon that the revelation of its existence has stuck with me for decades.
For many, AppleWorks was their first access to a spellchecker. Although an imperfect tool that often lacked context and was unable to differentiate homonyms, it still introduced an unprecedented level of quality assurance to all writing, from simple to complex.
To this day, I’ve never encountered a spellcheck with a more efficient and intuitive interface, allowing me to select misspelled words from an alphabetical list instead of going through the document and forcing me to take action on each suspect word. This approach allows me to quickly skip over proper names, acronyms, and abbreviations.
But there was one abbreviation that, in a very specific context, could bring the whole house tumbling down. To the best of my knowledge, it was first reported by Tony Diaz on GEnie on November 1, 1996, as captured in GenieLamp:
I think I have stumbled on something here, and quite frankly, I for the life of me, just do not get it. Some history: I am starting to catagorize my Apple II Collection, I decided to start on paperwork. With the intention of eventually putting major portions of the list into an html table for posting on my Apple II Information web site. That is why I chose to just use the word processor instead of a data base file for this particular part of it, (some of you may say, why not use the database after I describe what lead me up to this.) I have my file boxes (Hanging folder cardboard boxes) labeled 1-12 at this point and the folders A-Z within. The stuff is in no particular order at this point which is why I just figured I’ll make a quick list, save it as a TAB delimited format, import it into a database later and swap stuff around, alphabetize/catagorize it… I sure wish I started that way and then I would have had this mess.
Here is an example what I was doing.
Name What Box/Folder -------------------------------------------------------------------- Wico Joystick Dealer Kit Hardware 1A Titan Technologies Dealer Kit Hardware 3C Analytical Engines Saybrook 68000 Fliers/Kit Hardware 4H Sweetmicro Systems Dealer Kit (Mockingboard) Hardware 5LI decided to spellcheck it so I could add some more words to my custom dictionary… and that was the end of that.
I after a long mess of ‘WTF!?@@@>#$%’ is going on here, I said.. ok, it’s choking on something… Lord knows what, no disk access had happened yet. I ditched the (thank god for Macros) the Box/Folder catagory and it worked. To make a long story short, 5L Locked up AppleWorks.
What a completely and utterly SILLY and stupid bug.
Harold Hislop took up the investigation, responding with his own findings:
As far as I have been able to tell, after an extensive amount of trying different things, the lockup only occurs on IIgs machines, and only when a RamFast SCSI card is installed. . . and it does not seem to matter if any volume that is attached to the RamFast has been accessed or not. … I can find -NO- reason for the lockup in this firmware… I =strongly suspect= (but have NOT proved!) that the problem is really in AppleWorks itself, and most likely related to it’s use of some 6502/65C02 opcode that does not execute in quite the same manner on a 65C816 processor.
I don’t have the resources to test if this bug persists in that specific environment, or if later versions of AppleWorks or the RamFAST firmware resolved it.
But I still remember around 2002, telling one programmer-type friend: "If you ran AppleWorks spellcheck on an Apple II with a RamFAST SCSI card installed, and the document contained ‘5L’, it would crash."I don’t think I’ve ever seen that friend laugh so hard.
Ken,
I’ve enjoyed your recollections of the TO Grammar and AppleWorks spell check ‘idiosyncrasies’.
The IIGS/RamFAST crash issue actually occurred when spell checking works starting with either ‘5L’ or ‘5M’. Fortunately, a patch was developed that allowed those words to be skipped altogether!
I don’t think anyone ever figured out exactly what was happening, though.
Thanks for the update, Hugh!
How does one patch a bug without understanding the bug’s cause?
Great question!
I never really looked into it that much, but I did apply the patch since I was/still am a died-in-the-wool RamFAST nut.
The notes(from the Texas II/Kingwood AppleWorks patcher program) just state that the patch causes the spell checker to ignore words that start with those strangely problematic characters.