रेमंड चेन, माइक्रोसॉफ्ट के एक अनुभवी प्रोग्रामर ने कंपनी के बारे में आंतरिक रिपोर्ट साझा की, जिसमें वर्ड 97 से संबंधित एक घटना भी शामिल है। टेक्स्ट एडिटर का यह क्लासिक संस्करण एक गंभीर त्रुटि रखता था जो हमेशा डेवलपर्स द्वारा विश्लेषण किए जाने पर गायब हो जाती थी, जिससे काफी भ्रम पैदा होता था।
इस समस्या का कारण एक हार्डवेयर घटक से जुड़ा था। चेन के अनुसार, विफलता के कारण एक गंभीर क्रैश होता था और इसे ऑफिस 97 के आधिकारिक लॉन्च से ठीक पहले पता लगाया गया था।
शुरुआत में, माइक्रोसॉफ्ट के इंजीनियर एक विशिष्ट स्क्रिप्ट चलाकर दोष को दोहरा सकते थे। हालांकि, जब दोषपूर्ण सोर्स कोड के सटीक हिस्से को अलग करने के लिए डीबगर का उपयोग किया गया, तो बग दिखाई देना बंद हो गया। डेवलपर्स के बीच इस घटना को 'हाइजेनबग' के रूप में जाना जाता है, जो भौतिक विज्ञानी वर्नर हाइजेनबर्ग के नाम पर है, जिन्होंने प्रस्तावित किया था कि किसी प्रणाली का अवलोकन उसकी स्थिति को बदल सकता है।
चूंकि त्रुटि डिबगिंग के दौरान प्रकट नहीं होती थी, इसलिए माइक्रोसॉफ्ट के डेवलपर्स विभिन्न समाधानों पर बहस करते रहे जब तक कि किसी ने ICE (इंटीग्रेटेड सर्किट एम्युलेटर) का उपयोग करने का सुझाव नहीं दिया, जो एक उपकरण है जिसे प्रोसेसर के व्यवहार का सटीकता से अनुकरण और विश्लेषण करने के लिए डिज़ाइन किया गया है।
चेन ने ICE के विचार के प्रति डेवलपर्स के उत्साह की तुलना पांच साल के बच्चे की भावना से की जो फायर ट्रक पर चलना सीखता है। हालांकि, उपकरण आवश्यक नहीं निकला। माइक्रोसॉफ्ट के डेवलपर्स ने देखा कि प्रभावित अधिकांश कंप्यूटर एक ही निर्माता के थे। इस विवरण की जांच करते हुए, उन्होंने पाया कि इन मशीनों के प्रोसेसर डिजाइन में पहले से ज्ञात एक दोष ही विफलता का कारण था।
खुशी की बात यह थी कि वर्ड 97 में उपयोग किए जाने वाले कंपाइलर का एक अद्यतन संस्करण था जो त्रुटि को रोक सकता था। जटिलता यह थी कि उस समय कंपाइलर को अपडेट करने से वर्ड 97 में नई और गंभीर समस्याएं उत्पन्न हो सकती थीं। इसलिए, डेवलपर्स को पहले से संकलित निष्पादन योग्य के भीतर समस्याग्रस्त निर्देश अनुक्रम को ट्रैक करने की आवश्यकता थी। यह एक जटिल प्रक्रिया थी, क्योंकि लगभग 150 संभावित रूप से दोषी घटनाओं की पहचान की गई थी।
अंत में, उन्होंने निष्कर्ष निकाला कि इनमें से केवल एक घटना मेमोरी पेज की सीमा से अधिक थी, जिसके कारण समस्या हो रही थी। बाइनरी में सीधे एक पैच लागू करने से बग ठीक हो गया, जिससे एक अशांत लेकिन संतोषजनक अवधि समाप्त हुई।
