[Dovecot] Crash and Assertion Error

Todd Burroughs todd at hostopia.com
Sat Jun 4 16:13:41 EEST 2005


I've attached two backtraces, one from a segfault and another from an
assertion error in imap.  I've seen a couple of the same assertion and
this is the only segfault.  It looks like they could be related.  They
both have to do with indexing anyway...

The code is from CVS as of May 30.

The segfault happened while imap was doing searches for my pine filters.

I've also noticed that in pine, if I expunge a lot of mail that is
spaced out through my mbox, it usually gets the headers mixed up.
What I mean is that I will open one email and get the body from another.
Just mentioning this in case it has some bearing.  I'll be trying some
things out to see if I can figure out why this happens.

Can't think of any more useful info, I need sleep.

Todd
-------------- next part --------------
From CVS version as of May 30, 2005

dovecot: Jun 04 06:47:29 Error:  4659 IMAP(todd.bluegenesis.com): Corrupted index cache file /mailhome/new/t/b/todd.bluegenesis.com/.imap/INBOX/dovecot.index.cache: Duplicated field in header: hdr.RESENT-TO
dovecot: Jun 04 06:49:36 Error: child 4659 (imap) killed with signal 11


(gdb) bt full
#0  0x08074d70 in index_mail_get_flags (_mail=0x80c9170) at index-mail.c:162
        data = (struct index_mail_data *) 0x80c91d4
#1  0x0808c98d in mail_get_flags (mail=0xb7dd3854) at mail.c:32
No locals.
#2  0x0805a6f5 in fetch_flags (ctx=0x80bee50, mail=0x80c9170, context=0x0)
    at imap-fetch.c:444
        flags = Variable "flags" is not available.


(gdb) bt
#0  0x08074d70 in index_mail_get_flags (_mail=0x80c9170) at index-mail.c:162
#1  0x0808c98d in mail_get_flags (mail=0xb7dd3854) at mail.c:32
#2  0x0805a6f5 in fetch_flags (ctx=0x80bee50, mail=0x80c9170, context=0x0)
    at imap-fetch.c:444
#3  0x0805ac2c in imap_fetch (ctx=0x80bee50) at imap-fetch.c:264
#4  0x080567bb in cmd_fetch (cmd=0x80bcb98) at cmd-fetch.c:165
#5  0x08059685 in _client_input (context=0x80bcb58) at client.c:334
#6  0x0809e64a in io_loop_handler_run (ioloop=0x80bb9b0) at ioloop-poll.c:184
#7  0x0809dd69 in io_loop_run (ioloop=0x80bb9b0) at ioloop.c:218
#8  0x08060587 in main (argc=1, argv=0xbffffa44, envp=0xbffffa4c) at main.c:228


(gdb) p *data
$2 = {flags = 0, date = 0, received_date = 1117844856, virtual_size = 2735, 
  physical_size = 2721, sent_date = {time = -1, timezone = 0}, parse_line = {
    field_idx = 4294967295, start_pos = 67, end_pos = 118, line_num = 29, 
    cache = 1}, parse_line_num = 53, parts = 0x80cb018, envelope = 0x0, 
  body = 0x0, bodystructure = 0x0, uid_string = 0x0, envelope_data = 0x0, 
  seq = 9276, rec = 0xb7dd3854, cache_flags = 0, stream = 0x80f53c4, 
  filter_stream = 0x0, hdr_size = {physical_size = 2347, virtual_size = 2347, 
    lines = 52}, body_size = {physical_size = 374, virtual_size = 388, 
    lines = 14}, parser_ctx = 0x0, parsing_count = 0, keywords = {
    buffer = 0x0, element_size = 0}, parse_header = 0, save_envelope = 0, 
  save_sent_date = 0, save_bodystructure_header = 0, 
  save_bodystructure_body = 0, parsed_bodystructure = 0, hdr_size_set = 1, 
  body_size_set = 1, open_mail = 0}
(gdb) p *data->rec
Cannot access memory at address 0xb7dd3854

