MAR
26
2001

KMail 1,000,000,000th Second Bug

Daniel Naber, KDE developer and webmaster for the KMail website, announced that a bug has been discovered in KMail version < 1.0.29.1 which, after September 9, 2001, can cause corruption of your mail folders. Versions 1.0.29.1 and 1.0.29.2 will not corrupt the Mail folders but will display dates incorrectly. This all due to "the passage of one billion seconds since the beginning of the Unix epoch at 00:00 on 1 January 1970." [Ed: Hmmmmm, ...what?] Full details are here. The upshot: upgrade to KDE 2.1, already. And the release later today of KDE 2.1.1 should make it even more compelling.

Comments

Could we have more of a technical explanation please. This is a very strange sounding bug. We all know about Y2K, and also the 32 bit limit due in Y2038; and no matter how often they are fixed, Leap Year problems always seem to crop up.

But I've never heard anyone mention the possibility of a Billionth second problem before. Was this totally Kmail specific, or something more generic that could bite elsewhere?

Sorry, to push a little, but date bugs make me nervous.

John


By John at Mon, 2001/03/26 - 6:00am

My personal guess is KMail was storing the date of the message, in seconds from epoch, as a string of fixed length ten.


By Roberto Alsina at Mon, 2001/03/26 - 6:00am

There was a newsflash on www.heise.de (c't and ix magazine)

http://www.heise.de/newsticker/data/hag-15.03.01-002/

This is quick'n'dirty translation via babelfish:

Unix becomes a billion seconds old
==================================

On 9 September the operating system Unix a billion becomes seconds old. Only the date theoretically interesting at first sight could prove as Stolperstein for some applications of Internet, reported iX in its current output 4/2001.

For all Unix systems - and concomitantly Linux - the time calculation at the 1 begins. 1. 1970 at 0.00 o'clock. To this date the system time of all Unix and Linux versions, the "age" refers in seconds is measured. Accurately on 9 September at 3:46:40 o'clock MEZ the second counter achieves the billion-boundary.

The internal representation of this counter is binary; since the counter is long 4 bytes, it comes to an overflow only in the year 2038. But many developers use the human being-readable form of the second counter - the representation as character string - for the generation of Message IDs, indication of data base entries and so on. It can come to similar difficulties, as it involved the year 2000: Field lengths are exceeded, sort algorithms tune no more.

"natural does not have the a billion-problem by far the dimensions of the Jahr-2000-Problems. Programmers and administrators in the Unix surrounding field should examine however as soon as possible whether their uses of it could be concerned. Finally by good preparation the transition was mastered into the year 2000, there one nevertheless not because of the second overflow to disgrace will want outstanding, " is not written iX. ( hag / c't)


By Thorsten Schnebeck at Mon, 2001/03/26 - 6:00am

Please, Please, Please,
I know that Babelfish does a _usable_ job of translating text german->english, but if I would not happen to know what the german text was all about and what the bug is all about, the upper translation wouldn't help me at all ... just 2 more minutes of redoing the message and all would be fine.

BUT: nevertheless, thank you very much for the time you spent doing this.


By no time at Tue, 2001/03/27 - 6:00am

Ehh? You don't no what a "Stolperstein" is :-))
(BTW: Use can use konq-URL "leo:Stolperstein" - I *love* this)

Ok - I try a better translation of the interesting part:

[...]
For all Unix systems including Linux the time calculation starts at 1970/01/01, 0.00h. Refering to this date the system time of all Unix and Linux versions is measured in seconds. Accurately on September 9th at 2:46:40h GMT the counter achieves the 1 billion secound-boundary.

The internal representation of this counter is binary; since the counter is 4 bytes long there will be an overflow in the year 2038. But many developers use the human-readable form of this time counter (a representation as a string of characters) for the generation of message IDs, indication of database entries and so on. Similar to the y2k-bug there could be some difficulties: Field lengths are exceeded, sort algorithms don't work anymore.
"This problem don't have the dimension of the y2k- bug. Programmers and admins should check their applications"
[...]

Hmm, do you like this try of a (more than 2 minutes) translation? ;-)

Bye

Thorsten


By Thorsten Schnebeck at Tue, 2001/03/27 - 6:00am

> Ehh? You don't no what a [...]
^^^^^^^^
Arrrggg! ;-) Should use the preview!


By Thorsten Schnebeck at Tue, 2001/03/27 - 6:00am

TNX


By no time at Tue, 2001/03/27 - 6:00am

