[Dovecot] deliver panics when handling mails bigger than some kByte
Hi,
i've just upgraded to dovecot-1.2.8 (from 1.2.4) and do now get the following errors when deliver gets hands on mails with some attachments.
# tail -n 1 /var/log/messages Dec 14 19:00:36 mail3 dovecot: deliver(user): Panic: file istream.c: line 96 (i_stream_read): assertion failed: (stream->eof)
The MTA is postfix running inside a FreeBSD 7.2-STABLE jail. The homes where deliver should put mails are mounted via NFS. As it works with small attachments perhaps this is related to the message size.
However i don't get the "stale NFS file handle" error any more which i did under 1.2.4 (See thread that begins with: Message-ID: 20091016122519.GC6309@emmi.physik-pool.tu-berlin.de )
Greetings, Leon
On Mon, 2009-12-14 at 20:55 +0100, Leon Meßner wrote:
Hi,
i've just upgraded to dovecot-1.2.8 (from 1.2.4) and do now get the following errors when deliver gets hands on mails with some attachments.
# tail -n 1 /var/log/messages Dec 14 19:00:36 mail3 dovecot: deliver(user): Panic: file istream.c: line 96 (i_stream_read): assertion failed: (stream->eof)
Can you reproduce this easily? Can you get it to dump core? kern.corefile and kern.sugid_coredump sysctls probably help. I'd like to get at least gdb backtrace and also a few other variables.. http://dovecot.org/bugreport.html
The MTA is postfix running inside a FreeBSD 7.2-STABLE jail. The homes where deliver should put mails are mounted via NFS. As it works with small attachments perhaps this is related to the message size.
However i don't get the "stale NFS file handle" error any more which i did under 1.2.4 (See thread that begins with: Message-ID: 20091016122519.GC6309@emmi.physik-pool.tu-berlin.de )
I didn't change anything between 1.2.4 and 1.2.8 related to handling stale NFS handles..
On Tue, Dec 15, 2009 at 03:04:07PM -0500, Timo Sirainen wrote:
On Mon, 2009-12-14 at 20:55 +0100, Leon Meßner wrote:
Hi,
i've just upgraded to dovecot-1.2.8 (from 1.2.4) and do now get the following errors when deliver gets hands on mails with some attachments.
# tail -n 1 /var/log/messages Dec 14 19:00:36 mail3 dovecot: deliver(user): Panic: file istream.c: line 96 (i_stream_read): assertion failed: (stream->eof)
Can you reproduce this easily? Can you get it to dump core?
Happens everytime one tries to send mails which are slightly bigger (around 100k).
kern.corefile and kern.sugid_coredump sysctls probably help. I'd like to get at least gdb backtrace and also a few other variables.. http://dovecot.org/bugreport.html
Here's the backtrace and the output of dovecot -n
. This is still 1.2.8,
I will upgrade as soon as the new FreeBSD port is out there. The
configuration is basically postfix with deliver as LDA and dovecot-sieve
inside a FreeBSD 7.2 jail and maildir's on NFS.
thanks and happy holidays to everyone, Leon
18:19_root@mail3:/root# gdb /usr/local/libexec/dovecot/deliver deliver.core GNU gdb 6.1.1 [FreeBSD] Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "amd64-marcel-freebsd"...(no debugging symbols found)... Core was generated by `deliver'. Program terminated with signal 6, Aborted. Reading symbols from /usr/local/lib/libiconv.so.3...done. Loaded symbols for /usr/local/lib/libiconv.so.3 Reading symbols from /usr/lib/librt.so.1...done. Loaded symbols for /usr/lib/librt.so.1 Reading symbols from /lib/libc.so.7...done. Loaded symbols for /lib/libc.so.7 Reading symbols from /usr/local/lib/dovecot/lda/lib90_sieve_plugin.so...done. Loaded symbols for /usr/local/lib/dovecot/lda/lib90_sieve_plugin.so Reading symbols from /libexec/ld-elf.so.1...done. Loaded symbols for /libexec/ld-elf.so.1 #0 0x0000000800b2fa1c in kill () from /lib/libc.so.7 (gdb) bt full #0 0x0000000800b2fa1c in kill () from /lib/libc.so.7 No symbol table info available. #1 0x0000000800b2e83b in abort () from /lib/libc.so.7 No symbol table info available. #2 0x00000000004c7795 in failure_exit () No symbol table info available. #3 0x00000000004c8147 in i_syslog_fatal_handler () No symbol table info available. #4 0x00000000004c7a7a in i_panic () No symbol table info available. #5 0x00000000004ce84c in i_stream_read () No symbol table info available. #6 0x00000000004d1c52 in i_stream_create_fd () No symbol table info available. #7 0x00000000004ce778 in i_stream_read () No symbol table info available. #8 0x00000000004d0925 in i_stream_create_concat () No symbol table info available. #9 0x00000000004d0c2d in i_stream_create_concat () No symbol table info available. #10 0x00000000004ce778 in i_stream_read () No symbol table info available. #11 0x00000000004d35fa in i_stream_create_seekable () No symbol table info available. #12 0x00000000004ce778 in i_stream_read () No symbol table info available. #13 0x00000000004cf3cd in i_stream_read_data () No symbol table info available. #14 0x00000000004bd6df in message_id_get_next () No symbol table info available. #15 0x00000000004bdee9 in message_id_get_next () No symbol table info available. #16 0x00000000004bf018 in message_parser_parse_next_block () No symbol table info available. #17 0x000000000045eb1d in index_mail_cache_parse_continue () No symbol table info available. #18 0x00000000004442ac in maildir_save_continue () No symbol table info available. #19 0x00000000004787a3 in mailbox_save_continue () No symbol table info available. #20 0x0000000000471105 in mail_storage_copy () No symbol table info available. #21 0x0000000000441f6c in maildir_copy () No symbol table info available. #22 0x0000000000478871 in mailbox_copy () No symbol table info available. #23 0x0000000800e2f881 in act_store_execute () from /usr/local/lib/dovecot/lda/lib90_sieve_plugin.so No symbol table info available. #24 0x0000000800e29707 in _sieve_result_implicit_keep () from /usr/local/lib/dovecot/lda/lib90_sieve_plugin.so No symbol table info available. #25 0x0000000800e29bff in sieve_result_execute () from /usr/local/lib/dovecot/lda/lib90_sieve_plugin.so No symbol table info available. #26 0x0000000800e35ac7 in sieve_execute () from /usr/local/lib/dovecot/lda/lib90_sieve_plugin.so No symbol table info available. #27 0x0000000800e1b58e in lda_sieve_deliver_mail () from /usr/local/lib/dovecot/lda/lib90_sieve_plugin.so No symbol table info available. #28 0x000000000041b247 in main () No symbol table info available.
18:23_root@mail3:/root# dovecot -n # 1.2.8: /usr/local/etc/dovecot.conf # OS: FreeBSD 7.2-STABLE amd64 log_path: /var/log/dovecot.log protocols: imaps pop3s managesieve listen: mail3.physik.tu-berlin.de ssl_cert_file: /etc/private/mail3.physik.tu-berlin.de.pem ssl_key_file: /etc/private/physik.tu-berlin.de_privatekey.pem login_dir: /var/run/dovecot/login login_executable(default): /usr/local/libexec/dovecot/imap-login login_executable(imap): /usr/local/libexec/dovecot/imap-login login_executable(pop3): /usr/local/libexec/dovecot/pop3-login login_executable(managesieve): /usr/local/libexec/dovecot/managesieve-login login_processes_count: 6 login_max_processes_count: 256 verbose_proctitle: yes first_valid_uid: 200 first_valid_gid: 300 mail_privileged_group: mail mail_location: maildir:~/maildir mmap_disable: yes mail_nfs_storage: yes mail_nfs_index: yes mail_executable(default): /usr/local/libexec/dovecot/imap mail_executable(imap): /usr/local/libexec/dovecot/imap mail_executable(pop3): /usr/local/libexec/dovecot/pop3 mail_executable(managesieve): /usr/local/libexec/dovecot/managesieve mail_plugin_dir(default): /usr/local/lib/dovecot/imap mail_plugin_dir(imap): /usr/local/lib/dovecot/imap mail_plugin_dir(pop3): /usr/local/lib/dovecot/pop3 mail_plugin_dir(managesieve): /usr/local/lib/dovecot/managesieve imap_client_workarounds(default): delay-newmail netscape-eoh tb-extra-mailbox-sep imap_client_workarounds(imap): delay-newmail netscape-eoh tb-extra-mailbox-sep imap_client_workarounds(pop3): imap_client_workarounds(managesieve): pop3_client_workarounds(default): pop3_client_workarounds(imap): pop3_client_workarounds(pop3): outlook-no-nuls oe-ns-eoh pop3_client_workarounds(managesieve): namespace: type: private separator: / inbox: yes list: yes subscriptions: yes namespace: type: private separator: / prefix: mail/ location: mbox:~/mail list: yes subscriptions: yes lda: postmaster_address: postmaster@physik.tu-berlin.de log_path: info_log_path: mail_plugins: sieve quota_full_tempfail: yes sendmail_path: /usr/sbin/sendmail auth default: mechanisms: gssapi plain login username_format: %Lu krb5_keytab: /etc/mail3.krb5.keytab gssapi_hostname: mail3.physik-pool.tu-berlin.de worker_max_count: 120 passdb: driver: pam args: session=yes failure_show_msg=yes max_requests=100 dovecot userdb: driver: passwd args: blocking=yes socket: type: listen client: path: /var/run/dovecot/auth-client mode: 432 master: path: /var/run/dovecot/auth-master mode: 384 plugin: sieve: ~/.dovecot.sieve sieve_dir: ~/.sieve
participants (2)
-
Leon Meßner
-
Timo Sirainen