-------------- next part --------------
From CVS version as of May 30, 2005


dovecot: Jun 01 08:46:10 Error:  15410 IMAP(support): Transaction log file /mailhome/new/m/2/support/.imap/INBOX/dovecot.index.log: marked corrupted
dovecot: Jun 01 08:46:10 Error:  15410 IMAP(support): Transaction log file /mailhome/new/m/2/support/.imap/INBOX/dovecot.index.log: marked corrupted
dovecot: Jun 01 08:47:10 Error:  15410 IMAP(support): file_dotlock_open() failed with file /mailhome/new/m/2/support/.imap/INBOX/dovecot.index.log: Resource temporarily unavailable
dovecot: Jun 01 08:47:10 Error:  15410 IMAP(support): Transaction log file /mailhome/new/m/2/support/.imap/INBOX/dovecot.index.log: marked corrupted
dovecot: Jun 01 08:47:11 Error:  15410 IMAP(support): file mail-index.c: line 939 (mail_index_map): assertion failed: (!index->mapping)
dovecot: Jun 01 08:47:19 Error: child 15410 (imap) killed with signal 6

(gdb) bt full
#0  0xffffe410 in ?? ()
No symbol table info available.
#1  0xbfffea88 in ?? ()
No symbol table info available.
#2  0x00000006 in ?? ()
No symbol table info available.
#3  0x00003c32 in ?? ()
No symbol table info available.
#4  0xb7ef1d41 in raise () from /lib/tls/libc.so.6
No symbol table info available.
#5  0xb7ef3529 in abort () from /lib/tls/libc.so.6
No symbol table info available.
#6  0x0809916a in i_internal_panic_handler (
    fmt=0x6 <Address 0x6 out of bounds>, 
    args=0x3c32 <Address 0x3c32 out of bounds>) at failures.c:374
No locals.
#7  0x08099584 in i_panic (
    format=0x80a5e0c "file %s: line %d (%s): assertion failed: (%s)")
    at failures.c:173
No locals.
#8  0x0807d97d in mail_index_map (index=0x80c2fc0, force=0) at mail-index.c:827
        map = (struct mail_index_map *) 0x17691cb
        ret = Variable "ret" is not available.


(gdb) bt
#0  0xffffe410 in ?? ()
#1  0xbfffea88 in ?? ()
#2  0x00000006 in ?? ()
#3  0x00003c32 in ?? ()
#4  0xb7ef1d41 in raise () from /lib/tls/libc.so.6
#5  0xb7ef3529 in abort () from /lib/tls/libc.so.6
#6  0x0809916a in i_internal_panic_handler (
    fmt=0x6 <Address 0x6 out of bounds>, 
    args=0x3c32 <Address 0x3c32 out of bounds>) at failures.c:374
#7  0x08099584 in i_panic (
    format=0x80a5e0c "file %s: line %d (%s): assertion failed: (%s)")
    at failures.c:173
#8  0x0807d97d in mail_index_map (index=0x80c2fc0, force=0) at mail-index.c:827
#9  0x08086b53 in mail_transaction_log_init_hdr (log=0x80c4758, hdr=0xbfffee00)
    at mail-transaction-log.c:414
#10 0x08086f34 in mail_transaction_log_file_create (log=0x80c4758, 
    path=0x80b33e0 "/mailhome/new/m/2/support/.imap/INBOX/dovecot.index.log", dev=Unhandled dwarf expression opcode 0x93
) at mail-transaction-log.c:472
#11 0x0808764d in mail_transaction_log_file_fd_open_or_create (log=0x80c4758, 
    path=0x80b33e0 "/mailhome/new/m/2/support/.imap/INBOX/dovecot.index.log", fd=Variable "fd" is not available.
) at mail-transaction-log.c:636
#12 0x0808786b in mail_transaction_log_refresh (log=0x80c4758)
    at mail-transaction-log.c:806
#13 0x08087d77 in mail_transaction_log_file_find (log=0x80c4758, file_seq=3, 
    file_r=0xbffff064) at mail-transaction-log.c:831
