[Dovecot] dovecot Digest, Vol 67, Issue 60

Gokdeniz Karadag gokdenizk at gmail.com
Mon Nov 24 01:22:39 EET 2008



dovecot-request at dovecot.org demis ki::
> Send dovecot mailing list submissions to
> 	dovecot at 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 at dovecot.org
> 
> You can reach the person managing the list at
> 	dovecot-owner at dovecot.org
> 
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of dovecot digest..."
> 
> 
> Today's Topics:
> 
>    1. mbox file too large error with deliver (Gokdeniz Karadag)
>    2. Re: mbox file too large error with deliver (Charles Marcus)
>    3. Re: mbox file too large error with deliver (Seth Mattinen)
>    4. Re: core in lazy_expunge plugin (Timo Sirainen)
>    5. Re: mbox file too large error with deliver (Timo Sirainen)
>    6. v1.1.7 released (Timo Sirainen)
>    7. Re: v1.1.7 released (Dave McGuire)
>    8. Re: v1.1.7 released (Laurent Blume)
>    9. v1.2.alpha4 released (Timo Sirainen)
>   10. Re: v1.1.7 released (Timo Sirainen)
>   11. Re: v1.1.7 released (Timo Sirainen)
> 
> 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Sun, 23 Nov 2008 23:55:15 +0200
> From: Gokdeniz Karadag <gokdenizk at gmail.com>
> Subject: [Dovecot] mbox file too large error with deliver
> To: dovecot at dovecot.org
> Message-ID: <4929D143.50300 at 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 at 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 at Media-Brokers.com>
> Subject: Re: [Dovecot] mbox file too large error with deliver
> To: Dovecot Mailing List <dovecot at dovecot.org>
> Message-ID: <4929D22C.8060401 at Media-Brokers.com>
> Content-Type: text/plain; charset=UTF-8
> 
> On 11/23/2008, Gokdeniz Karadag (gokdenizk at 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 at iki.fi>
> Subject: Re: [Dovecot] mbox file too large error with deliver
> To: Dovecot Mailing List <dovecot at dovecot.org>
> Message-ID: <1227478376.20835.1017.camel at 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



More information about the dovecot mailing list