Raymond Chen, an experienced Microsoft programmer, shared internal company accounts, including an incident related to Word 97. This classic word processor version had a serious error that had the peculiarity of disappearing whenever it was analyzed by developers, causing great confusion.
The cause of this problem was linked to a hardware component. According to Chen, the failure caused a severe crash and was detected shortly before the official release of Office 97.
Initially, Microsoft engineers could replicate the defect by running a specific script. However, when using a debugger to isolate the exact section of faulty source code, the bug would cease to appear. This phenomenon is known among developers as a 'Heisenbug,' an allusion to physicist Werner Heisenberg, who postulated that observing a system can modify its state.
Since the error did not manifest during debugging, Microsoft developers debated different solutions until someone suggested using an ICE (Integrated Circuit Emulator), a piece of equipment designed to simulate and analyze processor behavior with precision.
Chen compared the developers' enthusiasm for the ICE idea to the feeling of a five-year-old discovering they can ride a fire truck. However, the equipment ultimately proved unnecessary. Microsoft developers noticed that most affected computers came from a single manufacturer. By investigating this detail, they discovered that a previously known defect in the processor design of those machines was responsible for the failure.
Fortunately, there was an updated compiler version used in Word 97 that could prevent the error. The complication was that updating the compiler at that time could introduce new and serious problems into Word 97. Thus, the developers had to trace the problematic sequence of instructions within the already compiled executable. This was a complex process, given that approximately 150 potentially culpable occurrences were identified.
In the end, they concluded that only one of these occurrences exceeded the memory page limit, which caused the problem. Applying a patch directly to the binary solved the bug, ending a turbulent but satisfying period.
