Re: [Dovecot] dovecot Digest, Vol 67, Issue 60
dovecot-request@dovecot.org demis ki::
Send dovecot mailing list submissions to dovecot@dovecot.org
To subscribe or unsubscribe via the World Wide Web, visit http://dovecot.org/cgi-bin/mailman/listinfo/dovecot or, via email, send a message with subject or body 'help' to dovecot-request@dovecot.org
You can reach the person managing the list at dovecot-owner@dovecot.org
When replying, please edit your Subject line so it is more specific than "Re: Contents of dovecot digest..."
Today's Topics:
- mbox file too large error with deliver (Gokdeniz Karadag)
- Re: mbox file too large error with deliver (Charles Marcus)
- Re: mbox file too large error with deliver (Seth Mattinen)
- Re: core in lazy_expunge plugin (Timo Sirainen)
- Re: mbox file too large error with deliver (Timo Sirainen)
- v1.1.7 released (Timo Sirainen)
- Re: v1.1.7 released (Dave McGuire)
- Re: v1.1.7 released (Laurent Blume)
- v1.2.alpha4 released (Timo Sirainen)
- Re: v1.1.7 released (Timo Sirainen)
- Re: v1.1.7 released (Timo Sirainen)
Message: 1 Date: Sun, 23 Nov 2008 23:55:15 +0200 From: Gokdeniz Karadag gokdenizk@gmail.com Subject: [Dovecot] mbox file too large error with deliver To: dovecot@dovecot.org Message-ID: 4929D143.50300@gmail.com Content-Type: text/plain; charset=UTF-8; format=flowed
Hi,
I am using dovecot on debian, with version 1.0.rc15-2etch4. Along with postfix.
The deliver binary cannot deliver to large mailboxes. I cannot state an exact size limit but mbox mailboxes above 1GB seem to be affected.
I have these in in postfix/main.cf mailbox_command = /usr/lib/dovecot/deliver mailbox_size_limit = 5120000000
The user.log file shows these (I believe if no logging is specified, deliver binary tries to log with "logger" and they go to user ?)
user.log.3.gz:Nov 8 21:23:01 guvercin deliver(dummy): write() failed with mbox file /var/mail/dummy: File too large user.log.3.gz:Nov 8 21:23:01 guvercin deliver(dummy): msgid=4915957C.8090606@ceng.metu.edu.tr: save failed to INBOX user.log.3.gz:Nov 8 21:23:01 guvercin deliver(dummy): sieve runtime error: Keep: Generic Error
The /var/mail/dummy file exists and is 1.9GB, so my filesystem certainly supports files >1G
What may be the problem ?
dovecot -n output follows :
log_timestamp: %Y-%m-%d %H:%M:%S syslog_facility: local1 protocols: imaps pop3s ssl_cert_file(default): /etc/ssl/certs/imap-cert.pem ssl_cert_file(imap): /etc/ssl/certs/imap-cert.pem ssl_cert_file(pop3): /etc/ssl/certs/pop-cert.pem ssl_key_file(default): /etc/ssl/private/imap-key.pem ssl_key_file(imap): /etc/ssl/private/imap-key.pem ssl_key_file(pop3): /etc/ssl/private/pop-key.pem login_dir: /var/run/dovecot/login login_executable(default): /usr/lib/dovecot/imap-login login_executable(imap): /usr/lib/dovecot/imap-login login_executable(pop3): /usr/lib/dovecot/pop3-login mail_privileged_group: mail mail_location: mbox:~/mail:INBOX=/var/mail/%u:INDEX=/var/spool/dovecot/indexes/%u mbox_read_locks: fcntl dotlock mbox_write_locks: fcntl dotlock mail_executable(default): /usr/lib/dovecot/imap mail_executable(imap): /usr/lib/dovecot/imap mail_executable(pop3): /usr/lib/dovecot/pop3 mail_plugin_dir(default): /usr/lib/dovecot/modules/imap mail_plugin_dir(imap): /usr/lib/dovecot/modules/imap mail_plugin_dir(pop3): /usr/lib/dovecot/modules/pop3 imap_client_workarounds(default): outlook-idle tb-extra-mailbox-sep imap_client_workarounds(imap): outlook-idle tb-extra-mailbox-sep imap_client_workarounds(pop3): outlook-idle pop3_uidl_format(default): pop3_uidl_format(imap): pop3_uidl_format(pop3): %08Xv%08Xu pop3_client_workarounds(default): pop3_client_workarounds(imap): pop3_client_workarounds(pop3): outlook-no-nuls oe-ns-eoh auth default: mechanisms: plain login passdb: driver: pam userdb: driver: passwd socket: type: listen client: path: /var/spool/postfix/private/auth mode: 432 user: postfix group: postfix master:
Message: 2 Date: Sun, 23 Nov 2008 16:59:08 -0500 From: Charles Marcus CMarcus@Media-Brokers.com Subject: Re: [Dovecot] mbox file too large error with deliver To: Dovecot Mailing List dovecot@dovecot.org Message-ID: 4929D22C.8060401@Media-Brokers.com Content-Type: text/plain; charset=UTF-8
On 11/23/2008, Gokdeniz Karadag (gokdenizk@gmail.com) wrote:
dovecot -n output follows :
log_timestamp: %Y-%m-%d %H:%M:%S
Either this is an old version or you snipped the version from the top of the dovecot -n output...
What version of dovecot?
Also, OS/version info may help too...
Message: 5 Date: Mon, 24 Nov 2008 00:12:56 +0200 From: Timo Sirainen tss@iki.fi Subject: Re: [Dovecot] mbox file too large error with deliver To: Dovecot Mailing List dovecot@dovecot.org Message-ID: 1227478376.20835.1017.camel@hurina Content-Type: text/plain; charset="us-ascii"
On Sun, 2008-11-23 at 23:55 +0200, Gokdeniz Karadag wrote:
The deliver binary cannot deliver to large mailboxes. I cannot state an exact size limit but mbox mailboxes above 1GB seem to be affected.
I have these in in postfix/main.cf mailbox_command = /usr/lib/dovecot/deliver mailbox_size_limit = 5120000000
So this is 5 GB. I don't know how exactly the limits work with 32 bit systems, but if you get the error with >1 GB files then my guess is that this 5 GB gets wrapped to 1 GB (5 mod 4 = 1).
user.log.3.gz:Nov 8 21:23:01 guvercin deliver(dummy): write() failed with mbox file /var/mail/dummy: File too large
Kernel gives this error when it reaches the maximum file size limit.
If you don't want a limit, just set mailbox_size_limit = 0.
Hi,
Setting mailbox_size_limit to 0 made deliveries possible. a limit of 2000000000 (<2GB) also did not show the errors. Thank you ! :)
My issue is fixed but deliver might have a bug, so I will explain things, sorry for not being clear previously.
Old mail server was 32 bit(an old version of debian) and used procmail for deliveries, that setup worked with the given limit of 5GB and mailbox sizes above 1GB.
After migrating to an 64 bit server (debian etch) and dovecot's deliver, the stated delivery errors appeared for mailboxes above 1 GB. As I stated at the beginning of my reply, setting mailbox_size_limit below 2GB made deliveries possible. I tried with edge values, mailbox_size_limit=2147483648 (exactly 2GB) would give the following error in postfix logs:
fatal: main.cf configuration error: mailbox_size_limit is smaller than message_size_limit
A limit of 2147483648 - 1 worked fine.
There are two distinct bugs probably, one in postfix and one in dovecot. I guess this is result of using integer values for size limit. values greater than 2GB would wrap and cause warnings in postfix. Probably, my previous limit of 5GB would confuse things and no error was reported. (I don't know how, 5GB cannot be stored in an unsigned int, double overrun makes it within limit ? :) )
Maybe moving to "long long int" for mailbox file size is a possible solution.
-- Gokdeniz Karadag
On Nov 24, 2008, at 1:22 AM, Gokdeniz Karadag wrote:
Setting mailbox_size_limit to 0 made deliveries possible. a limit of
2000000000 (<2GB) also did not show the errors. Thank you ! :)My issue is fixed but deliver might have a bug, so I will explain
things, sorry for not being clear previously.Old mail server was 32 bit(an old version of debian) and used
procmail for deliveries, that setup worked with the given limit of
5GB and mailbox sizes above 1GB.After migrating to an 64 bit server (debian etch) and dovecot's
deliver, the stated delivery errors appeared for mailboxes above 1
GB. As I stated at the beginning of my reply, setting
mailbox_size_limit below 2GB made deliveries possible. I tried with
edge values, mailbox_size_limit=2147483648 (exactly 2GB) would give
the following error in postfix logs:fatal: main.cf configuration error: mailbox_size_limit is smaller
than message_size_limitA limit of 2147483648 - 1 worked fine.
There are two distinct bugs probably, one in postfix and one in
dovecot.
Postfix clearly is using signed 32bit integer here, which could be
considered a bug. But why do you think there's a bug in Dovecot? Note
that Dovecot never even sees this value. It's the kernel that enforces
it, Dovecot simply reacts to a write() failure.
participants (2)
-
Gokdeniz Karadag
-
Timo Sirainen