On Wed, 18 Nov 2009 11:55:40 -0500 Timo Sirainen tss@iki.fi wrote:
On Wed, 2009-11-18 at 10:04 +0200, Nikita Koshikov wrote:
#10 0x080d03d2 in buffer_write (_buf=0xb7e1a670, pos=67100436, data=0xbb53ae0, data_size=32824) at buffer.c:63 No locals. #11 0x080d04f6 in buffer_append (buf=0xb7e1a670, data=0xbb53ae0, data_size=32824) at buffer.c:168 No locals. #12 0x080b54cc in mail_transaction_log_append (t=0xb205218, log_file_seq_r=0xbf8541f0, log_file_offset_r=0xbf8541e0) at mail-transaction-log-append.c:333
Interesting. If you still have the core and do:
fr 12 p *hdr p offset p hdrs[ext_id]
With old core(not sure if it's exactly the same):
(gdb) fr 12 #12 0x080b54cc in mail_transaction_log_append (t=0xb205218, log_file_seq_r=0xbf8541f0, log_file_offset_r=0xbf8541e0) at mail-transaction-log-append.c:333 warning: Source file is more recent than executable. 333 } else { (gdb) p *hdr No symbol "hdr" in current context. (gdb) p offset No symbol "offset" in current context. (gdb) p hdrs[ext_id] No symbol "hdrs" in current context.
What does it print? Also could you try what it logs with the attached patch?
Here is logs, from new crash:
Nov 19 08:57:34 IMAP(alice@domain.com): Warning: header rewrite: size=32824 Nov 19 08:57:34 IMAP(alice@domain.com): Warning: mail_index_update_header_ext: ext_id=2 offset=0 size=32824 Nov 19 08:57:34 IMAP(alice@domain.com): Warning: log_append_ext_hdr_update: size=65536 Nov 19 08:57:35 IMAP(alice@domain.com): Panic: data stack: Out of memory when allocating 268435472 bytes Nov 19 08:57:35 IMAP(alice@agromat.ua): Error: Raw backtrace: imap [0x80d23e1] -> imap [0x80d2452] -> imap [0x80d1db9] -> imap [0x80d0b8d] -> imap [0x80d1007] -> imap [0x80db988] -> imap [0x80cff3a] -> imap(buffer_write+0xd2) [0x80d0432] -> imap(buffer_append+0x26) [0x80d0556] -> imap(mail_transaction_log_append+0x624) [0x80b5504] -> imap [0x80aa059] -> imap(mail_index_sync_commit+0xa5) [0x80ad555] -> /usr/lib/dovecot/imap/lib20_virtual_plugin.so [0xb7e6cc06] -> /usr/lib/dovecot/imap/lib20_virtual_plugin.so(virtual_storage_sync_init+0x71c) [0xb7e6f71c] -> imap(mailbox_sync+0x35) [0x8097595] -> imap(cmd_select_full+0x3d8) [0x8062fb8] -> imap(cmd_select+0x19) [0x80636f9] -> imap [0x806597c] -> imap [0x8065a23] -> imap(client_handle_input+0x2d) [0x8065b7d] -> imap(client_input+0x5f) [0x80664bf] -> imap(io_loop_handler_run+0xe0) [0x80da540] -> imap(io_loop_run+0x20) [0x80d99e0] -> imap(main+0x5dc) [0x806ee4c] -> /lib/libc.so.6(__libc_start_main+0xe5) [0xb7eba725] -> imap [0x805e281] Nov 19 08:57:36 dovecot: Error: child 16124 (imap) killed with signal 6 (core dumped)
From new core file: (gdb) fr 12 #12 0x080b5504 in mail_transaction_log_append (t=0xb205218, log_file_seq_r=0xbf9162b0, log_file_offset_r=0xbf9162a0) at mail-transaction-log-append.c:337 337 mail-transaction-log-append.c: No such file or directory. in mail-transaction-log-append.c (gdb) p *hdr No symbol "hdr" in current context. (gdb) p offset No symbol "offset" in current context. (gdb) p hdrs[ext_id] No symbol "hdrs" in current context.
And attached current gdb-trace.