[Dovecot] compressed folder bug

Giulio Casella giulio at dsi.unimi.it
Mon Jul 11 15:26:39 EEST 2011


I found a strange behaviour in dovecot compressed folder, maybe a bug.
It happens only if you have one (and just one!) email in a gz compressed folder.
I'm talking about a mbox server.

Step to reproduce:
- create a new folder, using any client (I think this step is not important, it 
happens also if tou create this folder server-side).
- copy one message (any message) into newly created folder (using your favourite 
drag-n-drop gesture, saving in that folder using you character client 
(mutt,...), etc.)
- if your client automatically subscribe to newly created folders, unsubscribe 
from it
- On your server "gzip newfolder"
- On your client subscribe "newfolder.gz"
- Try to access you newfolder

This is what I get in logfiles:

Jul 11 14:08:08 myhostname dovecot: imap(giulio): Error: Next message 
unexpectedly lost from mbox file /home/giulio/Mail/testfolder.gz at 9082 (cached)
Jul 11 14:08:08 myhostname dovecot: imap(giulio): Error: 
read(/home/giulio/Mail/testfolder.gz) failed: Invalid argument (uid=1)
Jul 11 14:08:08 myhostname dovecot: imap(giulio): Disconnected: Internal error 
occurred. Refer to server log for more information. [2011-07-11 14:08:08] 
bytes=2045/23657

The funniest thing is that if I have a folder with more than one message it 
works like a charm.

Some info about me:

- dovecot version 2.0.13
- gentoo linux, with kernel 2.6.38-gentoo-r6
- system running on a VMWare virtual machine (32bit)
- reiserfs filesystem

my dovecot -n output:
------------------------------------------------------------------------
# 2.0.13: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.38-gentoo-r6 i686 Gentoo Base System release 2.0.2
auth_mechanisms = plain login
disable_plaintext_auth = no
listen = *
mail_gid = mail
mail_location = mbox:~/Mail:INBOX=/var/mail/%u:INDEX=~/
mail_privileged_group = mail
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character 
vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy 
include variables body enotify environment mailbox date
passdb {
   args = *
   driver = pam
}
plugin {
   sieve = ~/.dovecot.sieve
   sieve_dir = ~/sieve
}
service imap-login {
   inet_listener imap {
     address = imap.mydomain.it
   }
   inet_listener imaps {
     address = imap.mydomain.it
   }
}
service pop3-login {
   inet_listener pop3 {
     address = pop.mydomain.it
   }
   inet_listener pop3s {
     address = pop.mydomain.it
   }
}
ssl_cert = </etc/ssl/dovecot/server.pem
ssl_key = </etc/ssl/dovecot/server.key
syslog_facility = local6
userdb {
   driver = passwd
}
protocol lda {
   mail_plugins = sieve
}
protocol imap {
   mail_plugins = " zlib"
   plugin {
     zlib_save = gz
     zlib_save_level = 6
   }
}
local imap.dsi.unimi.it {
   disable_plaintext_auth = no
}
local pop.dsi.unimi.it {
   disable_plaintext_auth = no
}
local imap.dsi.unimi.it {
   protocol imap {
     ssl_cert = </etc/pki/CA/certs/imap.mydomain.it.pem
     ssl_key = </etc/pki/CA/certs/imap.mydomain.it.key
   }
}
local pop.dsi.unimi.it {
   protocol pop3 {
     pop3_uidl_format = %08Xv%08Xu
     ssl_cert = </etc/pki/CA/certs/pop.mydomain.it.pem
     ssl_key = </etc/pki/CA/certs/pop.mydomain.it.key
   }
}
------------------------------------------------------------------------

Any ideas?

TIA,
gc



-- 
Giulio Casella                                         giulio at dsi.unimi.it
System and network manager
Computer Science Dept. - University of Milano


More information about the dovecot mailing list