Crash when moving mail from Inbox to Trash
Hi, I am developing a dovecot plugin, and inside my plugin I am implementing my own expunge function. Inside my function, I am calling the following lines of code: if (storage->v.mail_open(mail, &offset, &mail->open_file) < 0) return -1; The mail_open virtual function is an invalid address. The storage should be mdbox however, it seems that it didn't get the correct mdbox_mail_open of mdbox-storage. Do you have any suggestions as to why this is happening? dovecot version:2.3.7 (a3d493f) Sincerely,Marvin
dovecot/imap crashes on Centos 7
Hi All, I have my dovecot/imap crashing on my Centos7 server. Below is the stacktrace I got: #0 0x7f32d9b84e58 in array_count_i (array=0x55b332a1f8f8) at array.h:155 No locals. #1 array_get_i (count_r=, array=0x55b332a1f8f8) at array.h:209 No locals. #2 seq_range_lookup (array=0x55b332a1f8f8, seq=7715, idx_r=0x7ffe5d719574) at seq-range-array.c:14 data = idx = left_idx = right_idx = count = #3 0x7f32d9b859ae in seq_range_exists (array=array@entry=0x55b332a1f8f8, seq=seq@entry=7715) at seq-range-array.c:391 idx = 32766 #4 0x7f32d9e4b3d9 in mailbox_search_result_add (result=result@entry=0x55b332a1f8e0, uid=7715) at mailbox-search-result.c:121 __FUNCTION__ = "mailbox_search_result_add" #5 0x7f32d9eb0f30 in index_search_result_update_appends (result=result@entry=0x55b332a1f8e0, old_messages_count=) at index-search-result.c:168 t = 0x55b332a417d0 search_ctx = 0x55b332a1a580 mail = 0x55b332ae8e58 search_arg = {next = 0x55b332a7c0a0, type = SEARCH_SEQSET, value = {subargs = 0x0, seqset = { arr = {buffer = 0x55b3329da360, element_size = 8}, v = 0x55b3329da360, v_modifiable = 0x55b3329da360}, str = 0x0, time = 0, size = 0, flags = 0, search_flags = (unknown: 0), date_type = 0, thread_type = MAIL_THREAD_NONE, modseq = 0x0, search_result = 0x0, mime_part = 0x0}, initialized = {search_args = 0x0, keywords = 0x0, mailbox_glob = 0x0}, context = 0x0, hdr_field_name = 0x0, match_not = 0, match_always = 0, nonmatch_always = 0, fuzzy = 0, no_fts = 0, result = -1} message_count = 160 ret = __FUNCTION__ = "index_search_result_update_appends" #6 0x7f32d9ebbc37 in search_result_update (result=0x55b332a1f8e0, ctx=0x55b332a2ed90) at index-sync-search.c:78 No locals. #7 index_sync_search_results_update (ctx=ctx@entry=0x55b332a2ed90) at index-sync-search.c:88 results = 0x55b332a3b4a0 i = count = #8 0x7f32d9ebc4b4 in index_mailbox_sync_deinit (_ctx=0x55b332a2ed90, status_r=0x55b332a1f858) at index-sync.c:353 ctx = 0x55b332a2ed90 sync_rec = {seq1 = 0, seq2 = 0, type = MAILBOX_SYNC_TYPE_EXPUNGE} delayed_expunges = true ret = #9 0x7f32d9e9e400 in mailbox_list_index_sync_deinit (ctx=0x55b332a2ed90, status_r=0x55b332a1f858) at mailbox-list-index.c:976 ibox = 0x55b332a3f990 box = 0x55b332a3b098 #10 0x7f32d9e3b568 in mailbo
Panic alert
Hi, I am getting a panic alert when sending an email in my box. Below is the backtrace: /usr/lib64/dovecot/libdovecot.so.0(+0x9f3de) [0x7fa90b5543de] -> /usr/lib64/dovecot/libdovecot.so.0(+0x9f4be) [0x7fa90b5544be] -> /usr/lib64/dovecot/libdovecot.so.0(i_fatal+0) [0x7fa90b4e577c] -> /usr/lib64/dovecot/libdovecot-storage.so.0(mail_search_args_unref+0xa2) [0x7fa90b827c82] -> /usr/lib64/dovecot/libdovecot-storage.so.0(mailbox_search_result_free+0x7a) [0x7fa90b84029a] -> /usr/lib64/dovecot/libdovecot-storage.so.0(mail_thread_init+0x128) [0x7fa90b8b2e88] -> /usr/lib64/dovecot/libdovecot-storage.so.0(index_storage_search_init+0x471) [0x7fa90b8a78a1] -> /usr/lib64/dovecot/lib20_virtual_plugin.so(virtual_search_init+0x23) [0x7fa90a0ac3d3] -> /usr/lib64/dovecot/libdovecot-storage.so.0(index_search_result_update_flags+0x11f) [0x7fa90b8a4f8f] -> /usr/lib64/dovecot/libdovecot-storage.so.0(index_sync_search_results_update+0x5b) [0x7fa90b8afe9b] -> /usr/lib64/dovecot/libdovecot-storage.so.0(index_mailbox_sync_deinit+0x1a4) [0x7fa90b8b0724] -> /usr/lib64/dovecot/libdovecot-storage.so.0(+0xaa03f) [0x7fa90b89103f] -> /usr/lib64/dovecot/libdovecot-storage.so.0(mailbox_sync_deinit+0x38) [0x7fa90b830cb8] -> dovecot/imap(+0x27111) [0x564ec6db6111] -> dovecot/imap(imap_sync_more+0x10d) [0x564ec6db6ccd] -> dovecot/imap(+0x28356) [0x564ec6db7356] -> dovecot/imap(cmd_sync_delayed+0x1f4) [0x564ec6db7814] -> dovecot/imap(client_handle_input+0x218) [0x564ec6daa968] -> dovecot/imap(client_input+0x85) [0x564ec6daae05] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_call_io+0x52) [0x7fa90b569cd2] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0x10f) [0x7fa90b56b3bf] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_handler_run+0x3c) [0x7fa90b569d6c] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_run+0x38) [0x7fa90b569f28] -> /usr/lib64/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7fa90b4effa3] -> dovecot/imap(main+0x333) [0x564ec6d9d2e3] -> /lib64/libc.so.6(__libc_start_main+0xf5) [0x7fa90b10a445] -> dovecot/imap(+0xe476) [0x564ec6d9d476] Dovecot version: 2.2.33.2 I would like to ask help on what is happening here. I found in the code that the trigger is in plugins/virtual/virtual-sync.c virtual_sync() call. When does this actually being called? Thank you very much! Regards,Marvin Alcantara