Y2K7 Problem Silently Went by

Fortunately it hit only a very small set of people and was much less scary than the Y2K problem and we figured out in advance that flights need not be gounded nor schools closed down.

Y2K7 was to do with how assembly versions are stored. The file versions are stored as two 32-bit integers defined by four 16-bit integers. So the version number is of the form A.B.C.D. Visual Studio 8.0 used the numbering scheme 8.0.YMMDD.NN. Where the YMMDD is the day the build is churned out and NN is the increment counter. Visual Studio 8 finally shipped as 8.0.50727.42.

We have build labs that churn out builds every day and the one to be produced on 1th Jan this year was 8.0.70101.00. The problem is that the largest number that can fit into a 16-bit int is 65535 (0xFFFF) and hence the above number couldn’t be produced and the build failed. Nothing much happened other than we changed the numbering scheme to not include the year prefix.

Comments (0)