[Dovecot] sig11 with 1.0.beta3 on openbsd-i386
i recently helped a friend of mine migrate from imap-uw using mboxes to dovecot on top of Maildirs and came up against two issues. this is quite embarrassing as ive been claiming dovecot is Solid As A Rock(tm) and hasn't ever given me any issues.
if dovecot runs out of file descriptors it will loop forever trying to open new logging pipes. the code in question is at line 624 of src/master/login-process.c
we get a sig11 in the imap process. heres the bt:
dlg@mail dlg$ gdb -c imap.core /usr/local/libexec/dovecot/imap 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.9"... Core was generated by `imap'. Program terminated with signal 11, Segmentation fault. Reading symbols from /usr/local/lib/libiconv.so.4.0...done. Loaded symbols for /usr/local/lib/libiconv.so.4.0 Reading symbols from /usr/lib/libc.so.39.0...done. Loaded symbols for /usr/lib/libc.so.39.0 Reading symbols from /usr/libexec/ld.so...done. Loaded symbols for /usr/libexec/ld.so #0 0x1c04895a in mail_transaction_log_view_set (view=0x7f0b8300, min_file_seq=2, min_file_offset=208, max_file_seq=2, max_file_offset=208, type_mask=MAIL_TRANSACTION_APPEND) at mail-transaction-log-view.c:107 107 if (min_file_seq == view->log->tail->hdr.prev_file_seq && (gdb) bt #0 0x1c04895a in mail_transaction_log_view_set (view=0x7f0b8300, min_file_seq=2, min_file_offset=208, max_file_seq=2, max_file_offset=208, type_mask=MAIL_TRANSACTION_APPEND) at mail-transaction-log-view.c:107 #1 0x1c044e91 in view_sync_set_log_view_range (view=0x7efaa800, type_mask=65532) at mail-index-view-sync.c:102 #2 0x1c045109 in mail_index_view_sync_begin (view=0x7efaa800, sync_mask=252, ctx_r=0x2) at mail-index-view-sync.c:216 #3 0x1c037e58 in index_mailbox_sync_init (box=0x82cf2840, flags=28, failed=8) at index-sync.c:151 #4 0x1c01bbb4 in maildir_storage_sync_init (box=0x82cf2840, flags=28) at maildir-sync.c:1343 #5 0x1c04c270 in mailbox_sync_init (box=0x2, flags=28) at mail-storage.c:375 #6 0x1c0167fa in imap_sync_init (client=0x7f0b8000, box=0x82cf2840, imap_flags=2, flags=28) at imap-sync.c:46 #7 0x1c016c80 in cmd_sync (cmd=0x7f0b8044, flags=28, imap_flags=0, tagline=0x3c0005cf "OK Search completed.") at imap-sync.c:231 #8 0x1c00ff9f in cmd_search (cmd=0x7f0b8044) at cmd-search.c:99 #9 0x1c010fb5 in cmd_uid (cmd=0x7f0b8044) at cmd-uid.c:19 #10 0x1c01186b in client_handle_input (cmd=0x7f0b8044) at client.c:364 #11 0x1c01199a in _client_input (context=0x7f0b8000) at client.c:415 #12 0x1c05d0a4 in io_loop_handler_run (ioloop=0x848ed220) at ioloop-kqueue.c:200 #13 0x1c05c701 in io_loop_run (ioloop=0x80e6a000) at ioloop.c:246 #14 0x1c0184f3 in main (argc=1, argv=0xcfbd5554, envp=0xcfbd555c) at main.c:238 (gdb) x view->log->tail->hdr.prev_file_seq Cannot access memory at address 0x7f0bca (gdb) x view->log->tail->hdr Cannot access memory at address 0x7f0bbe (gdb) x view->log->tail 0x7f0b82: Cannot access memory at address 0x7f0b82 (gdb) x view->log 0x7f0b8181: 0x007efaa2
in both cases the problem was triggered with Apple Mail 2 as the client. the user has maybe a dozen mailboxes, the largest of which is aoubt 10k messages.
if you need any more detail, please dont hesitate to ask. i would like this to work so i dont have to keep apologising.
dlg
participants (1)
-
David Gwynne