On Jan 9, 2022, at 22:35, Aki Tuomi aki.tuomi@open-xchange.com wrote:
On 10/01/2022 05:32 Bert JW Regeer xistence@0x58.com wrote:
Hello,
I have dovecot 2.3.17 running on FreeBSD 12.2 and it keeps panicking:
Jan 10 03:04:07 strida dovecot[55198]: imap(xistence@0x58.com)<56382><dx4KlzHVQecmAQKCQwA50VytdgLnsQSr>: Panic: file array.c: line 10 (array_idx_modifiable_i): assertion failed: (idx < array->buffer->used / array->element_size) Jan 10 03:04:07 strida dovecot[55198]: imap(xistence@0x58.com)<56382><dx4KlzHVQecmAQKCQwA50VytdgLnsQSr>: Fatal: master: service(imap): child 56382 killed with signal 6 (core not dumped - https://dovecot.org/bugreport.html#coredumps)
Ignore the core not dumped, this is happening over and over, and I got one process to core dump:
# lldb /usr/local/libexec/dovecot/imap -c imap.core (lldb) target create "/usr/local/libexec/dovecot/imap" --core "imap.core" Core file '/usr/local/vmail/domains/0x58.com/xistence/imap.core' (x86_64) was loaded. (lldb) bt
- thread #1, name = 'imap', stop reason = signal SIGABRT
- frame #0: 0x0000000011588c2a libc.so.7
__sys_thr_kill + 10 frame #1: 0x0000000011587084 libc.so.7
__raise + 52 frame #2: 0x00000000114fd279 libc.so.7abort + 73 frame #3: 0x00000000113736f3 libdovecot.so.0
___lldb_unnamed_symbol873$$libdovecot.so.0 + 147 frame #4: 0x0000000011371eaf libdovecot.so.0___lldb_unnamed_symbol862$$libdovecot.so.0 + 47 frame #5: 0x0000000011372c71 libdovecot.so.0
___lldb_unnamed_symbol864$$libdovecot.so.0 + 33 frame #6: 0x00000000113720bb libdovecot.so.0i_panic + 187 frame #7: 0x0000000011363d3f libdovecot.so.0
array_idx_modifiable_i + 79 frame #8: 0x0000000011ef7c68 lib20_fts_plugin.softs_user_autoindex_exclude + 72 frame #9: 0x0000000011ef550f lib20_fts_plugin.so
fts_mailbox_allocated + 239 frame #10: 0x000000001113ed5a libdovecot-storage.so.0hook_mailbox_allocated + 154 frame #11: 0x00000000111381e1 libdovecot-storage.so.0
mailbox_alloc + 449 frame #12: 0x0000000001043db4 imapcmd_select_full + 356 frame #13: 0x000000000104c582 imap
command_exec + 178 frame #14: 0x000000000104ae8a imap___lldb_unnamed_symbol58$$imap + 58 frame #15: 0x000000000104af91 imap
___lldb_unnamed_symbol58$$imap + 321 frame #16: 0x00000000010499e7 imapclient_handle_input + 471 frame #17: 0x0000000001048178 imap
client_input + 120 frame #18: 0x000000001138ca9f libdovecot.so.0io_loop_call_io + 111 frame #19: 0x000000001138f45b libdovecot.so.0
io_loop_handler_run_internal + 347 frame #20: 0x000000001138cffa libdovecot.so.0io_loop_handler_run + 346 frame #21: 0x000000001138ce58 libdovecot.so.0
io_loop_run + 88 frame #22: 0x00000000112f11c8 libdovecot.so.0master_service_run + 24 frame #23: 0x000000000105a417 imap
main + 1383 frame #24: 0x000000000103bed2 imap`_start + 226 (lldb) ^DI was able to generate a core dump by issue a doveadm command too:
(lldb) bt
- thread #1, name = 'doveadm', stop reason = signal SIGABRT
- frame #0: 0x00000008017b1c2a libc.so.7
__sys_thr_kill + 10 frame #1: 0x00000008017b0084 libc.so.7
__raise + 52 frame #2: 0x0000000801726279 libc.so.7abort + 73 frame #3: 0x000000080159c6f3 libdovecot.so.0
___lldb_unnamed_symbol873$$libdovecot.so.0 + 147 frame #4: 0x000000080159aeaf libdovecot.so.0___lldb_unnamed_symbol862$$libdovecot.so.0 + 47 frame #5: 0x000000080159ae71 libdovecot.so.0
default_fatal_handler + 33 frame #6: 0x000000080159b0bb libdovecot.so.0i_panic + 187 frame #7: 0x000000080158cd3f libdovecot.so.0
array_idx_modifiable_i + 79 frame #8: 0x0000000802236c68 lib20_fts_plugin.softs_user_autoindex_exclude + 72 frame #9: 0x000000080223450f lib20_fts_plugin.so
fts_mailbox_allocated + 239 frame #10: 0x0000000801367d5a libdovecot-storage.so.0hook_mailbox_allocated + 154 frame #11: 0x00000008013611e1 libdovecot-storage.so.0
mailbox_alloc + 449 frame #12: 0x000000080222d5fc lib20_fts_plugin.softs_backend_rescan + 60 frame #13: 0x000000080227c1a3 lib20_doveadm_fts_plugin.so
___lldb_unnamed_symbol15$$lib20_doveadm_fts_plugin.so + 99 frame #14: 0x000000000107172f doveadm___lldb_unnamed_symbol134$$doveadm + 479 frame #15: 0x000000000107252c doveadm
doveadm_cmd_ver2_to_mail_cmd_wrapper + 2492 frame #16: 0x0000000001083c98 doveadmdoveadm_cmd_run_ver2 + 1416 frame #17: 0x00000000010836d7 doveadm
doveadm_cmd_try_run_ver2 + 71 frame #18: 0x0000000001086da3 doveadmmain + 835 frame #19: 0x000000000105fa92 doveadm
_start + 226 (lldb)doveadm fts rescan -u xistence@0x58.com
doveadm(xistence@0x58.com): Panic: file array.c: line 10 (array_idx_modifiable_i): assertion failed: (idx < array->buffer->used / array->element_size) Abort (core dumped)
# dovecot-sysreport Gathering configurations ... grep: The -P option is not supported grep: The -P option is not supported grep: The -P option is not supported Gathering system informations ... Creating archive ... All done! Please report file dovecot-sysreport-strida.0x58.com-1641784164.tar.gz Removing temp files at /tmp/tmp.z5qJkwrW …
While reading about fts/fts_squat I came across the page noting it was deprecated. I am running a mail server for myself, and have avoided installing Solr this entire time, but I guess its time to upgrade.
In the mean time hopefully this core dump can help figure out what is going on.
Bert JW Regeer
Hi!
This is because fts_squat is not calling fts_mail_user_init. This is a bug, just not sure if it is going to get fixed with fts_squat being deprecated, so it would be best to migrate to something newer, like fts_flatcurve.
Aki
Thanks for the response Aki!
Is there a big difference between:
https://github.com/grosjo/fts-xapian https://github.com/grosjo/fts-xapian
And
https://github.com/slusarz/dovecot-fts-flatcurve https://github.com/slusarz/dovecot-fts-flatcurve (do note that it is not compatible with the latest Dovecot 2.3.17 release: https://github.com/slusarz/dovecot-fts-flatcurve/issues/17 https://github.com/slusarz/dovecot-fts-flatcurve/issues/17)
Is there a preference to use one over the other? The former is available on my platform as a package, whereas the latter is not. I’d have to package it myself.
Thanks, Bert JW Regeer