On Fri, 20 Nov 2009 13:53:18 -0500 Timo Sirainen <t...@iki.fi> wrote:
> On Fri, 2009-11-20 at 10:23 +0200, Nikita Koshikov wrote: > > Nov 20 10:16:00 IMAP(al...@domain.com): Panic: file > > mail-transaction-log-append.c: line 31 (log_append_buffer): assertion > > failed: ((type & MAIL_TRANSACTION_) > > Oh, missed that one: http://hg.dovecot.org/dovecot-1.2/rev/fa8a438c64ce > With above patch applied, I got this one crash: Nov 23 09:42:59 IMAP(al...@domain.com): Panic: file mail-index-sync-ext.c: line 625 (mail_index_sync_ext_hdr_update): assertion failed: (ext->hdr_offset + offset + size <= map->hdr.header_size) Nov 23 09:42:59 IMAP(al...@domain.com): Error: Raw backtrace: imap [0x80d2521] -> imap [0x80d2592] -> imap [0x80d1ef9] -> imap [0x80c06ef] -> imap(mail_index_sync_record+0x210) [0x80af010] -> imap(mail_index_sync_map+0x2b9) [0x80afd39] -> imap(mail_index_map+0x3c4) [0x80a4f34] -> imap(mail_index_sync_commit+0xc2) [0x80ad552] -> /usr/lib/dovecot/imap/lib20_virtual_plugin.so [0xb7deebc6] -> /usr/lib/dovecot/imap/lib20_virtual_plugin.so(virtual_storage_sync_init+0x71c) [0xb7df16ac] -> imap(mailbox_sync+0x35) [0x80975a5] -> imap(cmd_select_full+0x3d8) [0x8062fe8] -> imap(cmd_select+0x19) [0x8063729] -> imap [0x80659ac] -> imap [0x8065a53] -> imap(client_handle_input+0x2d) [0x8065bad] -> imap(client_input+0x5f) [0x80664ef] -> imap(io_loop_handler_run+0xe0) [0x80da680] -> imap(io_loop_run+0x20) [0x80d9b20] -> imap(main+0x5dc) [0x806ee7c] -> /lib/libc.so.6(__libc_start_main+0xe5) [0xb7e3c725] -> imap [0x805e2b1] Nov 23 09:43:00 dovecot: Error: child 19671 (imap) killed with signal 6 (core dumped) Gdb trace in attachment.
GNU gdb 6.8 Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i686-pc-linux-gnu"... warning: Can't read pathname for load map: Input/output error. Reading symbols from /lib/libdl.so.2...done. Loaded symbols for /lib/libdl.so.2 Reading symbols from /lib/librt.so.1...done. Loaded symbols for /lib/librt.so.1 Reading symbols from /lib/libc.so.6...done. Loaded symbols for /lib/libc.so.6 Reading symbols from /lib/ld-linux.so.2...done. Loaded symbols for /lib/ld-linux.so.2 Reading symbols from /lib/libpthread.so.0...done. Loaded symbols for /lib/libpthread.so.0 Reading symbols from /usr/lib/dovecot/imap/lib10_quota_plugin.so...done. Loaded symbols for /usr/lib/dovecot/imap/lib10_quota_plugin.so Reading symbols from /usr/lib/dovecot/imap/lib11_imap_quota_plugin.so...done. Loaded symbols for /usr/lib/dovecot/imap/lib11_imap_quota_plugin.so Reading symbols from /usr/lib/dovecot/imap/lib11_trash_plugin.so...done. Loaded symbols for /usr/lib/dovecot/imap/lib11_trash_plugin.so Reading symbols from /usr/lib/dovecot/imap/lib20_autocreate_plugin.so...done. Loaded symbols for /usr/lib/dovecot/imap/lib20_autocreate_plugin.so Reading symbols from /usr/lib/dovecot/imap/lib20_expire_plugin.so...done. Loaded symbols for /usr/lib/dovecot/imap/lib20_expire_plugin.so Reading symbols from /usr/lib/dovecot/imap/lib20_virtual_plugin.so...done. Loaded symbols for /usr/lib/dovecot/imap/lib20_virtual_plugin.so Reading symbols from /usr/lib/dovecot/imap/lib20_zlib_plugin.so...done. Loaded symbols for /usr/lib/dovecot/imap/lib20_zlib_plugin.so Reading symbols from /lib/libz.so.1...done. Loaded symbols for /lib/libz.so.1 Reading symbols from /lib/libbz2.so.1...done. Loaded symbols for /lib/libbz2.so.1 Reading symbols from /usr/lib/gcc/i686-pc-linux-gnu/4.3.4/libgcc_s.so.1...done. Loaded symbols for /usr/lib/gcc/i686-pc-linux-gnu/4.3.4/libgcc_s.so.1 Core was generated by `imap'. Program terminated with signal 6, Aborted. [New process 19671] #0 0xffffe424 in __kernel_vsyscall () (gdb) bt full #0 0xffffe424 in __kernel_vsyscall () No symbol table info available. #1 0xb7e50660 in raise () from /lib/libc.so.6 No symbol table info available. #2 0xb7e51e98 in abort () from /lib/libc.so.6 No symbol table info available. #3 0x080d2535 in default_fatal_finish (type=<value optimized out>, status=0) at failures.c:160 backtrace = 0xb7d72a48 "imap [0x80d2521] -> imap [0x80d2592] -> imap [0x80d1ef9] -> imap [0x80c06ef] -> imap(mail_index_sync_record+0x210) [0x80af01. #4 0x080d2592 in i_internal_fatal_handler (type=LOG_TYPE_PANIC, status=0, fmt=0x80ea1cc "file %s: line %d (%s): assertion failed: (%s)", args=0xbfd9ac24 "4x\017\bq\002") at failures.c:443 No locals. #5 0x080d1ef9 in i_panic (format=0x80ea1cc "file %s: line %d (%s): assertion failed: (%s)") at failures.c:207 No locals. #6 0x080c06ef in mail_index_sync_ext_hdr_update (ctx=0xbfd9ad2c, offset=2151153664, size=1, data=0xbb71f5c) at mail-index-sync-ext.c:625 map = (struct mail_index_map *) 0xa9e62b0 ext = (const struct mail_index_ext *) 0xb206000 __PRETTY_FUNCTION__ = "mail_index_sync_ext_hdr_update" #7 0x080af010 in mail_index_sync_record (ctx=0xbfd9ad2c, hdr=0x9b13c58, data=0xbb71f54) at mail-index-sync-update.c:655 rec = (const struct mail_transaction_ext_hdr_update32 *) 0xbb71f54 i = 0 ret = <value optimized out> #8 0x080afd39 in mail_index_sync_map (_map=0x8123dfc, type=MAIL_INDEX_SYNC_HANDLER_FILE, force=false) at mail-index-sync-update.c:945 _data_stack_cur_id = 4 map = <value optimized out> index = (struct mail_index *) 0x8123dc0 view = (struct mail_index_view *) 0xbb2b730 sync_map_ctx = {view = 0xbb2b730, modseq_ctx = 0xa98f640, cur_ext_map_idx = 0, ext_intro_seq = 1, ext_intro_offset = 40, ext_intro_end_offset = 76, expunge_handlers = {arr = {buffer = 0x0, element_size = 0}, v = 0x0, v_modifiable = 0x0}, extra_contexts = {arr = {buffer = 0xbb293b8, element_size = 4}, v = 0xbb293b8, v_modifiable = 0xbb293b8}, unknown_extensions = 0x0, type = MAIL_INDEX_SYNC_HANDLER_FILE, sync_handlers_initialized = 0, expunge_handlers_set = 0, expunge_handlers_used = 0, cur_ext_ignore = 0, internal_update = 0, errors = 0} thdr = (const struct mail_transaction_header *) 0x9b13c58 tdata = (const void *) 0xbb71f54 prev_seq = 1 start_offset = <value optimized out> prev_offset = 76 ret = 1 had_dirty = false reset = true __PRETTY_FUNCTION__ = "mail_index_sync_map" #9 0x080a4f34 in mail_index_map (index=0x8123dc0, type=MAIL_INDEX_SYNC_HANDLER_FILE) at mail-index-map.c:934 ret = <value optimized out> __PRETTY_FUNCTION__ = "mail_index_map" #10 0x080ad552 in mail_index_sync_commit (_ctx=0xb20542c) at mail-index-sync.c:771 ctx = (struct mail_index_sync_ctx *) 0xb205460 index = (struct mail_index *) 0x8123dc0 ---Type <return> to continue, or q <return> to quit--- seq = 1 next_uid = 1 offset = 34396 want_rotate = <value optimized out> ret = <value optimized out> #11 0xb7deebc6 in virtual_sync_finish (ctx=0xb205428, success=true) at virtual-sync.c:1419 ret = 0 #12 0xb7df16ac in virtual_storage_sync_init (box=0x81267b8, flags=65) at virtual-sync.c:1484 sync_ctx = <value optimized out> ret = <value optimized out> #13 0x080975a5 in mailbox_sync (box=0x81267b8, flags=65, status_items=239, status_r=0xbfd9b108) at mail-storage.c:593 ctx = <value optimized out> #14 0x08062fe8 in cmd_select_full (cmd=0x8116e00, readonly=false) at cmd-select.c:273 client = (struct client *) 0x8116b70 box = (struct mailbox *) 0xbfd9b178 ctx = (struct imap_select_context *) 0x8116e98 args = (const struct imap_arg *) 0x8119680 mailbox = 0x8109338 "all" ret = <value optimized out> __PRETTY_FUNCTION__ = "cmd_select_full" #15 0x08063729 in cmd_select (cmd=0x8116e00) at cmd-select.c:389 No locals. #16 0x080659ac in client_command_input (cmd=0x8116e00) at client.c:612 client = (struct client *) 0x8116b70 command = <value optimized out> __PRETTY_FUNCTION__ = "client_command_input" #17 0x08065a53 in client_command_input (cmd=0x8116e00) at client.c:661 client = (struct client *) 0x8116b70 command = <value optimized out> __PRETTY_FUNCTION__ = "client_command_input" #18 0x08065bad in client_handle_input (client=0x8116b70) at client.c:702 _data_stack_cur_id = 3 ret = false remove_io = <value optimized out> handled_commands = false __PRETTY_FUNCTION__ = "client_handle_input" #19 0x080664ef in client_input (client=0x8116b70) at client.c:753 cmd = <value optimized out> output = (struct ostream *) 0x8116d24 bytes = <value optimized out> __PRETTY_FUNCTION__ = "client_input" #20 0x080da680 in io_loop_handler_run (ioloop=0x81119b0) at ioloop-epoll.c:208 ctx = (struct ioloop_handler_context *) 0x8111ab8 event = (const struct epoll_event *) 0x8111af8 list = (struct io_list *) 0x8116da8 io = (struct io_file *) 0x8116d80 ---Type <return> to continue, or q <return> to quit--- tv = {tv_sec = 4, tv_usec = 994390} t_id = 2 msecs = <value optimized out> ret = 1 i = 0 j = 0 call = <value optimized out> #21 0x080d9b20 in io_loop_run (ioloop=0x81119b0) at ioloop.c:335 No locals. #22 0x0806ee7c in main (argc=Cannot access memory at address 0x4cd7 ) at main.c:327 No locals.