Casting Blame On The Air-Control Outage

Several news sites are beginning to parrot the meme that the root cause of last week's outage of air-control in the Southwest US is Windows Server 2000's “design” to shut down every 49.7 days “to prevent a data overload.“ This isn't true. This is almost certainly referring to the GetSysUptime() function, which returns a 32-bit integer telling how long in milliseconds the system has been up (1000 * 60 * 60 * 24 * 49.710269618055555555555555555556 = 0xFFFFFFFF). Every 50 days or so, the GetSysUptime() function rolls over and starts at 0.

“...To avoid this automatic shutdown, technicians are required to restart the system manually every 30 days.” This is an all-too-believable system response to a minor software defect. How long would it take to change even a broad dependence on a 32-bit response? A few tens of work-hours?