This documentation is for Dovecot v1.x, see wiki2 for v2.x documentation.

Time moved backwards error

Dovecot isn't very forgiving if your system's time moves backwards. There are various problems that it might cause (see below), so for now it doesn't even try to handle it.

So what's the solution? You have two possibilities:

In some systems ntpd/ntpdate is run at boot, but only after Dovecot has started. That can cause Dovecot to die immediately. If you have this problem, fix your init scripts to run ntpd/ntpdate before Dovecot.

Why not just..?

It's not as simple as fixing timeout handling to work correctly. Even a full Dovecot restart doesn't necessarily help, because some files' timestamps can be in future. To make Dovecot correctly handle time moving backwards would require verifying every single timestamp comparison code to make sure that it behaves correctly with future timestamps or with the current timestamp suddenly shrinking instead of growing. Perhaps all this will be made to work with future Dovecot releases, but why bother when you can just fix the real problem, which might fix some other random software failures as well?