When attempting to save a message from the INBOX to a folder in a collection (like, .projects.dovecot), I get behavior like this (in GDB). Any clue what might be going wrong? Here's where a SIGABRT happens: 280 return array->buffer->used / array->element_size; This is the stack trace: (gdb) where #0 mail_index_map_get_ext_idx (map=0x1200c0db0, ext_id=0, idx_r=0x11ffe828) at ../../src/lib/array.h:280 #1 0x120058dcc in _view_lookup_ext_full (view=0x1200c0db0, seq=0, ext_id=0, map_r=0x11ffe898, data_r=0x11ffe8a0) at mail-index-view.c:395 #2 0x120059468 in mail_index_lookup_ext_full (view=0x1301100d4, seq=0, ext_id=301983784, map_r=0x1300e2078, data_r=0x1200c4f14) at mail-index-view.c:561 #3 0x12005912c in mail_index_lookup_keywords (view=0x1200c4e00, seq=0, keyword_idx=0x11ffe8f8) at mail-index-view.c:475 #4 0x12003e880 in index_mail_get_keywords (_mail=0x1200c0db0) at index-mail.c:184 #5 0x120063238 in mail_get_keywords (mail=0x1301100d4) at mail.c:39 #6 0x120063550 in mail_storage_copy (t=0x1200c2880, mail=0x1200e7020, dest_mail=0x0) at mail-copy.c:22 #7 0x12002a90c in maildir_copy (_t=0x1200c2880, mail=0x1200e7020, dest_mail=0x0) at maildir-copy.c:155 #8 0x120064dac in mailbox_copy (t=0x1301100d4, mail=0x0, dest_mail=0x11ffe828) at mail-storage.c:456 #9 0x120011b78 in fetch_and_copy (t=0x1200c2880, srcbox=0x0, search_args=0x1200e7020) at cmd-copy.c:28 #10 0x120011d98 in cmd_copy (cmd=0x1200c0268) at cmd-copy.c:88 #11 0x120017598 in client_handle_input (cmd=0x1200c0268) at client.c:334 #12 0x120017748 in _client_input (context=0x1200c0db0) at client.c:383 #13 0x12007e670 in io_loop_handler_run (ioloop=0x1200c2000) at ioloop-poll.c:184 #14 0x12007dd5c in io_loop_run (ioloop=0x1200c2000) at ioloop.c:218 #15 0x120022b10 in main (argc=537660848, argv=0x11ffeb10, envp=0x11ffeb20) at main.c:228 And, stepping from this position results in the bomb: (gdb) s Program received signal SIGABRT, Aborted. 0x130247908 in kill () from /lib/libc.so.5 I'm not too familiar with the source code, so figuring out exactly what this is up to would be a major chore. I'm hoping someone can give me a little clue as to what direction I should take to fix this problem. Thanks! Doug
On Tue, 2005-06-07 at 20:52 -0700, Doug Luce wrote:> When attempting to save a message from the INBOX to a folder in a > collection (like, .projects.dovecot), I get behavior like this (in > GDB). Any clue what might be going wrong? > > > Here's where a SIGABRT happens: > > 280 return array->buffer->used / array->element_size; > > This is the stack trace: > > (gdb) where > #0 mail_index_map_get_ext_idx (map=0x1200c0db0, ext_id=0, idx_r=0x11ffe828) > at ../../src/lib/array.h:280 > #1 0x120058dcc in _view_lookup_ext_full (view=0x1200c0db0, seq=0, ext_id=0, > map_r=0x11ffe898, data_r=0x11ffe8a0) at mail-index-view.c:395I can't really see how this could happen.. You can reproduce this every time? Does it matter what the source or destination mailboxes are? Could you show output of these commands in gdb: p *map p *map.ext_id_map p *map.ext_id_map.buffer> (gdb) s > > Program received signal SIGABRT, Aborted. > 0x130247908 in kill () from /lib/libc.so.5SIGABRT? I was expecting SIGSEGV. Does it write something to log? Is the backtrace different after the SIGABRT? -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: <http://dovecot.org/pipermail/dovecot/attachments/20050608/63f358cc/attachment-0001.bin>
> I can't really see how this could happen.. You can reproduce this every > time? Does it matter what the source or destination mailboxes are?I can reproduce it every time I save a message to any folder collection subfolder. I haven't tried yet to a non-subfolder collection.> Could you show output of these commands in gdb:(gdb) p *map $1 = {refcount = 537733560, hdr = {major_version = 4 '\004', minor_version = 0 '\0', base_header_size = 0, header_size = 0, record_size = 806526976, compat_data = "\001\0\0", indexid 191112, flags = 0, uid_validity = 191112, next_uid = 0, messages_count 0, recent_messages_count = 0, seen_messages_count = 537585472, deleted_messages_count = 1, first_recent_uid_lowwater = 0, first_unseen_uid_lowwater = 0, first_deleted_uid_lowwater = 0, log_file_seq = 0, log_file_int_offset = 0, log_file_ext_offset 0, sync_size = 4832625920, sync_stamp = 537668480, day_stamp = 1, day_first_uid = {537667072, 1, 537667072, 1, 0, 0, 0, 0}}, hdr_base = 0x0, records = 0x3c, records_count = 60, extension_pool = 0x0, extensions = { buffer = 0x0, element_size = 0}, ext_id_map = {buffer 0x120091ab8, element_size = 60}, mmap_base = 0x3c, mmap_size = 0, mmap_used_size = 0, buffer = 0x0, hdr_copy_buf = 0x3e2a, keyword_idx_map = { buffer = 0x1200c5620, element_size = 4832646784}, write_to_disk 0} (gdb) p *map.ext_id_map Structure has no component named operator*. (gdb) p *map.ext_id_map.buffer $2 = {data = 0x6b636f6c77656e2e, used = 7162254444802766080}>> Program received signal SIGABRT, Aborted. >> 0x130247908 in kill () from /lib/libc.so.5 > > SIGABRT? I was expecting SIGSEGV. Does it write something to log? Is the > backtrace different after the SIGABRT?Here's from /var/log/messages: Jun 7 18:44:36 aurora dovecot: execv(libexec/dovecot/dovecot-auth) failed: No such file or directory Jun 7 18:44:36 aurora dovecot: execv(libexec/dovecot/imap-login) failed: No such file or directory You can find my source tree, including my config.h and dovecot.conf, at this address: http://aurora.aaronsen.com/dovecot/ Doug