Dovecot stops by itself and doesn't start anymore


My mailserver was working fine for a while now but suddenly stops by itself earlier today and I can’t seem to start it again via the Virtualmin dashboard (The page just reloads and dovecot did not start).

When I try to restart it using /etc/init.d/dovecot restart in the terminal, I get the following:

[ ok ] Restarting dovecot (via systemctl): dovecot.service.

But when I run /etc/init.d/dovecot status immediately after running the above, I get the following:

dovecot.service - Dovecot IMAP/POP3 email server
   Loaded: loaded (/lib/systemd/system/dovecot.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sun 2020-08-09 13:25:18 UTC; 3s ago
     Docs: man:dovecot(1)
  Process: 18149 ExecStart=/usr/sbin/dovecot -F (code=exited, status=89)
 Main PID: 18149 (code=exited, status=89)

What could be suddenly causing this as Dovecot and the server as a whole was working flawlessly for months now?

So I tried starting Dovecot via and it returned an error over a missing curly brace } in the dovecot.conf file which I searched for and fixed it just now.

Dovecot is starting normally again but I don’t understand what could have casued the removal of the curly brace since I have not opened the dovecot.conf file ever since I set it up.

Is there someway I could figure out what caused this missing curly brace?

This is a known bug in an older version of Virtualmin and there has been some discussion around it over the past week or two. It is good that you caught it and fixed it on your own. You could browse the forums to learn more and upgrade to the latest version of Webmin + Virtualmin + modules which have been recently updated.

@calport I am using the latest version of Webmin & Virtualmin (versions below).

Webmin version 1.954
Virtualmin version 6.11

There is a bug still. Please fix your Dovecot config manually, checking for missing } - we are currently working on it with Jamie.

Additionally, remove manually all ssl_ca directives from all blocks and make sure that ssl_cert directive is ending with .combined and not .cert. This is failproof method to make it work in the future, even before we patch it eventually for the next Virtualmin 6.12. At the moment it fails because of having ssl_ca in the block.


Thanks for the clarification! And with regards to the blocks, I’ll do that asap.


This topic was automatically closed 4 days after the last reply. New replies are no longer allowed.