10 שנים לבאג 2000

צילום עטיפת הספר "איך לשרוד את באג 2000 - המדריך לכל"

צילום עטיפת הספר "איך לשרוד את באג 2000 - המדריך לכל"

בסוף השבוע הבא נפרד משנת 2009 ונכנס לשנת 2010 (ואל תשכחו לכתוב את התאריך הנכון על הצ'קים שלכם…).

במועד הזה אי אפשר שלא לבצע rewind של 10 שנים ולהיזכר במעבר משנת 1999 לשנת 2000.  המעבר ההוא היה משמעותי הרבה יותר במגוון הבטים — מדובר היה לא רק במעבר של עשור, אלא במעבר מהמאה ה-20 למאה ה-21 ומהמילניום השני לשלישי.  למעבר הזה נקשרו הרבה מאוד הבטים מיסטיים ודתיים, אבל בהקשר של עולם המחשבים המעבר הזה זכה לכינוי "באג 2000".

עוד בתחילת שנות התשעים (ויש כאלה הטוענים שאפילו קודם לכן) הסתבר שבהרבה מאוד מסדי נתונים בהם מאוחסנים תאריכים, מיוצגת השנה בשתי ספרות בלבד.  המתכנתים שבחרו בשיטת יצוג זו, עשו זאת מטעמים שונים — חסכון במקום איחסון, עצלות או סתם חשיבה קצרת טווח. 

כתוצאה מהבחירה בשיטת יצוג זו, תוכנת מחשב שתבצע השוואה בין תאריכים בשנת 2000 והלאה לשנים קודמות, תבצע בעצם השוואה בין 00 לערך גדול יותר.  לדוגמא: הפרש השנים בין 2000 ל-1998 הוא 2 (כלומר 2000-1998), אבל אם השנה מיוצגת על ידי שתי ספרות בלבד, התוצאה תהיה 98- (כלומר 00-98)…  כלומר, שיטת היצוג ה"חסכונית" הזו תגרום לתוצאות שגויות, מה שעלול להביא לטעויות מיחשוב — "באגים" (bugs). 

הבאג הספציפי הזה כונה "באג 2000" וחברות וארגוניים השקיעו במהלך שנות ה-90 מאמצים וכספים רבים על מנת לבצע הסבה של תאריכים משיטת יצוג של שתי ספרות לשיטת יצוג של 4 ספרות.  לקראת סוף שנת 1999 חילחלה הידיעה על "באג 2000" גם לציבור הרחב.  לציבור "הוסבר" שעקב באג זה עלולות בלילה שבין 31/12/1999 ל-1/1/2000 לקרוס מערכות קריטיות רבות.  "יודעי דבר" אף המליצו לציבור להמנע מטיסות בלילה מחשש לקריסת מערכות בקרת הטיסה…

בתקופה האמורה עבדתי בחברת תוכנה בין לאומית גדולה שמערכות שלה היו מותקנות בהרבה מאוד ארגונים ומוסדות ממשלתיים.  לקראת ליל המילניום הוקם בחברה "חדר מצב", שאויש בטובי מהנדסי החברה, מתוך מטרה לתת מענה מיידי לכל בעיה שתצוץ, אם תצוץ.  חדר המצב צוייד במחשבים רבים, אמצעי קשר אלחוטיים ואמצעי תחבורה שבוצעה להם סימולציה מוקדמת למעבר לשנת 2000 — הכל מתוך מטרה שגם במקרה של קטסטרופה, "חדר המצב" ישרוד.  בנוסף, צוייד חדר המצב במזון ושתיה שאמור להספיק לשבוע ימים לפחות.

את סופו של "באג 2000" כולנו זוכרים — בבוקר ה-1/1/2000 התברר ששום דבר קריטי לא ארע.  אין ספק שההערכות וההשקעות שבוצעו לקראת המעבר לשנת 2000 הצדיקו את עצמם אבל מצד שני גם הפאניקה ששודרה היתה מוגזמת.

"חדר המצב" שלנו נשאר מיותם מעבודה ופורק מהר מאוד.  את המזון והשתיה שהוכן בחדר המצב, אכלנו בחדרי הישיבות של החברה עוד חודשים רבים אחרי ה-1/1/2000…

Happy New Year…

2 תגובות לפוסט “10 שנים לבאג 2000”

  1. הבעיה הבאה ב 2038 http://en.wikipedia.org/wiki/Year_2038_problem

  2. מה קורה בתאריך 2 באוקטובר, 2016 בשעה 20:58

    מעניין

השארת תגובה