Will the developers backport this fix to earlier versions of kmail? Many distributions ship with KDE 1.1.2 and KDE 2.0 as standard, and although it would be good if everyone upgraded to the latest and greatest, I think it would be a good idea to have a fix available for those who do not wish to do so.

-Karl


By Karl Garrison at Mon, 2001/03/26 - 6:00am

I don't think KDE 2.x (inc 2.0) is a problem.


By KDE User at Mon, 2001/03/26 - 6:00am

This problem is specific to KDE 1.x. It also gives nearly a year from the introduction KDE 2 and finally it does not appear to be actually harmful to your data, only how it displays it. I can't speak for Daniel here but it seems that as KDE 2x is so substantially improved over 1x it would seem desireable to focus efforts on the current version.

Users of KDE 1x have another five months to prepare and move to KDE 2x which they will no doubt like better. For those people who for some reason cannot there is one other thing... it is open source! You can see all the code for both versions. I tell people with Quanta 1x they can do what they wish with it, we are building 2x. Perhaps Daniel will decide this is an easy fix... but I don't think it's right for us to expect open source developers to take what time they have from current projects for legacy projects. The new version is the bugfix.


By Eric Laffoon at Mon, 2001/03/26 - 6:00am

This is a very wrong attitude.

Did you know that the 2.0.xx series of the Linux Kernel is still being maintained ? That thing is ansient compared to KDE-1.x.

However the maintenance is very limited. Esentialy the developers will only fix remote exploiteble security holes.

Date isues were not mentioned because they simply don't exist in the kernel ( except for that 2038/32bit thing. Which lives on in 2.4 ). However a "this will not work properly after this date" bug is just as bad. This warants a narowly focused fix which distributions can release like a security update.

Upgrading to new software with diferent interfaces and extra features should only be done to gain those features. Not to fix bugs.


By Forge at Wed, 2001/03/28 - 6:00am

Well feel free to take up maintainership of the 1_1 branch. asking other people to do it doesn't make any sense to me.


By ac at Wed, 2001/03/28 - 6:00am

...and this is just what Microsoft loves about Open Source software.

I don't believe it is necessary to maintain 1.x, but a known, potentially disasterous bug SHOULD be fixed.

Some people will be using the 1.x version simply because their PCs won't run the latest versions.

It's so easy to say: "It's OpenSource... you've got the source code... YOU fix it.".

If KDE/Gnome/whatever is ever going to get a chance in the *real* world, it's going to need a better attitude than that. Before making these rash statements, just imagine this is your mum asking you about this problem. Are you going to tell her that she has to either upgrade (remember, the distros are VERY automated, but even RPMs can be confusing for upgraders), or hack the code to fix it herself.

Not everyone who uses KDE is a programmer. Microsoft know this... maybe we should realise it too.


By Jason Hanford-Smith at Fri, 2001/03/30 - 6:00am

Ok, sure, that would make sense, if it WERE a potentially disaterous bug. But it's not, it's at most a display error. Also, updating KDE is not nearly as involved as updating a kernel, and while only desktop machines and workstations run KDE, every linux system runs the kernel.

And what is this shit about "ever going to get a chance in the real world"? Excuse me, but we ARE in the real world, people actually USE the software. Finally, if that bug were fixed, then people would have to upgrade to the fixed version anyways!


By Carbon at Sun, 2001/04/08 - 5:00am

For those who are interested in the actual fix, it seems to be this one (no guarantees, it was not me who fixed it):

http://kdewebcvs.nebsllc.com/cgi-bin/cvsweb.cgi/kdenetwork/kmail/kmmsgba...


By Daniel Naber at Mon, 2001/03/26 - 6:00am

1,000,000,000 HMM,SEEMS LIKE A GOOD EXCUSE FOR A

PARTY !! <|:^)


By curious at Mon, 2001/03/26 - 6:00am

Good idea, best I can tell it occurs at
01:46:40 GMT on September 9th 2001.

James


By james at Mon, 2001/03/26 - 6:00am

In Denmark we celebrate this with a party likes it 999.999.999!

We celebrate Linux 10 years anniversery at the same time.

AFAIK there are still free tickets.

http://www.uptime1.dk

The most enjoyable greetings


By Claus Sørensen at Wed, 2001/09/05 - 5:00am

When I open the kmail in Linux 6.2 , there are so many kmail box has been
opened up. Please suggest how to retrieve the problem.


By Sandip Kaibartya at Fri, 2002/07/19 - 5:00am

I know the problem. You have to make room with your mouse and clean the opened boxes away. Then you re-start KMail. Bingo! It work for me.

Maite


By Maite Cudjabe at Fri, 2002/07/19 - 5:00am