# [solved] Cannot login to dovecot via Roundcube after update

## Elleni

In /var/log/mail.log I see an entry indicating: 

```
dovecot[4372]: imap-login: Fatal: Dovecot version mismatch: Master is v2.2.27, imap-login is v2.2.29.1 (if you don't care, set version_ignore=yes)
```

How can I repair this? I tried to set version_ignore=yes in /etc/dovecot/dovecot.conf but and restarting dovecot service, but this did not help. 

Filed a bug: https://bugs.gentoo.org/show_bug.cgi?id=617000Last edited by Elleni on Sun Apr 30, 2017 5:50 pm; edited 1 time in total

----------

## Nick1

It looks like a conflict between two Dovecot versions.

Did you proceed to an update recently?

I think that you should:

- ensure that you have only 1 version installed on your system

- if you just updated dovecot, then restart the running master daemon

(which is the old one) by using the "cmd /etc/rc.d/dovecot restart" because there could be incompatibilities after an update

----------

## Elleni

Yeah, system was updatet recently, and also did emerge --depclean, so I dont think, there should be two versions installed. But how can I ensure? I restarted it by /etc/init.d/dovecot restart, and I even restarted whole server. After that, I tried if it helps to set the version_ignore=yes in /etc/dovecot/dovecot.conf and restarted service again but still no luck, so I filed the bug, as I did not know how to proceed further.

----------

## cboldt

Is everything in /usr/libexec/dovecot of the same date?  It should all match the date of /usr/sbin/dovecot

I have "version_ignore = yes" in my config just the same.  You can check if you have that set with `dovecot -n`

Also, you can compare the various modules (the one giving you a fit is "imap-login") using `doveconf -n -m imap-login`

----------

## szatox

Does it produce any errors in logs?

Check it's own log, grep syslog, try launching it manually from terminal with some flags for increased verbosity instead of regular service script.

I don't know dovecot (yet?), but reporting errors is a rather common practice in the blackscreen world.

It's gui artists who lost their sanity and have their applications exit without a goodbye when things go wrong.

----------

## Elleni

Thanks for your replies. 

The date is everywhere the same: 

ls -l /usr/libexec/dovecot/

```

insgesamt 2404

-rwxr-xr-x 1 root root  22816 27. Apr 18:38 aggregator

-rwxr-xr-x 1 root root  22744 27. Apr 18:38 anvil

-rwxr-xr-x 1 root root 403720 27. Apr 18:38 auth

-rwxr-xr-x 1 root root  10024 27. Apr 18:38 checkpassword-reply

-rwxr-xr-x 1 root root 147600 27. Apr 18:38 config

-rwxr-xr-x 1 root root   2839 27. Apr 18:38 decode2text.sh

lrwxrwxrwx 1 root root     11 27. Apr 18:39 deliver -> dovecot-lda

-rwxr-xr-x 1 root root 105344 27. Apr 18:38 dict

-rwxr-xr-x 1 root root 121248 27. Apr 18:38 director

-rwxr-xr-x 1 root root  10360 27. Apr 18:38 dns-client

-rwxr-xr-x 1 root root 581944 27. Apr 18:38 doveadm-server

-rwxr-xr-x 1 root root  18280 27. Apr 18:38 dovecot-lda

-rwxr-xr-x 1 root root  10024 27. Apr 18:38 gdbhelper

-rwxr-xr-x 1 root root 256904 27. Apr 18:38 imap

-rwxr-xr-x 1 root root  35552 27. Apr 18:38 imap-hibernate

-rwxr-xr-x 1 root root  39344 27. Apr 18:38 imap-login

-rwxr-xr-x 1 root root  22720 27. Apr 18:38 imap-urlauth

-rwxr-xr-x 1 root root  14720 27. Apr 18:38 imap-urlauth-login

-rwxr-xr-x 1 root root  55488 27. Apr 18:38 imap-urlauth-worker

-rwxr-xr-x 1 root root  30840 27. Apr 18:38 indexer

-rwxr-xr-x 1 root root  18552 27. Apr 18:38 indexer-worker

-rwxr-xr-x 1 root root  22744 27. Apr 18:38 ipc

-rwxr-xr-x 1 root root  55552 27. Apr 18:38 lmtp

-rwxr-xr-x 1 root root  22648 27. Apr 18:38 log

-rwxr-xr-x 1 root root  10088 27. Apr 18:38 maildirlock

-rwxr-xr-x 1 root root  51968 27. Apr 18:38 pop3

-rwxr-xr-x 1 root root  27056 27. Apr 18:38 pop3-login

-rwxr-xr-x 1 root root  93416 27. Apr 18:38 quota-status

-rwxr-xr-x 1 root root  18216 27. Apr 18:38 rawlog

-rwxr-xr-x 1 root root  39264 27. Apr 18:38 replicator

-rwxr-xr-x 1 root root  14120 27. Apr 18:38 script

-rwxr-xr-x 1 root root  14120 27. Apr 18:38 script-login

-rwxr-xr-x 1 root root  18784 27. Apr 18:38 ssl-params

-rwxr-xr-x 1 root root  55680 27. Apr 18:38 stats

-rwxr-xr-x 1 root root  10248 27. Apr 18:38 tcpwrap

-rwxr-xr-x 1 root root  10072 27. Apr 18:38 xml2text
```