#14 0x08089f13 in mail_transaction_log_view_set (view=0x80c5590, 
    min_file_seq=3, min_file_offset=Unhandled dwarf expression opcode 0x93
) at mail-transaction-log-view.c:116
#15 0x0807d89a in mail_index_map (index=0x80c2fc0, force=0) at mail-index.c:802
#16 0x08086b53 in mail_transaction_log_init_hdr (log=0x80c4758, hdr=0xbffff290)
    at mail-transaction-log.c:414
#17 0x08086f34 in mail_transaction_log_file_create (log=0x80c4758, 
    path=0x80b3058 "/mailhome/new/m/2/support/.imap/INBOX/dovecot.index.log", dev=Unhandled dwarf expression opcode 0x93
) at mail-transaction-log.c:472
#18 0x0808764d in mail_transaction_log_file_fd_open_or_create (log=0x80c4758, 
    path=0x80b3058 "/mailhome/new/m/2/support/.imap/INBOX/dovecot.index.log", fd=Variable "fd" is not available.
) at mail-transaction-log.c:636
#19 0x0808786b in mail_transaction_log_refresh (log=0x80c4758)
    at mail-transaction-log.c:806
#20 0x0808799c in mail_transaction_log_lock_head (log=0x80c4758)
    at mail-transaction-log.c:1157
#21 0x080887dc in mail_transaction_log_sync_lock (log=0x80c4758, 
    file_seq_r=0x0, file_offset_r=0x0) at mail-transaction-log.c:1185
#22 0x08082c03 in mail_index_sync_begin (index=0x80c2fc0, ctx_r=0x0, 
    view_r=0x0, log_file_seq=4294967295, log_file_offset=Unhandled dwarf expression opcode 0x93
)
    at mail-index-sync.c:320
#23 0x0806e8c3 in mbox_sync (mbox=0x80c3bc8, flags=Variable "flags" is not available.
) at mbox-sync.c:1520
#24 0x0806a932 in mbox_mail_seek (mail=0x80c4230) at mbox-mail.c:31
#25 0x0806aaaa in mbox_mail_get_stream (_mail=0x80c4230, hdr_size=0x0, 
    body_size=0x0) at mbox-mail.c:151
#26 0x0808ca75 in mail_get_stream (mail=0x0, hdr_size=0x0, body_size=0x0)
    at mail.c:106
#27 0x08075eff in index_mail_get_header_stream (_mail=0x80c4230, 
    _headers=0x80c91b8) at index-mail-headers.c:606
#28 0x0808ca51 in mail_get_header_stream (mail=0x0, headers=0x80c91b8)
    at mail.c:97
#29 0x0807523d in index_mail_headers_get_envelope (mail=0x80c4230)
    at index-mail-headers.c:362
#30 0x08074720 in index_mail_get_special (_mail=0x80c4230, 
    field=MAIL_FETCH_IMAP_ENVELOPE) at index-mail.c:617
#31 0x0808ca91 in mail_get_special (mail=0x0, field=MAIL_FETCH_IMAP_ENVELOPE)
    at mail.c:113
#32 0x0805a798 in fetch_envelope (ctx=0x80bee08, mail=0x80c4230, context=0x0)
    at imap-fetch.c:411
#33 0x0805ac2c in imap_fetch (ctx=0x80bee08) at imap-fetch.c:264
#34 0x080567bb in cmd_fetch (cmd=0x80bcb98) at cmd-fetch.c:165
#35 0x08058e8e in cmd_uid (cmd=0x80bcb98) at cmd-uid.c:19
#36 0x08059685 in _client_input (context=0x80bcb58) at client.c:334
#37 0x0809e64a in io_loop_handler_run (ioloop=0x80bb9b0) at ioloop-poll.c:184
#38 0x0809dd69 in io_loop_run (ioloop=0x80bb9b0) at ioloop.c:218
#39 0x08060587 in main (argc=1, argv=0xbffffa04, envp=0xbffffa0c) at main.c:228




More information about the dovecot mailing list