Word 97's ghost in the machine: The crash that vanished the moment anyone looked at it
Microsoft veteran recalls how a CPU errata, a mythical ICE, and a single sneaky NOP saved Clippy's big debut
In the closing stages of the Word 97 development process, an elusive bug surfaced in Microsoft's test labs. The issue defied conventional debugging methods, as it only appeared sporadically in controlled environments but vanished entirely when engineers attempted to investigate using a debugger. This phenomenon caused significant concern among the development team, as a bug that could only be reliably triggered in labs would likely cause more frequent problems in real-world usage.
Raymond Chen, a veteran Microsoft engineer, recounted the difficulties faced by the team, emphasizing the nightmare scenario of debugging a problem that resisted traditional debugging techniques. The team eventually resorted to utilizing an In-Circuit Emulator (ICE), a tool that allows breakpoints inside an emulated chip, but such devices were considered mythical in the software development world at the time.
The discovery of the root cause of the issue pointed towards a specific manufacturer's CPU erratum, which led to the realization that the compiler used at the time had been updated to bypass the problematic code sequence. However, the team was unable to swap in a new compiler due to the risk of introducing additional unknown bugs.
Instead, they decided to conduct a binary patch on the existing Word 97 binaries to insert a "nop" (a no-operation instruction) into the offending code sequence, effectively eliminating the issue without introducing any new problems. This binary patch received considerably less attention compared to the more headline features of Word 97, such as the introduction of Clippit (Clippy) and Visual Basic for Applications (VBA).
Despite its unassuming nature, the binary patch proved to be a crucial solution to ensure the stability of the Word 97 software.
Written by urgent.news from The Register Science's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.