ls -l /usr/sbin/dovecot 

```

-rwxr-xr-x 1 root root 92040 27. Apr 18:38 /usr/sbin/dovecot

```

dovecot -n

```

# 2.2.29.1 (e0b76e3): /etc/dovecot/dovecot.conf

# OS: Linux 4.8.17-hardened-r2 x86_64 Gentoo Base System release 2.3 

auth_mechanisms = plain login cram-md5

listen = *

mail_location = maildir:~/.maildir

namespace inbox {

  inbox = yes

  location = 

  mailbox Drafts {

    special_use = \Drafts

  }

  mailbox Junk {

    special_use = \Junk

  }

  mailbox Sent {

    special_use = \Sent

  }

  mailbox "Sent Messages" {

    special_use = \Sent

  }

  mailbox Trash {

    special_use = \Trash

  }

  prefix = 

}

passdb {

  args = /etc/dovecot/dovecot-sql.conf.ext

  driver = sql

}

postmaster_address = postmaster@mydoma.in

protocols = imap lmtp

service auth-worker {

  user = mail

}

service auth {

  unix_listener /var/spool/postfix/private/auth {

    group = postfix

    user = postfix

  }

  unix_listener auth-userdb {

    group = mail

    mode = 0600

    user = mail

  }

}

service imap-login {

  inet_listener imap {

    port = 143

  }

  inet_listener imaps {

    port = 993

    ssl = yes

  }

}

service lmtp {

  unix_listener /var/spool/postfix/private/dovecot-lmtp {

    group = postfix

    mode = 0660

    user = postfix

  }

}

service pop3-login {

  inet_listener pop3s {

    port = 0

    ssl = yes

  }

}

ssl_cert = </etc/ssl/dovecot/server.pem

ssl_key =  # hidden, use -P to show it

userdb {

  args = /etc/dovecot/dovecot-sql.conf.ext

  driver = sql

}

version_ignore = yes
```

doveconf -n -m imap-login

```

# 2.2.29.1 (e0b76e3): /etc/dovecot/dovecot.conf

# OS: Linux 4.8.17-hardened-r2 x86_64 Gentoo Base System release 2.3 

version_ignore = yes

```

Concerning error logs, all I could find is in /var/log/mail.log: 

```
dovecot[4372]: imap-login: Fatal: Dovecot version mismatch: Master is v2.2.27, imap-login is v2.2.29.1 (if you don't care, set version_ignore=yes)
```

