[Dovecot] v1.1.beta11 deliver crashes when quota exceeded
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@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
participants (1)
-
arvids