Y2K redux

I am sure that you can remember the “Millennium bug” or “Y2K problem”. In the late 1990s we were all sure that chaos would occur as the year 2000 dawned. The problem was that any code written to process the date might have used just two digits to store the year and, hence, when “99” clocked around to “00”, confusion would result. We fully expected power to go off and planes to fall out of the sky. An entire “profession” of “Y2K consultants” appeared and, I imagine, made a lot of money.

In the event, it was an anti-climax. The millennium dawned and the world carried on much as it had before. Whether this was because all the preventative work fixed the problem or the problem never really existed on a large scale in the first place, we will probably never know. I did not hear of a single system failing, but it seemed to be a valid concern at the time.

Still, it is good to have that behind us. But, it is all going to happen again and could be worse this time …

Since computers work in binary and the Y2K bug was concerning a decimal digit problem, I did wonder if it would come to anything. [Yes, I have heard of Binary Coded Decimal.] But I thought that a binary wrap-around might be a more difficult problem, which was bound to occur sometime. I looks like I was right.

Many systems use a 32-bit value to track the date and time by simply counting seconds. That should be OK, as that gives capacity for 136 years or so, which sounds like a long way in the future. However, that rather depends upon the starting date for this date/time format. The good news there is that this is around 1970, which would mean that we can rest easy for the remainder of this century.

However, this assumes that an unsigned 32-bit value is used. As far as I can tell, it is usually a signed value – I have no idea why – and this reduces the capacity to 68 years. So, it should All Go Wrong in 2038 sometime.

I have no idea what systems are likely to fail, but broadly, anything based upon or related to UNIX will be in trouble. By that time, I will be about 80, hopefully retired and my main interest may be the integrity of medical instrumentation.

Anyway, we have lots of time to get this fixed [just like we did last time …].


0 thoughts about “Y2K redux
  • You are quite right about year 2038. 32-bit systems will fail to count time properly, but people are very confident that won’t be an issue like it was Y2K. For at that time 32-bit systems will be virtually non-existant, since 64-bit systems are going mainstream right now.

    About Y2K, it was a real technical problem, but it was overstated (mostly by marketing and Hollywood, maybe you saw the silly film). There was no way that any plane would crash due to the nature of the bug, but it was likely that your flight reservation would become invalid. There were some malfuncions here and there but the critical stuff (banks, communications, etc) were fixed in time.

Leave a Reply

This article first appeared on the Siemens Digital Industries Software blog at https://blogs.sw.siemens.com/embedded-software/2009/07/20/y2k-redux/