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.

Reply via email to