[Dovecot] deliver panics when handling mails bigger than some kByte

Leon Meßner l.messner at physik.tu-berlin.de
Sat Dec 19 20:31:33 EET 2009


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 at 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 at 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 at 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
Url : http://dovecot.org/pipermail/dovecot/attachments/20091219/0ce1df26/attachment.bin 


More information about the dovecot mailing list