[Dovecot] Jul 06 13:00:50 dovecot: Warning: I/O leak: 806ef10 (36)
I'm currently fighting my way through the dovecot configuration pages and endless options to see if I can just get my mail from the server. Thus far no joy but dovecot seems to be working if I could figure out the configuration. My process thus far has been :
- read docs
- try a config change
- fail
- goto (1)
I just saw an error while trying to read my /var/mail/dclarke good 'ol mbox in the message.log :
Jul 06 12:58:50 IMAP(dclarke): Error: mbox root directory can't be a file: /var/mail/dclarke/ (http://wiki.dovecot.org/MailLocation/Mbox)
So I figure I better go read that page again and see what I did wrong this time. I guess this is wrong :
mail_location: mbox:/var/mail/%u
Even though that is where the mail actually is :
# ls -lap /var/mail total 34 drwxrwxrwt 3 root mail 6 Jul 6 02:19 ./ drwxr-xr-x 47 root sys 47 May 30 02:52 ../ drwxrwxr-x 2 root mail 2 May 29 23:47 :saved/ -rw-rw---- 1 dclarke mail 0 Jul 5 16:01 dclarke -rw-rw---- 1 lucone mail 657 Jul 2 17:55 lucone -rw-rw---- 1 root mail 8705 Jul 2 05:40 root #
I shutdown the dovecot service on Solaris via svcadm and saw this in the error log :
Jul 06 13:00:50 dovecot: Warning: I/O leak: 806ef10 (36) Jul 06 13:00:50 dovecot: Warning: I/O leak: 806ef10 (30) Jul 06 13:00:50 dovecot: Warning: I/O leak: 806ef10 (26) Jul 06 13:00:50 dovecot: Warning: I/O leak: 806ef10 (24)
I'm not too sure what that means but it doesn't look good.
Here is some info :
# /opt/csw/sbin/dovecot -n # 1.2.12: /etc/opt/csw/dovecot/dovecot.conf Warning: fd limit 256 is lower than what Dovecot can use under full load (more than 640). Either grow the limit or change login_max_processes_count and max_mail_processes settings # OS: SunOS 5.10 i86pc zfs base_dir: /var/opt/csw/dovecot/ log_path: /var/opt/csw/dovecot/error.log info_log_path: /var/opt/csw/dovecot/message.log protocols: imap pop3 imaps pop3s ssl: required ssl_cert_file: /etc/opt/csw/dovecot/certs/dovecot.pem ssl_key_file: /etc/opt/csw/dovecot/private/dovecot.pem ssl_cipher_list: ALL:!LOW:!SSLv2 verbose_ssl: yes login_dir: /var/opt/csw/dovecot//login login_executable(default): /opt/csw/libexec/dovecot/imap-login login_executable(imap): /opt/csw/libexec/dovecot/imap-login login_executable(pop3): /opt/csw/libexec/dovecot/pop3-login login_greeting: Dovecot from Blastwave.org is ready. login_max_processes_count: 64 verbose_proctitle: yes mail_location: mbox:/var/mail/%u mail_debug: yes mail_executable(default): /opt/csw/libexec/dovecot/imap mail_executable(imap): /opt/csw/libexec/dovecot/imap mail_executable(pop3): /opt/csw/libexec/dovecot/pop3 mail_plugin_dir(default): /opt/csw/lib/dovecot/imap mail_plugin_dir(imap): /opt/csw/lib/dovecot/imap mail_plugin_dir(pop3): /opt/csw/lib/dovecot/pop3 auth default: passdb: driver: pam userdb: driver: passwd
Any thoughts before I enter the infinite loop noted at the top of this message ? :-)
-- Dennis
Dennis Clarke wrote:
Jul 06 12:58:50 IMAP(dclarke): Error: mbox root directory can't be a file: /var/mail/dclarke/ (http://wiki.dovecot.org/MailLocation/Mbox)
So I figure I better go read that page again and see what I did wrong this time. I guess this is wrong :
mail_location: mbox:/var/mail/%u
Even though that is where the mail actually is :
# ls -lap /var/mail total 34 drwxrwxrwt 3 root mail 6 Jul 6 02:19 ./ drwxr-xr-x 47 root sys 47 May 30 02:52 ../ drwxrwxr-x 2 root mail 2 May 29 23:47 :saved/ -rw-rw---- 1 dclarke mail 0 Jul 5 16:01 dclarke -rw-rw---- 1 lucone mail 657 Jul 2 17:55 lucone -rw-rw---- 1 root mail 8705 Jul 2 05:40 root
The first bit after "mbox:" says where the user's mail *directory* is.
So what you have said puts the *directory* at /var/mail/dclarke, which is obviously not what you meant.
Maybe you could try something like this:
mail_location = mbox:~/mail:INBOX=/var/mail/%u
This exact parameter may not be exactly what you want finally, but it may be sufficient to get things working, then from there you can tune things to make it work how you want.
(Also I note you have a colon after "mail_location" rather than an equals. I don't know if this would be a problem but AFAIK the docs say to use an equals.)
There needs to be a per-user directory for (AFAIK):
Dovecot to store its indexes (needed for fast IMAP access)
Dovecot to store (IMAP) folders (in the case of "mbox", further mbox files) other than INBOX
Bill
William Blunn wrote:
Dennis Clarke wrote:
Jul 06 12:58:50 IMAP(dclarke): Error: mbox root directory can't be a file: /var/mail/dclarke/ (http://wiki.dovecot.org/MailLocation/Mbox)
So I figure I better go read that page again and see what I did wrong this time. I guess this is wrong :
mail_location: mbox:/var/mail/%u
Even though that is where the mail actually is :
# ls -lap /var/mail total 34 drwxrwxrwt 3 root mail 6 Jul 6 02:19 ./ drwxr-xr-x 47 root sys 47 May 30 02:52 ../ drwxrwxr-x 2 root mail 2 May 29 23:47 :saved/ -rw-rw---- 1 dclarke mail 0 Jul 5 16:01 dclarke -rw-rw---- 1 lucone mail 657 Jul 2 17:55 lucone -rw-rw---- 1 root mail 8705 Jul 2 05:40 root
The first bit after "mbox:" says where the user's mail *directory* is.
So what you have said puts the *directory* at /var/mail/dclarke, which is obviously not what you meant.
Maybe you could try something like this:
mail_location = mbox:~/mail:INBOX=/var/mail/%u
This exact parameter may not be exactly what you want finally, but it may be sufficient to get things working, then from there you can tune things to make it work how you want.
(Also I note you have a colon after "mail_location" rather than an equals. I don't know if this would be a problem but AFAIK the docs say to use an equals.)
There needs to be a per-user directory for (AFAIK):
Dovecot to store its indexes (needed for fast IMAP access)
Dovecot to store (IMAP) folders (in the case of "mbox", further mbox files) other than INBOX
AND / THOUGH
You may also want to read the proviso from http://wiki.dovecot.org/MailLocation/Mbox about lockfiles:
It's in no way a requirement to have the INBOX in /var/mail/ directory. In fact this often just brings problems because Dovecot might not be able to write dotlock files to the directory (see below). You can avoid this completely by just keeping everything in ~/mail/: # INBOX exists in ~/mail/inbox mail_location = mbox:~/mail
And further, if you are using mbox at all, you might want to check that all softwares which will be accessing the mbox will be using compatible locking strategies:
== Locking ==
Make sure that all software accessing the mboxes are using the same locking methods in the same order. The order is important to prevent deadlocking. From Dovecot's side you can change these from mbox_read_locks and mbox_write_locks settings. See MboxLocking (http://wiki.dovecot.org/MboxLocking) for more information.
One idea would be to configure your MTA to use the Dovecot LDA to handle deliveries. This in essence then delegates all local mailbox handling to Dovecot which should then ensure that delivery to mailboxes and subsequent collection through Dovecot (be that POP3 or IMAP) will cooperate on locking. Alternatively you could use Maildir which should make locking issues go away.
Bill
participants (2)
-
Dennis Clarke
-
William Blunn