I dont understand, what is meant by Master is v2.2.27 as the installed version is: 

```
net-mail/dovecot

      Latest version available: 2.2.29.1

      Latest version installed: 2.2.29.1

      Size of files: 5'833 KiB

      Homepage:      http://www.dovecot.org/

      Description:   An IMAP and POP3 server written with security primarily in mind

      License:       LGPL-2.1 MIT
```

I did not find anything grep-ing dovecot and/or imap in dmesg. 

I temporary set the variables auth_verbose=yes and auth_debug=yes in 10-logging.conf under /etc/dovecot/conf.d and restarted dovecot service. 

Tailed mail.log reads: 

```
Apr 30 09:38:22 hostname postfix/smtpd[17894]: connect from fqdn[ipadress]

Apr 30 09:38:22 hostname dovecot[17890]: auth: Fatal: sql: driver not set in configuration file /etc/dovecot/dovecot-sql.conf.ext

Apr 30 09:38:22 hostname dovecot[17883]: master: Error: service(auth): command startup failed, throttling for 2 secs

Apr 30 09:38:22 hostname postfix/smtpd[17894]: fatal: no SASL authentication mechanisms

Apr 30 09:38:23 hostname postfix/master[6119]: warning: process /usr/libexec/postfix/smtpd pid 17894 exit status 1

Apr 30 09:38:23 hostname postfix/master[6119]: warning: /usr/libexec/postfix/smtpd: bad command startup -- throttling

Apr 30 09:38:32 hostname dovecot[17883]: master: Warning: Killed with signal 15 (by pid=17921 uid=0 code=kill)

Apr 30 09:38:32 hostname dovecot[17951]: master: Dovecot v2.2.29.1 (e0b76e3) starting up for imap, lmtp (core dumps disabled)

Apr 30 09:38:46 hostname dovecot[17956]: auth: Debug: Loading modules from directory: /usr/lib64/dovecot/auth

Apr 30 09:38:46 hostname dovecot[17956]: auth: Debug: Module loaded: /usr/lib64/dovecot/auth/lib20_auth_var_expand_crypt.so

Apr 30 09:38:46 hostname dovecot[17956]: auth: Fatal: sql: driver not set in configuration file /etc/dovecot/dovecot-sql.conf.ext

Apr 30 09:38:46 hostname dovecot[17951]: master: Error: service(auth): command startup failed, throttling for 2 secs

Apr 30 09:38:46 hostname dovecot[17956]: imap-login: Disconnected: Auth process broken (disconnected before auth was ready, waited 0 secs): user=<>, rip=127.0.0.1, lip=127.0.0.1, secured, session=<oOWNZV1OAot/AAAB>

Apr 30 09:40:03 hostname postfix/anvil[17897]: statistics: max connection rate 1/60s for (smtp:ipadress) at Apr 30 09:38:22

Apr 30 09:40:03 hostname postfix/anvil[17897]: statistics: max connection count 1 for (smtp:ipadress) at Apr 30 09:38:22

Apr 30 09:40:03 hostname postfix/anvil[17897]: statistics: max cache size 1 at Apr 30 09:38:22
```

----------

## cboldt

When you do `/etc/init.d/dovecot stop`, all the doveco-related  programs should stop.  Make sure they do.

