Core dumps when opening an IMAP folder (Was: Re: [Dovecot] 1.0-test70)

Tero Ripattila tero at ripattila.com
Thu May 26 21:28:08 EEST 2005


Hello Timo, I can reproduce this issue even with mmap_disable and 
mmap_no_write set to yes, please see the following back trace:

$ gdb /usr/local/libexec/dovecot/imap /tmp/imap.core
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and 
you are welcome to change it and/or distribute copies of it under 
certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for 
details.
This GDB was configured as "i386-unknown-openbsd3.6"...
Core was generated by `imap'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/lib/libc.so.34.2...done.
Loaded symbols for /usr/lib/libc.so.34.2
Reading symbols from /usr/libexec/ld.so...done.
Loaded symbols for /usr/libexec/ld.so
#0  0x1c03d7f2 in mail_transaction_log_view_set (view=0x3c020500, 
min_file_seq=8, min_file_offset=7148, max_file_seq=8,
    max_file_offset=7148, type_mask=8) at 
mail-transaction-log-view.c:102
102             if (min_file_seq == view->log->tail->hdr.prev_file_seq 
&&
(gdb)
#0  0x1c03d7f2 in mail_transaction_log_view_set (view=0x3c020500, 
min_file_seq=8, min_file_offset=7148, max_file_seq=8,
    max_file_offset=7148, type_mask=8) at 
mail-transaction-log-view.c:102
        file = (struct mail_transaction_log_file *) 0x2b1dbec8
        first = (struct mail_transaction_log_file *) 0xb21b372
        seq = 0
        end_offset = 4324021345303134216
        ret = 3932679
#1  0x1c03a17a in view_sync_get_expunges (view=0x3c01f700, 
expunges_r=0xcfbf97d0) at mail-index-view-sync.c:105
        hdr = (const struct mail_transaction_header *) 0xe4e1c00
        src = (struct mail_transaction_expunge *) 0xff
        src_end = (struct mail_transaction_expunge *) 0x3c011020
        dest = (struct mail_transaction_expunge *) 0x0
        data = (const void *) 0x23ee00
        count = 1117130127
        ret = 8
#2  0x1c03a366 in mail_index_view_sync_begin (view=0x3c01f700, 
sync_mask=255, ctx_r=0x8) at mail-index-view-sync.c:176
        hdr = (const struct mail_index_header *) 0x3c01f804
        ctx = (struct mail_index_view_sync_ctx *) 0x1c039b4d
        map = (struct mail_index_map *) 0xff
        mask = 8
        want_mask = 0
        expunges = {buffer = 0x0, element_size = 0}
#3  0x1c02d6cd in index_mailbox_sync_init (box=0x3c01e840, flags=0, 
failed=0) at index-sync.c:150
        ctx = (struct index_mailbox_sync_context *) 0x3c011020
        sync_mask = 1006764673
#4  0x1c019b25 in maildir_storage_sync_init (box=0x3c01e840, 
flags=MAILBOX_SYNC_FLAG_FAST) at maildir-sync.c:991
        ctx = (struct maildir_sync_context *) 0x3c0139b0
        ret = 0
#5  0x1c040fc4 in mailbox_sync_init (box=0x8, 
flags=MAILBOX_SYNC_FLAG_FAST) at mail-storage.c:333
No locals.
#6  0x1c015150 in imap_sync_init (client=0x3c020000, box=0x3c01e840, 
flags=MAILBOX_SYNC_FLAG_FAST) at imap-sync.c:43
        ctx = (struct imap_sync_context *) 0x3c01d1c0
#7  0x1c01554f in cmd_sync (cmd=0x3c020040, 
flags=MAILBOX_SYNC_FLAG_FAST, tagline=0x3c00056f "OK Search 
completed.") at imap-sync.c:210
        ctx = (struct cmd_sync_context *) 0x3c0230a0
#8  0x1c00eb66 in cmd_search (cmd=0x3c020040) at cmd-search.c:102
        client = (struct client *) 0x3c020000
        sargs = (struct mail_search_arg *) 0x8
        args = (struct imap_arg *) 0x3c021048
        args_count = 8
        error = 0x0
        charset = 0x0
#9  0x1c00fa7d in cmd_uid (cmd=0x3c020040) at cmd-uid.c:19
        cmd_name = 0x3c0210f8 "SEARCH"
#10 0x1c01023b in client_handle_input (cmd=0x3c020040) at client.c:334
        client = (struct client *) 0x3c020000
#11 0x1c010369 in _client_input (context=0x3c020000) at client.c:383
        client = (struct client *) 0x3c020000
        cmd = (struct client_command_context *) 0x3c020040
#12 0x1c050a68 in io_loop_handler_run (ioloop=0x3c01d000) at 
ioloop-poll.c:184
        data = (struct ioloop_handler_data *) 0x3c0110a0
        pollfd = (struct pollfd *) 0x3c01e000
        tv = {tv_sec = 7, tv_usec = 9219}
        io = (struct io *) 0x3c0111c0
        t_id = 2
        msecs = 8
        ret = 0
        call = 1
#13 0x1c050505 in io_loop_run (ioloop=0x3c01d000) at ioloop.c:218
No locals.
#14 0x1c016d37 in main (argc=3, argv=0xcfbf9a3c, envp=0xcfbf9a4c) at 
main.c:228
No locals.
(gdb)

Any suggestions how to fix these ongoing problems?

Thanks, Tero

-- 
Tero Ripattila



More information about the dovecot mailing list