Thought Leadership

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 …].

Colin Walls

I have over thirty years experience in the electronics industry, largely dedicated to embedded software. A frequent presenter at conferences and seminars and author of numerous technical articles and two books on embedded software, I am a member of the marketing team of the Mentor Graphics Embedded Systems Division, and am based in the UK. Away from work, I have a wide range of interests including photography and trying to point my two daughters in the right direction in life. Learn more about Colin, including his go-to karaoke song and the best parts of being British: http://go.mentor.com/3_acv

More from this author

Comments

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.stage.sw.siemens.com/embedded-software/2009/07/20/y2k-redux/