[Dovecot] v1.1.beta11 deliver crashes when quota exceeded

arvids arvids at mpe.lv
Sat Dec 15 21:11:40 EET 2007


Hello,

v1.1.beta11 deliver crashes when quota exceeded. This also reveals another 
problem in v1.1.beta11 - imap process does not follow quota settings - this 
user copied(with imap client) to his imap folder large volume of emails  and 
these emails significantly exceeded quota settings for this user, but imap 
process did not complain about it.

Here is full backtrace of deliver crash:

(gdb) bt full
#0  0xb7e5dc87 in raise () from /lib/libc.so.6
No symbol table info available.
#1  0xb7e5f4f8 in abort () from /lib/libc.so.6
No symbol table info available.
#2  0x080ba998 in i_syslog_fatal_handler (type=LOG_TYPE_PANIC, status=0, 
fmt=0x80ce1c8 "file %s: line %d (%s): assertion failed: (%s)",
    args=0xbf9e0674 "4W\r\b6") at failures.c:303
        backtrace = 
0x80e7d20 "/usr/local/dovecot/libexec/dovecot/deliver(i_syslog_fatal_handler+0x2c) 
[0x80ba98c] -> /usr/local/dovecot/libexec/dovecot/deliver 
[0x80ba78b] -> /usr/local/dovecot/libexec/dovecot/deliver [0x808c914] "...
#3  0x080ba78b in i_panic (format=0x80ce1c8 "file %s: line %d (%s): assertion 
failed: (%s)") at failures.c:196
        args = 0xbf9e0674 "4W\r\b6"
#4  0x0808c914 in index_transaction_finish_rollback (t=0x810e210) at 
index-transaction.c:54
        __PRETTY_FUNCTION__ = "index_transaction_finish_rollback"
#5  0x0808c758 in index_transaction_rollback (_t=0x810e210) at 
index-transaction.c:114
        itrans = (struct mail_index_transaction *) 0x0
#6  0xb7e2fcf4 in quota_mailbox_transaction_rollback (ctx=0x810e210) at 
quota-storage.c:113
        qt = (struct quota_transaction_context *) 0x810e8c0
#7  0x0805990b in deliver_save (namespaces=0x80f2280, storage_r=0xbf9e0828, 
mailbox=0x80d8a58 "INBOX", mail=0x80f9c38, flags=0, keywords=0x0)
    at deliver.c:216
        box = (struct mailbox *) 0x80fe048
        t = (struct mailbox_transaction_context *) 0x0
        kw = (struct mail_keywords *) 0x0
        error = 134759821
        mailbox_name = 0x80e7af0 "INBOX"
        ret = <value optimized out>
#8  0x0805ac0d in main (argc=Cannot access memory at address 0x58ac
) at deliver.c:954
        error_string = <value optimized out>
        error = <value optimized out>
        ret = <value optimized out>
        config_path = 0x80cdb08 "/usr/local/dovecot/etc/dovecot.conf"
        envelope_sender = 0x80e7030 "arvids at mpe.lv"
        mailbox = 0x80d8a58 "INBOX"
        auth_socket = <value optimized out>
        home = <value optimized out>
        destaddr = 0xbf9e1869 "tests1"
        user = 0xbf9e1869 "tests1"
        error = <value optimized out>
        extra_fields = {arr = {buffer = 0x80e7070, element_size = 4}, v = 
0x80e7070, v_modifiable = 0x80e7070}
        ns = (struct mail_namespace *) 0x80f2280
        raw_ns = (struct mail_namespace *) 0x80f22a8
        storage = (struct mail_storage *) 0x80f2688
        box = (struct mailbox *) 0x80f4a98
        input = (struct istream *) 0x80f49b8
        t = (struct mailbox_transaction_context *) 0x80f8fc8
        headers_ctx = (struct mailbox_header_lookup_ctx *) 0x80f88b8
        mail = (struct mail *) 0x80f9c38
        process_euid = 95
        namespace_pool = <value optimized out>
        stderr_rejection = false
        keep_environment = false
        user_auth = true
        i = 63
        ret = <value optimized out>
(gdb)

Regards, Arvids


More information about the dovecot mailing list