Dovecot 2.3.17 on FreeBSD 12.2 panic
Bert JW Regeer
xistence at 0x58.com
Mon Jan 10 05:46:25 UTC 2022
> On Jan 9, 2022, at 22:35, Aki Tuomi <aki.tuomi at open-xchange.com> wrote:
>
>
>> On 10/01/2022 05:32 Bert JW Regeer <xistence at 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 at 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 at 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.7`abort + 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.0`i_panic + 187
>> frame #7: 0x0000000011363d3f libdovecot.so.0`array_idx_modifiable_i + 79
>> frame #8: 0x0000000011ef7c68 lib20_fts_plugin.so`fts_user_autoindex_exclude + 72
>> frame #9: 0x0000000011ef550f lib20_fts_plugin.so`fts_mailbox_allocated + 239
>> frame #10: 0x000000001113ed5a libdovecot-storage.so.0`hook_mailbox_allocated + 154
>> frame #11: 0x00000000111381e1 libdovecot-storage.so.0`mailbox_alloc + 449
>> frame #12: 0x0000000001043db4 imap`cmd_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 imap`client_handle_input + 471
>> frame #17: 0x0000000001048178 imap`client_input + 120
>> frame #18: 0x000000001138ca9f libdovecot.so.0`io_loop_call_io + 111
>> frame #19: 0x000000001138f45b libdovecot.so.0`io_loop_handler_run_internal + 347
>> frame #20: 0x000000001138cffa libdovecot.so.0`io_loop_handler_run + 346
>> frame #21: 0x000000001138ce58 libdovecot.so.0`io_loop_run + 88
>> frame #22: 0x00000000112f11c8 libdovecot.so.0`master_service_run + 24
>> frame #23: 0x000000000105a417 imap`main + 1383
>> frame #24: 0x000000000103bed2 imap`_start + 226
>> (lldb) ^D
>>
>>
>> I 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.7`abort + 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.0`i_panic + 187
>> frame #7: 0x000000080158cd3f libdovecot.so.0`array_idx_modifiable_i + 79
>> frame #8: 0x0000000802236c68 lib20_fts_plugin.so`fts_user_autoindex_exclude + 72
>> frame #9: 0x000000080223450f lib20_fts_plugin.so`fts_mailbox_allocated + 239
>> frame #10: 0x0000000801367d5a libdovecot-storage.so.0`hook_mailbox_allocated + 154
>> frame #11: 0x00000008013611e1 libdovecot-storage.so.0`mailbox_alloc + 449
>> frame #12: 0x000000080222d5fc lib20_fts_plugin.so`fts_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 doveadm`doveadm_cmd_run_ver2 + 1416
>> frame #17: 0x00000000010836d7 doveadm`doveadm_cmd_try_run_ver2 + 71
>> frame #18: 0x0000000001086da3 doveadm`main + 835
>> frame #19: 0x000000000105fa92 doveadm`_start + 226
>> (lldb)
>>
>> # doveadm fts rescan -u xistence at 0x58.com
>> doveadm(xistence at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://dovecot.org/pipermail/dovecot/attachments/20220109/a510cdb8/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Message signed with OpenPGP
URL: <https://dovecot.org/pipermail/dovecot/attachments/20220109/a510cdb8/attachment-0001.sig>
More information about the dovecot
mailing list