```
root@hypoid [3] 37 /root # ps aux | grep dovecot

root     15719  0.0  0.0   3880  2844 ?        Ss   Apr29   0:00 /usr/sbin/dovecot -c /etc/dovecot/dovecot.conf

dovecot  15726  0.0  0.0   3560   692 ?        S    Apr29   0:00 dovecot/anvil

root     15727  0.0  0.0   3692  2284 ?        S    Apr29   0:00 dovecot/log

root     15729  0.0  0.0   4552  3204 ?        S    Apr29   0:00 dovecot/config

dovenull 15750  0.0  0.0   7136  5536 ?        S    Apr29   0:00 dovecot/imap-login

cboldt   15751  0.0  0.0   5984  3924 ?        S    Apr29   0:00 dovecot/imap

dovenull 20176  0.0  0.0   6472  3820 ?        S    05:41   0:00 dovecot/imap-login

cboldt   20180  0.0  0.0   5220  3824 ?        S    05:41   0:00 dovecot/imap

dovenull 20668  0.0  0.0   7136  5272 ?        S    06:01   0:00 dovecot/imap-login

cboldt   20670  0.0  0.0   5264  3484 ?        S    06:01   0:00 dovecot/imap

dovenull 20678  0.0  0.0   7136  5536 ?        S    06:01   0:00 dovecot/imap-login

cboldt   20679  0.0  0.0   6372  4076 ?        S    06:01   0:00 dovecot/imap

root@hypoid [3] 38 /root # /etc/init.d/dovecot stop

 * Stopping dovecot ...    [ok]

root@hypoid [3] 39 /root # ps aux | grep dovecot

root@hypoid [3] 40 /root # /etc/init.d/dovecot start

 * Starting dovecot ...     [ok]

root@hypoid [3] 41 /root # ps aux | grep dovecot

root     20964  0.0  0.0   3880  2736 ?        Ss   06:10   0:00 /usr/sbin/dovecot -c /etc/dovecot/dovecot.conf

dovecot  20971  0.0  0.0   3560   692 ?        S    06:10   0:00 dovecot/anvil

root     20972  0.0  0.0   3692  2452 ?        S    06:10   0:00 dovecot/log

root     20974  0.0  0.0   4552  3160 ?        S    06:10   0:00 dovecot/config
```

If, after `/etc/init.d/dovecot stop` there are still dovecot-related program running, kill them, then restart dovecot.  The reason there are more dovecot-related programs "after awhile" is that dovecot starts what it needs based on login attempts and requests to serve email.  None of that has happened immediately after restarting the dovecot service.

----------

## cboldt

I see a fatal error in dovecot startup ...

```
Apr 30 09:38:22 hostname dovecot[17890]: auth: Fatal: sql: driver not set in configuration file /etc/dovecot/dovecot-sql.conf.ext

Apr 30 09:38:46 hostname dovecot[17956]: auth: Fatal: sql: driver not set in configuration file /etc/dovecot/dovecot-sql.conf.ext

Apr 30 09:38:46 hostname dovecot[17956]: imap-login: Disconnected: Auth process broken ...
```

The search for /etc/dovecot/dovecot-sql.conf.ext is driven by a setting in one of your configuration files.  This was reported by 1dovecot -n` as ...

```
userdb {

  args = /etc/dovecot/dovecot-sql.conf.ext

  driver = sql

}
```

----------

## Elleni

Thanks for mentioning it; I will check and compare files in /etc/dovecot with a backup and see if there is any difference. I usually make copies before updating config files with etc-update. I remember that when I executed it lately it only said merging trivial changes. Normaly I execute etc-update to see what files it would like to overwrite (and deny the overwrite), and then I copy them to have a backuped file, before I actually let etc-update run and replace the old config files with the actual ones; after that I manually put in the values from the copied files to the new ones. I will report back, what I find out.

And worst case - as it is a VPS - I will ask provider to restore to a backup taken 4 days ago, because in /var/log/messages I have found out, that the fatal imap-login message is shown on 27th april for the first time.Last edited by Elleni on Sun Apr 30, 2017 6:09 pm; edited 1 time in total

----------

## Elleni

After compairing and modifying dovecot-sql.conf.ext I still got errors, and as I saw differences also different files in /etc/dovecot/conf.d (ex. 10-mail.conf, 10-ssl.conf, 20-imap.conf and so on), I decided to copy over the whole dovecot folder and replace the actual /etc/dovecot with it. Now Mailserver is up and running again. When I'll have some spare time, I maybe will compare the files one by one, but for now case is solved. 

Thanks for your inputs!

----------

