[Dovecot] Time moved backwards by 4398 seconds

Anders mail at flac.kalibalik.dk
Fri Jun 20 13:20:24 EEST 2008

Johannes Berg wrote:
> On Fri, 2008-06-20 at 11:10 +0200, Anders wrote:
>> Johannes Berg <johannes at sipsolutions.net> writes:
>>> On Fri, 2008-06-20 at 10:53 +0200, Anders wrote:
>>>> I was puzzled that it was always 4398 seconds, in particular because
>>>> this server runs an NTP daemon. A little searching for this problem
>>>> shows that it is an issue with the Linux kernel gettimeofday(), see
>>>> e.g. http://lkml.org/lkml/2007/8/23/96
>>> The thread puts it down to buggy hardware and puts a workaround into the
>>> kernel where it belongs, not in dovecot.
>> That's not helpful.
>> By that line, the entire "time moved backwards" thing does not belong
>> in Dovecot.
> Why? That's a different thing, dovecot is detecting that something is
> wrong and that it will be unsafe for it to continue operating. That's an
> entirely different class than trying to work around the detected
> problem, imho.

This bug causes Dovecot to run the IO loop in the future for one 
iteration, and then die when we get back to present time.

By the time Dovecot dies, some damage could already have happend, for 
example if ioloop_time is stored to permanent storage.

BTW, can you send a link to the post with the resolution for the kernel? 
I didn't manage to find any final conclusion, but I would like to 
propose the fix to our kernel provider :).


More information about the dovecot mailing list