[Dovecot] Segfaul probably during dsync
Hi,
I get core dumps, probably during dsync:
Core was generated by `dovecot/imap postlogin'. Program terminated with signal 6, Aborted. [New process 7727] #0 0x00002ba911c04ed5 in raise () from /lib/libc.so.6 #0 0x00002ba911c04ed5 in raise () from /lib/libc.so.6 No symbol table info available. #1 0x00002ba911c063f3 in abort () from /lib/libc.so.6 No symbol table info available. #2 0x00002ba91157d775 in default_fatal_finish (type=<value optimized out>, status=0) at failures.c:187 backtrace = 0xcebd838 "/usr/local/lib/dovecot/libdovecot.so.0 [0x2ba91157d762] -> /usr/local/lib/dovecot/libdovecot.so.0 [0x2ba91157d7c6] -> /usr/local/lib/dovecot/libdovecot.so.0(i_error+0) [0x2ba91157dbb8] -> /usr/local/l"... #3 0x00002ba91157d7c6 in i_internal_fatal_handler (ctx=0x7fffadba32a0, format=<value optimized out>, args=<value optimized out>) at failures.c:645 status = 0 #4 0x00002ba91157dbb8 in i_panic (format=<value optimized out>) at failures.c:259 ctx = {type = LOG_TYPE_PANIC, exit_status = 0, timestamp = 0x0} args = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 0x7fffadba3370, reg_save_area = 0x7fffadba32b0}} #5 0x00002ba9112b4018 in index_search_result_update_flags (result=0xdebe3e0, uids=0x7fffadba3640) at index-search-result.c:87 search_arg = {next = 0xd25b098, type = SEARCH_UIDSET, value = {subargs = 0x0, seqset = {arr = {buffer = 0xcebd640, element_size = 8}, v = 0xcebd640,
v_modifiable = 0xcebd640}, str = 0x0, time = 0, size = 0, flags = 0,
search_flags = 0, date_type = 0, thread_type = MAIL_THREAD_NONE, keywords
0x0, modseq = 0x0, search_args = 0x0, search_result = 0x0, mailbox_glob = 0x0}, context = 0x0, hdr_field_name = 0x0, not = 0, match_always = 0, nonmatch_always = 0, result = -1} ret = <value optimized out> __FUNCTION__ = "index_search_result_update_flags" #6 0x00002ba91276ac92 in virtual_sync_backend_box (ctx=0xdebcdb0, bbox=0xdcb8e38) at virtual-sync.c:725 sync_flags = <value optimized out> status = {messages = 121, recent = 0, unseen = 111, uidvalidity = 1225530594, uidnext = 182153, first_unseen_seq = 0, first_recent_uid = 182152, highest_modseq = 0, virtual_size = 0, keywords = 0x0, cache_fields = 0x0, nonpermanent_modseqs = 0} ret = <value optimized out> __FUNCTION__ = "virtual_sync_backend_box" #7 0x00002ba91276b661 in virtual_storage_sync_init (box=0xcf524c0, flags=MAILBOX_SYNC_FLAG_FIX_INCONSISTENT) at virtual-sync.c:1400 sync_ctx = <value optimized out> ret = <value optimized out> #8 0x00002ba911299b71 in mailbox_sync_init (box=0xcf524c0, flags=MAILBOX_SYNC_FLAG_FIX_INCONSISTENT) at mail-storage.c:947 _data_stack_cur_id = 0 ctx = <value optimized out> #9 0x00002ba91129a337 in mailbox_sync (box=0x1e2f, flags=7727) at mail-storage.c:993 ctx = <value optimized out> status = {sync_delayed_expunges = 0} #10 0x0000000000417602 in imap_status_get (cmd=0xcf00410, ns=0xcefccd0, mailbox=0xcebd330 "rapidsolution", items=0x7fffadba3a50, result_r=0x7fffadba39e0, error_r=0x7fffadba3a38) at imap-status.c:85 client = (struct client *) 0xceffca0 box = (struct mailbox *) 0x1e2f error = <value optimized out> ret = <value optimized out> #11 0x000000000040e763 in cmd_status (cmd=0xcf00410) at cmd-status.c:52 client = (struct client *) 0xceffca0 status = MAILBOX_NAME_EXISTS_MAILBOX args = (const struct imap_arg *) 0xcf02c68 list_args = (const struct imap_arg *) 0xcf02da8 items = {mailbox_items = 17, guid = 0} result = {status = {messages = 124, recent = 0, unseen = 0, uidvalidity = 1301953092, uidnext = 1, first_unseen_seq = 0, first_recent_uid = 0, highest_modseq = 0, virtual_size = 48005140525491, keywords = 0x0, cache_fields = 0x80, nonpermanent_modseqs = 0}, mailbox_guid = "{µW\021©+\000\000\200\000\000\000\000\000\000"} ns = <value optimized out> mailbox = 0xcf02d58 "virtual.rapidsolution" storage_name = 0xcebd330 "rapidsolution" error = <value optimized out> #12 0x000000000041055c in client_command_input (cmd=0xcf00410) at imap-client.c:672 client = (struct client *) 0xceffca0 command = <value optimized out> __FUNCTION__ = "client_command_input" #13 0x000000000041060d in client_command_input (cmd=0xcf00410) at imap-client.c:722 client = (struct client *) 0xceffca0 command = (struct command *) 0x6 __FUNCTION__ = "client_command_input" #14 0x0000000000410785 in client_handle_input (client=0xceffca0) at imap-client.c:763 _data_stack_cur_id = 3 ret = 54 remove_io = <value optimized out> handled_commands = false __FUNCTION__ = "client_handle_input" #15 0x00000000004111a2 in client_input (client=0xceffca0) at imap-client.c:814 cmd = <value optimized out> output = (struct ostream *) 0xcf00288 bytes = <value optimized out> __FUNCTION__ = "client_input" #16 0x00002ba911588e38 in io_loop_call_io (io=0xcf00320) at ioloop.c:384 ioloop = (struct ioloop *) 0xcec5620 t_id = 2 #17 0x00002ba911589dc2 in io_loop_handler_run (ioloop=<value optimized out>) at ioloop-epoll.c:213 ctx = (struct ioloop_handler_context *) 0xcec5850 event = (const struct epoll_event *) 0xcec58c0 list = (struct io_list *) 0xcf00370 io = (struct io_file *) 0x1e2f tv = {tv_sec = 4, tv_usec = 514891} msecs = <value optimized out> ret = <value optimized out> call = false #18 0x00002ba911588dc8 in io_loop_run (ioloop=0xcec5620) at ioloop.c:405 No locals. #19 0x00002ba911576c93 in master_service_run (service=0xcec54f0, callback=0x1e2f) at master-service.c:478 No locals. #20 0x0000000000419401 in main (argc=2, argv=0xcec5370) at main.c:375 service_flags = <value optimized out> storage_service_flags = <value optimized out> postlogin_socket_path = 0xcebd080 "/usr/local/var/run/dovecot/postlogin" username = 0x0 c = <value optimized out> set_roots = {0x41c680, 0x0}
Logfile: Apr 10 13:49:34 shrike dovecot: imap-login: Login: user=<matthias>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, mpid=14235, secured Apr 10 13:49:34 shrike dovecot: (null)Error: rawlog_open: open() failed for /home/matthias/dovecot.rawlog/20110410-134934-14237.in: Permission denied Apr 10 13:49:43 shrike dovecot: imap(matthias): Panic: file index-search-result.c: line 87 (search_result_update_search): assertion failed: (next_uid == mail->uid) Apr 10 13:49:43 shrike dovecot: imap(matthias): Error: Raw backtrace: /usr/local/lib/dovecot/libdovecot.so.0 [0x2b4df76ce762] -> /usr/local/lib/dovecot/libdovecot.so.0 [0x2b4df76ce7c6] -> /usr/local/lib/dovecot/libdovecot.so.0(i_error+0) [0x2b4df76cebb8] -> /usr/local/lib/dovecot/libdovecot-storage.so.0(index_search_result_update_flags+0x2d8) [0x2b4df7405018] -> /usr/local/lib/dovecot/lib20_virtual_plugin.so [0x2b4df88bbc92] -> /usr/local/lib/dovecot/lib20_virtual_plugin.so(virtual_storage_sync_init+0x871) [0x2b4df88bc661] -> /usr/local/lib/dovecot/libdovecot-storage.so.0(mailbox_sync_init+0x31) [0x2b4df73eab71] -> /usr/local/lib/dovecot/libdovecot-storage.so.0(mailbox_sync+0x27) [0x2b4df73eb337] -> dovecot/imap(imap_status_get+0x92) [0x417602] -> dovecot/imap(cmd_status+0x163) [0x40e763] -> dovecot/imap [0x41055c] -> dovecot/imap [0x41060d] -> dovecot/imap(client_handle_input+0x45) [0x410785] -> dovecot/imap(client_input+0x62) [0x4111a2] -> /usr/local/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x48) [0x2b4df Apr 10 13:49:43 shrike dovecot: master: Error: service(imap): child 14235 killed with signal 6 (core dumped)
# dovecot --version 2.0.11 (cef23de90ff1)
Matthias
Hi,
it's caused by a virtual folder:
INBOX.IBX.Folder1 INBOX.Ordner.Folder1 INBOX.Ordner.Folder1.* OR (OR (OR HEADER FROM bar.com HEADER FROM bar.de) HEADER FROM foo.com) HEADER FROM barfoos.net NOT HEADER FROM root@ NOT HEADER FROM www-data@ SINCE 1-Jan-2010
When I delete the dovecot.index.search* files it works for a while but fails again.
matthias
On Tue, 2011-04-12 at 14:52 +0200, Matthias Rieber wrote:
Hi,
it's caused by a virtual folder:
INBOX.IBX.Folder1 INBOX.Ordner.Folder1 INBOX.Ordner.Folder1.* OR (OR (OR HEADER FROM bar.com HEADER FROM bar.de) HEADER FROM foo.com) HEADER FROM barfoos.net NOT HEADER FROM root@ NOT HEADER FROM www-data@ SINCE 1-Jan-2010
When I delete the dovecot.index.search* files it works for a while but fails again.
Are you still getting these crashes? I tried to reproduce but couldn't.
participants (2)
-
Matthias Rieber
-
Timo Sirainen