Jerrale G
2010-Aug-11  08:19 UTC
[Dovecot] Fatal: dict_driver_register(mysql): Already registered
Warning: Corrected permissions for login directory /var/run/dovecot/login
ls -l /var/run/dovecot
srw-rw-rw- 1 root root       0 Aug 10 15:02 auth-master
srw------- 1 mail mail       0 Aug 10 15:02 auth-worker.2774
srwxrwxrwx 1 root root       0 Aug 10 15:02 dict-server
lrwxrwxrwx 1 root root      17 Aug 10 15:02 dovecot.conf -> 
/etc/dovecot.conf
drwxr-x--- 2 root dovecot 4096 Aug 10 15:02 login
-rw------- 1 root root       5 Aug 10 15:02 master.pid
Everything works, eventually. All mail will sooner or later get 
delivered, using dovecot LDA from postfix, but these errors rampage the 
log several times. I recently added managesieve, expires, and finished 
the quota which I thought was achived by simply having quota_rule as a 
result of mysql.
Aug 10 15:07:57 server1 dovecot: IMAP(someone at sheltoncomputers.com): 
read(/var/run/dovecot/dict-server) failed: Timeout after 30 seconds
Aug 10 15:07:57 server1 dovecot: dict: Fatal: 
dict_driver_register(mysql): Already registered
Aug 10 15:08:09 server1 last message repeated 4428 times
On another note, Thunderbird is starting to get on my nerves, sending 
this message before I was finished.
Here is the relevant config:
dovecot-mysql query:
user_query = SELECT CONCAT('/home/mail/', mailboxes.domain, '/',
mailboxes.username, '/') AS home, CONCAT('/home/mail/', 
mailboxes.domain, '/', mailboxes.username, '/sieve/', 
mailboxes.username, '.sieve') as sieve, CONCAT('/home/mail/', 
mailboxes.domain, '/', mailboxes.username, '/sieve/') as
sieve_dir,
CONCAT('/home/mail/', mailboxes.domain, '/', mailboxes.username,
'/mail/') AS maildir, uid AS uid, gid AS gid,
CONCAT('maildir:storage=',
ROUND(mailboxes.quota/1200), 'M') AS quota_rule, 'Trash:ignore'
AS
quota_rule2 FROM mail.mailboxes WHERE username = '%n' AND domain =
'%d'
AND active = '1'
dovecot.conf:
protocol managesieve {
    listen = localhost:2001
    managesieve_implementation_string = dovecot
    managesieve_logout_format = bytes ( in=%i : out=%o )
    mail_executable = /usr/libexec/dovecot/managesieve
    login_executable =  /usr/libexec/dovecot/managesieve-login
}
auth_debug = no
auth default {
mechanisms = plain login
   passdb sql {
     args = /etc/dovecot/dovecot-mysql.conf
#   scheme = cram-md5
   }
   userdb sql {
     args = /etc/dovecot/dovecot-mysql.conf
   }
   user = mail
   socket listen {
     client {
       path = /var/spool/postfix/private/auth
       user = postfix
       group = postfix
       mode = 0660
     }
      master {
     path = /var/run/dovecot/auth-master
     mode = 0666
    }
   }
}
dict {
#  # NOTE: dict process currently runs as root, so this file will be 
owned as root.
expire = mysql:/etc/dovecot/dict-expire.conf
quotadict = mysql:/etc/dovecot/dict-quota.conf
}
plugin {
quota = dict:user::proxy::quotadict
expire = Trash 7 Trash/* 7 Spam 30
expire_dict = proxy::expire
expire_altmove = * 2555
sieve_global_path = /home/mail/sieve/global.sieve
sieve_global_dir = /home/mail/sieve
sieve_dir=/home/mail/%d/%n/sieve
}
As said, everything works, eventually, but mail delivery is delayed a 
lot.  With The dict {}  and expire-related parts commented out, 
operation has no errors or delays; performance is exceptional with 
maildir, quota, sieve, and managesieve. I don't think managesieve would 
patch any part of the dictionary code as it only has to do with another 
service process, not a plugin; if the patching was to cause problems 
with other services, for the service definition coding, the other 
services would have a problem, correct?
The expires dictionary mysql table was being correctly used, with one 
day of use, as there are 10000 records; I'm going to have to revise the 
mysql indexes for performance in case I am able to fix the dictionary 
problem.  We like the 1.2.13 version of dovecot, as far as security, and 
wonder how I can find a correct defintion scripting for the dict {}, 
from a previous version, and merge. We are use to windows compilations. 
I am skeptical to go to dovecot 2.0 as our services are in production 
and 2.0 is beta.
I have recompiled several times with fresh sources of dovecot 1.2.13, 
managesieve 0.11.11 patchl, and sieve 1.0.17 as directed by the Dovecot 
Wiki.
Jerrale G,
SCA
Charles Marcus
2010-Aug-11  11:27 UTC
[Dovecot] Fatal: dict_driver_register(mysql): Already registered
Jerrale G wrote:> We are use to windows compilations. I am skeptical to go to dovecot 2.0 > as our services are in production and 2.0 is beta.Correction - it is in release candidate stage, with the final version slated for release within a week or two. If you are still in testing/eval stage (sounds like it), I would recommend going with 2.0 unless there is a compelling reason not to... -- Best regards, Charles
Reasonably Related Threads
- v2.0.rc5 released
- v2.0.rc5 released
- dovecot.conf: mechanisms = plain login cram-md5 | Windows Live Mail: CRAM-MD5 authentication failed. This could (NOT) be due to a lack of memory on your system
- Logged out format in log
- dovecot: auth: Fatal: sql_driver_register(mysql): Already registered