What is the date bug in Domain/OS and Aegis?
Around April First of this year reports started circulating in the Apollo Usenet newsgroup of a “date bug” in Domain/OS that would render all Apollo workstations useless after November 2, 1997. Given the proximity to April Fool’s Day and recent horror stories involving the “Millenium Bug” (software unable to cope with dates in the 21st century and costing billions of dollars to fix), most people dismissed these reports as a hoax. Unfortunately the reports were at least partly true. One user has reported that setting the clock past November 1997 and trying to boot fails with “UNABLE TO MAP `NODE_DATA/STACK — 40001.” The bug apparently results from the high 32 bits of the clock data type being declared as a 31 bit value instead of 32 bit in the pascal include files. The reason for this is lost to history, but early pascal compilers may have had problems with 32 bit unsigned numbers, possibly because the early Motorola 68000 processor chips didn’t have 32 bit unsigned multiply operations