[Dovecot] Dovecot 1.1.2, SIGABRT on copy mail

Andreas M. Kirchwitz amk at krell.zikzak.de
Fri Jul 25 03:59:56 EEST 2008


Hi folks,

with the brandnew release Dovecot 1.1.2, the daemon killed itself
with signal 6 (SIGABRT) when trying to save a mail from the INBOX
to another folder. The mail client is PINE 4.64. After reconnecting
to the IMAP server, the mail was actually copied to the destination
folder, but the original mail was still in the INBOX and not flagged
as "deleted".

This is the panic:

Jul 25 02:13:25 linux dovecot: Panic: IMAP(user2): file index-sync.c: line 39 (index_mailbox_set_recent_uid): assertion failed: (seq_range_exists(&ibox->recent_flags, uid))
Jul 25 02:13:25 linux dovecot: IMAP(user2): Raw backtrace: imap [0x80cf8e0] -> imap [0x80cf93a] -> imap [0x80cf26c] -> imap [0x809d11a] -> imap(index_mailbox_set_recent_seq+0x3e) [0x809d15e] -> imap(mbox_sync+0x105d) [0x80823fd] -> imap [0x807a454] -> imap(index_transaction_commit+0x4e) [0x809ddfe] -> imap(cmd_copy+0x35f) [0x805b26f] -> imap [0x805fd7c] -> imap [0x805fe25] -> imap [0x80605e5] -> imap(client_input+0x5e) [0x80607fe] -> imap(io_loop_handler_run+0x100) [0x80d7230] -> imap(io_loop_run+0x28) [0x80d63c8] -> imap(main+0x4a1) [0x8068321] -> /lib/libc.so.6(__libc_start_main+0xe0) [0x149390] -> imap [0x805a101]
Jul 25 02:13:25 linux dovecot: child 7954 (imap) killed with signal 6

Thus, the daemon died somewhere between successfully saving a copy
of the mail from INBOX to the destination folder and flagging it to
be deleted in the INBOX.

Just a couple of minutes later, Dovecot died again. Wanted to save
a message from INBOX to another folder. But this time, the message
wasn't written to the destination folder. As before, the original
mail in the INBOX didn't change any flags.

Jul 25 02:22:07 linux dovecot: Panic: IMAP(user2): file message-parser.c: line 770 (message_parser_parse_next_block): assertion failed: (ctx->input->eof || ctx->input->closed || ctx->input->stream_errno != 0 || ctx->broken)
Jul 25 02:22:07 linux dovecot: IMAP(user2): Raw backtrace: imap [0x80cf8e0] -> imap [0x80cf93a] -> imap [0x80cf26c] -> imap(message_parser_parse_body+0) [0x80c8ba0] -> imap(message_parser_parse_body+0x1e) [0x80c8bbe] -> imap [0x8095120] -> imap [0x809528c] -> imap(index_mail_get_special+0x3a7) [0x8095757] -> imap [0x8061b94] -> imap(imap_fetch+0x148) [0x80620f8] -> imap(cmd_fetch+0x28e) [0x805bcae] -> imap [0x805fd7c] -> imap [0x805fe25] -> imap [0x80605e5] -> imap(client_input+0x5e) [0x80607fe] -> imap(io_loop_handler_run+0x100) [0x80d7230] -> imap(io_loop_run+0x28) [0x80d63c8] -> imap(main+0x4a1) [0x8068321] -> /lib/libc.so.6(__libc_start_main+0xe0) [0x149390] -> imap [0x805a101]
Jul 25 02:22:07 linux dovecot: child 17931 (imap) killed with signal 6

The error cannot be reproduced with these messages. They can be
saved/copied now without problems back and forth. I've tried to
send more mail and reproduce the problem, but no success. Works
perfectly fine.

Dovecot 1.1.2 is running on Fedora 8 Linux 32 Bit with all patches
and custom OpenSSL 0.9.8h.

[ output of "dovecot -n" ]
# 1.1.2: /usr/local/dovecot/etc/dovecot.conf
ssl_cert_file: /usr/local/dovecot/etc/dovecot.crt
ssl_key_file: /usr/local/dovecot/etc/dovecot.key
login_dir: /usr/local/dovecot/var/run/dovecot/login
login_executable: /usr/local/dovecot/libexec/dovecot/imap-login
mail_location: mbox:~/Mail:INBOX=/var/spool/mail/%u
auth default:
  mechanisms: plain login digest-md5 cram-md5
  passdb:
    driver: passwd-file
    args: /usr/local/dovecot/etc/dovecot.passwd
  userdb:
    driver: passwd-file
    args: /usr/local/dovecot/etc/dovecot.passwd

The problem was reported by a user who continued to work with
his mail folders. I was only a few seconds too late to grab a
copy of the INBOX and index files.

	Greetings, Andreas


More information about the dovecot mailing list