[Dovecot] Crash in v1.2.3: istream.c: assertion failed on line 99
Phillip Macey
phillip.macey at cisra.canon.com.au
Thu Aug 13 05:10:59 EEST 2009
Hi,
I have a couple of people bumping into an issue with their imap
process crashing - from the users perspective, their mail client
(thunderbird) just stops recieving new mail. It still seems to be
possible for them to read their mail using squirell mail. When it
crashes, it leaves behind a log message like this on the server:
Aug 12 15:52:25 fury dovecot: imap-login: Login: user=<zhi>,
method=PLAIN, rip=10.8.5.15, lip=10.10.0.26
Aug 12 15:52:25 fury dovecot: IMAP(zhi): Panic: file istream.c: line 99
(i_stream_read): assertion failed: ((size_t)ret+old_size == _stream->pos
- _stream->skip)
Aug 12 15:52:25 fury dovecot: IMAP(zhi): Raw backtrace: imap [0x49ddc0]
-> imap [0x49de23] -> imap [0x49d4a6] -> imap [0x4a252e] -> imap
[0x4a4691] -> imap(i_stream_read+0x48) [0x4a23f8] ->
imap(i_stream_read_data+0x28) [0x4a2558] -> imap [0x4ab22e] ->
imap(o_stream_send_istream+0x2e) [0x4aa63e] ->
imap(maildir_save_continue+0x32) [0x443d12] ->
imap(mail_storage_copy+0x6a) [0x462a1a] -> imap(maildir_copy+0x5e)
[0x441d2e] -> imap(cmd_copy+0x1fe) [0x41a94e] -> imap(cmd_uid+0x78)
[0x41f8d8] -> imap [0x42053c] -> imap [0x4205f2] ->
imap(client_handle_input+0x3f) [0x42072f] -> imap(client_input+0x5f)
[0x42127f] -> imap(io_loop_handler_run+0xf8) [0x4a5b08] ->
imap(io_loop_run+0x1d) [0x4a4c1d] -> imap(main+0x620) [0x428b80] ->
/lib64/libc.so.6(__libc_start_main+0xf4) [0x353e41d974] -> imap [0x4198f9]
Aug 12 15:52:25 fury dovecot: dovecot: child 14759 (imap) killed with
signal 6 (core dumps disabled)
I was able to fairly reliably trigger the same behaviour myself by
attempting to move a bunch (thousands) of emails in my account using
thunderbird - I dont know exactly what it is that triggers the crash
though. I tried enabling core dumps using 'ulimit -c unlimited' and
messing around with some environment variables to stop the startup
scripts from forcing core dumps off again
(DAEMON_COREFILE_LIMIT=18446744073709551615 /etc/init.d/dovecot
restart). After doing that, I do not see anything in the logs any more -
but I still seem to be having problems moving the emails around in my
account. It would seem that it is still broken but Im just not getting
any logs telling me so. There don't seem to be any core dumps sitting
around anywhere either.
My 'dovecot -n' is:
# 1.2.3: /etc/dovecot.conf
# OS: Linux 2.6.18-128.1.16.el5.centos.plus x86_64 CentOS release 5.3
(Final) xfs
syslog_facility: local0
shutdown_clients: 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
max_mail_processes: 1024
first_valid_uid: 300
mail_location: maildir:/u/%u/Maildir
mail_drop_priv_before_exec: 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
lda:
postmaster_address: example at example.com
auth default:
mechanisms: gssapi gss-spnego plain
krb5_keytab: /etc/opt/quest/vas/imap.keytab
gssapi_hostname: $ALL
passdb:
driver: passwd-file
args: /etc/dovecot.deny # empty file
deny: yes
passdb:
driver: pam
args: dovecot
userdb:
driver: passwd
userdb:
driver: static
args: home=/u/%u
--
Thanks,
Phill Macey
More information about the dovecot
mailing list