It began innocuously enough on December 12 when a customer was unable to enter a 2004 date into product life-cycle management software from Needham, Massachusetts-based vendor Parametric Technology (PTC).
The customer contacted the company about the problem, which launched PTC technicians on a trail that led to the discovery of a math flaw in the code that causes the software to "time out" and become inoperative starting on January 10.
Within a week, PTC programmers began creating and posting software patches to correct the flaw and keep its software running for customers.
In an announcement on its Web site, the company said the problem affects products including Pro/Engineer, Pro/Intralink and Windchill applications. Some products don't have the time-out flaw but can be affected because they interact with other applications that have the problem, according to the company. The problem is not believed to cause data corruption but can make the software unusable until a patch is applied or updated versions are released and installed.
Joseph Gavaghan, a spokesman for PTC, said today that the problem was apparently caused in 1997 by a math error during programming when the software was given instructions on how to account for dates in the future.
Because software functions can require variables to represent periods of time and "forever" is larger than a variable's maximum allowed value, programmers typically choose a finite-ending date to represent infinity. What they used was 1 billion seconds, or January 10 2004, instead of what should have been 4 billion seconds, which would take the timeout date to 2038, Gavaghan said.
Had the problem not been found in time, it could have stopped all of PTC's customers in their tracks next month, he said. "It's very lucky for us that they [discovered] that," Gavaghan said.
Technicians worked around the clock to find the problem and develop patches, he said, beginning with the company's most popular applications.
The fix amounts to "a small amount of code," he said, and is quick and easy to install. The fix will be included in the next versions of the products and will include a different form of logic that's not date-dependent, he said.
PTC has some 35,000 customers and 500,000 users worldwide, according to Gavaghan.