fp at kraptastic.com
2007-Dec-12 02:21 UTC
[Dovecot] Dovecot truncating messages and/or attachments
Hello, I am having problems with Dovecot not sending clients emails bigger then 8-12k (it varies) or attachments bigger then 8-12k. I am also getting 'Corrupted transaction log file' errors ' unexpected end of file while reading header' I have deleted the dovecot.index.log, dovecot.index.cache, and dovecot.index several dozen times. I started off using Centos 5, with their package of dovecot 1.05, after seeing that there were problems in the package in the http://wiki.dovecot.org/WhyDoesItNotWork, I went with a source install of dovecot 1.09. Here is my cfg info: # dovecot -n # 1.0.9: /etc/dovecot.conf protocols: pop3 pop3s imap imaps ssl_cert_file: /etc/dovecert.pem ssl_key_file: /etc/dovekey.pem disable_plaintext_auth: no login_dir: /var/run/dovecot/login login_executable(default): /usr/libexec/dovecot/imap-login login_executable(imap): /usr/libexec/dovecot/imap-login login_executable(pop3): /usr/libexec/dovecot/pop3-login login_process_size: 128 first_valid_uid: 106 last_valid_uid: 106 mail_extra_groups: mail mail_location: maildir:/var/spool/postfix/virtual/%d/%u mail_debug: yes maildir_copy_with_hardlinks: yes mail_executable(default): /usr/libexec/dovecot/imap mail_executable(imap): /usr/libexec/dovecot/imap mail_executable(pop3): /usr/libexec/dovecot/pop3 mail_plugin_dir(default): /usr/lib64/dovecot/imap mail_plugin_dir(imap): /usr/lib64/dovecot/imap mail_plugin_dir(pop3): /usr/lib64/dovecot/pop3 imap_client_workarounds(default): outlook-idle delay-newmail imap_client_workarounds(imap): outlook-idle delay-newmail imap_client_workarounds(pop3): outlook-idle pop3_uidl_format: %08Xu%08Xv pop3_client_workarounds(default): pop3_client_workarounds(imap): pop3_client_workarounds(pop3): outlook-no-nuls oe-ns-eoh auth default: mechanisms: plain login user: vmail passdb: driver: sql args: /etc/dovecot-mysql.conf userdb: driver: sql args: /etc/dovecot-mysql.conf userdb: driver: prefetch socket: type: listen client: path: /var/spool/postfix/private/auth mode: 432 user: postfix group: vmail master: path: /var/run/dovecot/auth-master mode: 432 user: vmail group: vmail (the login process is 128 because i was experimenting with various numbers (32,64,80,etc) The /var/log/maillog has hundreds of these: Dec 11 16:27:42 le1 dovecot: POP3(xxx at xxx): Corrupted transaction log file /var/spool/postfix/virtual/xxx.com/xxx at xxx/dovecot.index.log: unexpected end of file while reading header I turned made it so the mail stays on the server, so i can see that the mail stored there by postfix is the correct size. When email clients download mail through pop3 or pop3s it only downloads 4,8, or 12 k worth of the email (whether it has attachments or not). Here is an example transaction: Dec 11 17:18:31 le1 dovecot: auth(default): client in: AUTH 1 PLAIN service=POP3 lip=142.179.211.193 rip=24.71.237.54 respDec 11 17:18:31 le1 dovecot: auth(default): client out: CONT 1 Dec 11 17:18:31 le1 dovecot: auth(default): client in: CONT 1 AHNoYXduQGxhbmdmb3JkZWxlY3RyaWMuY2EAdW5mdW5m Dec 11 17:18:31 le1 dovecot: auth(default): cache(shawn at xxx.com,24.71.237.54): hit Dec 11 17:18:31 le1 dovecot: auth(default): client out: OK 1 user=shawn at xxx.com Dec 11 17:18:31 le1 dovecot: auth(default): master in: REQUEST 92 8447 1 Dec 11 17:18:31 le1 dovecot: pop3-login: Login: user=<shawn at xxx.com>, method=PLAIN, rip=24.71.237.54, lip=142.179.211.193 Dec 11 17:18:31 le1 dovecot: auth(default): master out: USER 92 shawn at xxx.com maildir=xxx.com/shawn at xxx.com/ uid=106 gid=106 Dec 11 17:18:31 le1 dovecot: POP3(shawn at xxx.com): Effective uid=106, gid=106 Dec 11 17:18:31 le1 dovecot: POP3(shawn at xxx.com): maildir: data=/var/spool/postfix/virtual/xxx.com/shawn at xxx.com Dec 11 17:18:31 le1 dovecot: POP3(shawn at xxx.com): maildir: root=/var/spool/postfix/virtual/xxx.com/shawn at xxx.com, index=/var/spool/postfix/virtual/xxx.com/shawn at xxx.com, control=, inboxDec 11 17:18:31 le1 dovecot: auth(default): new auth connection: pid=8487 Dec 11 17:18:31 le1 dovecot: POP3(shawn at xxx.com): Disconnected: Logged out top=0/0, retr=1/4215, del=0/1, size=70206 To be clear, if i telnet to 110, and manually do a retr on the message it only sends 4,8,or 12k worth of the message. So it does not appear to be a permission problem, it is reading and writing to the directory properly. The system is x86_64 centos 5, not using the standard dovecot nor postfix rpms that come with the distro. postfix from what I can tell, is working fine, but dovecot isn't. I'm going to try installing cyrus to make sure it's not postfix, but I'd really like to avoid cyrus if possible. Thanks in advance for any help.
Timo Sirainen
2007-Dec-21 17:15 UTC
[Dovecot] Dovecot truncating messages and/or attachments
On Tue, 2007-12-11 at 18:21 -0800, fp at kraptastic.com wrote:> The /var/log/maillog has hundreds of these: > Dec 11 16:27:42 le1 dovecot: POP3(xxx at xxx): Corrupted transaction log file > /var/spool/postfix/virtual/xxx.com/xxx at xxx/dovecot.index.log: unexpected > end of file while reading header > > I turned made it so the mail stays on the server, so i can see that the > mail stored there by postfix is the correct size. When email clients > download mail through pop3 or pop3s it only downloads 4,8, or 12 k worth > of the email (whether it has attachments or not). Here is an example > transaction:Somehow all of this sounds like there's something wrong with your system, as if pread() randomly returns 0 even though there is more data in the file.. What filesystem do you use? You could try if removing HAVE_PREAD from config.h and recompiling helps. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: <http://dovecot.org/pipermail/dovecot/attachments/20071221/afd8182c/attachment-0002.bin>